一、nfs服务端配置
操作步骤
(1)安装软件(nfs-utils.x86_64 1:1.3.0-0.54.el7/rpcbind-0.2.0-44.el7.x86_64)
#yum -y install nfs-utils rpcbind
#rpm -qa | grep nfs-utils rpcbind
(2)添加共享账户
#useradd -u 1003 tom
(3)创建共享目录
#mkdir /var/{web,cloud}
(4)修改权限
#chmod a+w /var/web
(5)设置NFS共享配置文件
# cat /etc/exports
/var/web/ 192.168.0.0(rw,async,no_root_squash)
/var/cloud/ *(ro,sync)
(6)启动共享服务
#systemctl restart nfs
#systemctl enable nfs
#netstat -ntulp | grep 2049
二、nfs客户端配置
(1)查看服务端共享的目录
#showmount -e 192.168.1.61
(2)创建挂载点与用户
#mkdir /webdata
#useradd -u 1003 tom
(3)挂载
#vim /etc/fstab
192.168.1.61:/var/web /webdata nfs defaults 0 0
(4)切换用户测试
#su - tom
#cd /var/web
#touch test.txt
三、NFS属性及含义
(1)ro(只读共享)
(2)rw(可读可写共享)
(3)sync(同步写操作)
(4)async(异步写操作)
(5)wdelay(延迟写操作)
(6)root_squash(屏蔽远程root权限)
(7)no_root_squash(不屏蔽远程root权限)
(8)all_squash(屏蔽所有远程用户的权限)
四、常见问题解析
(1)权限问题
在/etc/exports配置文件中设置共享目录为可读写时,却忘记了修改相应的系统层面的文件及目录的权限,导致客户端实际挂在时没有写权限,系统提示信息为"Permission denied",在对配置文件设置写权限后一定要修改相关的文件及目录的写权限.
另外,默认客户端使用root访问NFS共享进行写操作时,服务器会自动把root转换为服务器本机的nfsnobody账户,这会导致root无法进行相应的操作,如果要保留root的权限则在配置文件中添加no_root_squash选项
(2)rpcbind问题
在没有启动rpcbind的情况下,启动nfs服务时系统会报错:NFS mountd、rpc.rquotad、rpc.nfsd无法启动,以为这些服务都依赖与于rpcbind,所以先确保rpcbind服务启动后在开启nfs服务.
通过rpcinfo -p可以查看基于RPC协议的服务是否成功与rpcbind通信,并注册信息
[root@se1 ~]# rpcinfo -p
program vers proto port service
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
在工作环境中,当客户端需要使用NFSv3版本挂载以满足兼容性要求时,则需要使用nfsvers选项设置特定的版本信息,并且在/etc/fstab文件中也需要进行相应的操作
vim /etc/fstab
192.168.1.61:/var/web /webdata nfs defaults,nfsvers=3 0 0
(4)挂载错误
系统提示No such file or directory,说明服务器上没有相应的挂载点目录,检查目录及名称是否正确
(5)防火墙错误
系统提示mount:mount to NFS server '192.168.1.61em Error: No route to host',这说明nfs服务的默认端口2049被防火墙屏蔽,则需要修改防火墙的规则开放2049端口
NFS文件共享
最新推荐文章于 2024-07-22 19:32:46 发布