Centos7 nfs 使用填坑记录
填坑:
一、df -h 查看挂载已经完成,但是目录下没有文件
一定要注意,在NFS客户端挂载/卸载NFS服务端目录的时候一定要事先退出挂载目录!挂载/卸载目录之后,再进入挂载目录查看结果!
二、nfs挂载后umount不掉
使用fuser -mv -k /opt/aa 先杀死使用该目录的所有进程,然后在执行卸载操作
fuser -mv -k /opt/aa
umount /opt/aa
并且exports文件有为no_root_squash
三、showmount -e 命令报错 clnt_create: RPC: Port mapper failure - Timed out
1)关闭防火墙 systemctl stop firewalld
2)关闭SELinux setenforce 0
3)如果用的腾讯云或阿里云请在安全组里面开启端口
四、配置NFS固定端口
NFS启动时会随机启动多个端口并向RPC注册,为了设置安全组以及iptables规则,需要设置NFS固定端口。
NFS服务需要开启 mountd,nfs,nlockmgr,portmapper,rquotad这5个服务,其中nfs、portmapper的端口是固定的,另外三个服务的端口是随机分配的,所以需要给mountd,nlockmgr,rquotad设置固定的端口。
1)其中,给mountd、rquotad设置端口的方式很简单,在/etc/sysconfig/nfs中添加一下设置即可:
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004
2)重启rpc、nfs的配置与服务:
systemctl restart rpcbind.service
systemctl restart nfs.service
3)还需在/etc/modprobe.d/lockd.conf中添加以下设置:
options lockd nlm_tcpport=30002
options lockd nlm_udpport=30002
重新加载NFS配置和服务:
systemctl restart nfs-config
systemctl restart nfs-idmap
systemctl restart nfs-lock
systemctl restart nfs-server
查看端口使用情况:
rpcinfo -p
服务器(192.168.0.10):
一、安装 NFS 服务器所需的软件包:
yum install -y nfs-utils
二、使用 rpm -qa nfs-utils 查看是否安装成功
三、编辑exports文件,添加从机(修改了exports需要重启nfs服务 systemctl restart nfs)
vim /etc/exports
/home/nfs/ 192.168.0.0/24(rw,sync,no_root_squash)
配置文件/etc/exports参数讲解:
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有读写权限
root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash 客户机用root访问该共享文件夹时,映射root用户,不安全,不建议使用
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
anonuid 将客户机上的用户映射成指定的本地用户ID的用户
anongid 将客户机上的用户映射成属于指定的本地用户组ID
sync 资料同步写入到内存与硬盘中
async 资料会先暂存于内存中,而非直接写入硬盘
insecure 允许从这台机器过来的非授权访问
启动nfs后又修改了/etc/exports,不用重启该服务,使用exports命令即可:
/usr/sbin/exportfs -rv
四、启动rpc nfs服务
systemctl start rpcbind
systemctl start nfs
设置开机启动
systemctl enable rpcbind
systemctl enable nfs
systemctl enable nfs
五、showmount -e 检查
客户端(192.168.0.11):
一、yum -y intall nfs-utils (客户端上不需要启动nfs服务,只是为了使用showmount工具)
二、启动rpc nfs服务
systemctl start rpcbind
三、showmount -e 192.168.0.10 检查
四、挂载
手动挂载至本地/opt/aa目录
mount -t nfs 192.168.0.10:/opt/wwwroot/ /opt/aa
自动挂载(生产环境不建议自动挂载,如果服务器异常会导致客户端启动不起来)
vim /etc/fstab
192.168.0.10:/opt/wwwroot /opt/aa nfs rw,_netdev 0 0