NFS配置及远程挂载
NFS简介
NFS是Network File System的简写,即网络文件系统。NFS最早是由 Sun Microsystems 公司开发,并于1984年推出。NFS 是一种可分散式的网络文件系统,可以通过网络(一个局域网)使不同的机器、不同的操作系统,能够共享目录和文件,使客户端能通过网络访问并分享文件到位于服务端的磁盘中。NFS的客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务器共享的数据目录挂载到NFS客户端本地系统中(就是某一个关在点下),从客户端本地看,NFS服务器端共享目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端的NFS服务器的目录。
NFS网络文件系统很像Windows系统的网络共享、安全功能、网络驱动器映射,这也和linux的samba服务类似,只不过一般情况下,Windows网络共享服务或samba服务用户办公局域网共享,而互联网中小型网站集群架构后端常用NFS进行数据共享,若是大型网站,那么有可能还会用到更复杂的分布式文件系统Moosefs(mfs)、GlusterFS。NFS在文件传送或信息传送过程中依赖于RPC协议。RPC负责负责信息的传输。
一、环境和需求
环境:CentOS 7.5 ,安装过程中software selection选择Minimal install;
软件版本:nfs-utils-1.3.0-0.54.el7.x86_64
共三台主机,每台主机各挂接有一个4TB数据盘,挂载点在/data1;
主机名:HOST1,IP:192.168.1.11
主机名:HOST2,IP:192.168.1.12
主机名:HOST3,IP:192.168.1.13
需求:解决多台服务器之间数据盘的内容相互共享
二、服务器校准时间
如果显示是+0800,就是北京时间;
3 、如果ntp服务并未安装,则先安装后再执行上述命令:
yum install -y ntp
4、开启ntp同步命令:
systemctl enable ntpd
systemctl start ntpd
三、服务器的NFS服务端配置
1、检查nfs软件是否安装
安装nfs组件,已安装的跳过;服务端和客户端需要的环境一样
2、根据需要修改NFS的配置文件 /etc/exports (默认是空文件),此处要注意三台服务器开放的ip限制有区别,除了exports文件外,其他配置完全一样;
3、配置端口
因 nfslock 服务会自动开启 rpc.statd,无需做设置;在rpcinfo -p 映射中,rpc.statd 对应 status ,后续再次修改端口后重启服务使配置生效的
修改 /etc/modprobe.d/lockd.conf 文件。Network Lock Manager (NLM),对应是 nlockmgr
4、开启NFS服务,设置服务开机自启动,按顺序先 rpcbind 后 nfs
查看共享是否成功
或用exportfs -arv命令,重新使配置文件生效,并显示生效内容
查看服务对应端口的命令
显示 running 则加上放行规则,否则跳过
待验证
四、服务器的NFS客户端配置
1、创建挂载目录(三台客户端各有不同)
2、客户端远程目录的挂载,将挂载配置写入fstab文件(三台客户端各有不同)
3、在客户端分别执行,让修改fstab后的挂载生效,
至此,NFS配置已经完成,如打开共享目录写入报错 Permission denied ,请根据需求和安全原则修正对应源目录写入的权限(详见下面补充说明)
1、NFS服务需要安装的软件包
在安装完 nfs-utils 后会自动创建 nfsnobody 用户
2、查NFS服务是否在运行
3、查看NFS版本
服务器端使用:nfsstat -s
客户端使用:nfsstat -c
5、查看 rpc 的端口映射
6、NFS的常用目录
7、NFS的主要配置文件 /etc/exports 的内容格式
例如
表示共享服务器上的根目录(/)只有user01和user02两台主机可以访问,且有读写权限;user01主机用root用户身份访问时,将客户机的root用户映射成服务器上的匿名用户(root_squash,该参数为缺省参数),相当于在服务器使用nobody用户访问目录;user02主机用root用户身份访问该共享目录时,不映射root用户(no_root_squash),即相当于在服务器上用root身份访问该目录。在配置文件中,使用了no_root_squash ,所以root用户不受约束,在 user02 机器上到挂载点下,到共享目录下,就可以像在本地磁盘使用root用户一样,是不受限制的(通常情况下,不限制root用户的比较多,要注意安全问题)
表示共享服务器上的/root/share/目录只有192.168.1.2主机可以访问,且有读写权限;此主机用任何身份访问时,将客户机的用户都映射成服务器上的匿名用户(all_squash),相当于在服务器上用nobody用户访问该目录(若客户机要在该共享目录上保存文件(即写操作),则服务器上的nobody用户对该目录必须有写的权限)
表示共享/home/ylw/目录,*.test.com域中所有的主机都可以访问该目录,且有读写权限
8、exportfs命令详解
- exportfs命令和nfs-utils这个包一起安装的
- 例子:
- 假设在第一次配置 nfs 的共享目录,之后需要新增、更改某些机器或共享的目录;
- 首先需要更改配置文件,然后重启NFS服务,但如果远程客户端正在使用NFS服务,正在挂载着,如果你需要先停止nfs服务,那远程的客户端就会挂起,就会很大的影响,造成服务异常,进程异常,有很大可能导致系统坏掉
- nfs服务不能随便重启,要重启,就需要先去服务器上,把挂载的目录卸载下来
- 在卸载目录的时候,若是在当前目录下去卸载会提示 umount.nfs4: /mnt: device is busy
- 方法一:退出该目录后,再去卸载
- 方法二:在目录下卸载的时候,加 -l 选项,表示 lazy 懒惰的意思
- 在卸载目录后,在重启nfs服务
- 在卸载目录的时候,若是在当前目录下去卸载会提示 umount.nfs4: /mnt: device is busy
- 若是挂载了很多台机器,那么每台机器都需要去卸载,就会很麻烦,降低了工作效率
- 方法:使用exportfs命令,重新加载下
- 方法:使用exportfs命令,重新加载下
- exportfs命令
- -a 全部挂载或者全部卸载,全部挂载或卸载 /etc/exports中的内容
- -r 重新挂载,重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
- -u 卸载某一个目录,和-a一起使用,是卸载所有/etc/exports文件中的目录
- -v 显示共享目录,在export的时候,将详细的信息输出到屏幕上。
例一、在NFS服务端上修改 /etc/exports ,增加某个共享目录后
用 exportfs 不用重启nfs服务,使改动立刻生效
9、showmount 命令用于查询NFS服务器
10、关于权限的分析
11、客户端手动挂载
挂载NFS,默认情况下只有 root 可以去挂载,普通用户可以执行sudo
挂载成功后,可用如下命令查看
如需卸载nfs,命令如下
参考:
到此这篇nfs客户端开放端口(nfs 端口)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-yjs/61226.html