NFS配置及开机自动挂载
环境:RedHat / Centos 6或者7
服务端:192.168.163.128 (拥有一块大磁盘)
客户端:192.168.163.131
背景:解决多个服务器之间数据共享
- 环境检查:
客户端和服务端都要安装
1、检查服务器是否安装nfs服务
rpm -q nfs-utils
2、如果没有安装的话执行
服务器和客户机都要安装 nfs 和 rpcbind 软件包
yum install -y nfs-utils (安装nfs rpcbind会自动安装)
3、启动rpcbind
# 查看状态
systemctl status rpcbind.service
# 查看开机自启状态
systemctl list-unit-files | grep rpcbind.service
# 启动
systemctl start rpcbind.service
# 设置开机自启
systemctl enable rpcbind.service
# 停止
systemctl stop rpcbind.service
# 关闭开机自启
systemctl disable rpcbind.service
4、启动nfs
# 查看状态
systemctl status nfs.service
# 查看开机自启状态
systemctl list-unit-files | grep nfs.service
# 启动
systemctl start nfs.service
# 设置开机自启
systemctl enable nfs.service
# 停止
systemctl stop nfs.service
# 关闭开机自启
systemctl disable nfs.service
配置步骤:
1、在服务端编辑 /etc/exports 加入客户端访问权限
/nfsdir 192.168.163.131(rw,no_root_squash)
备注:假设/nfsdir为你要设置的nfs共享的目录, 这个是要自己新建的 192.168.163.131 换成*就是所有能连接的机器都可以
2、重启nfs
service nfs restart
3、客户端操作:
mount -t nfs 192.168.163.128:/nfsdir /nfsdir
4、执行第三步长时间没反应的话请关闭服务端的防火墙。
1 查看防火墙状态:(需要首先确认)
systemctl status firewalld
2 开启防火墙:
systemctl start firewalld
3 关闭防火墙:
systemctl stop firewalld
5、验证,在服务端的/nfsdir创建文件,看客户端是否能读取, 比如服务端 touch demo.txt 然后去客户端 ls。
开机自动挂载:
如果服务端或客户端的服务器重启之后需要手动挂载,我们可以加入到开机自动挂载
在客户端/etc/fstab里添加
192.168.163.128:/nfsdir /nfsdir nfs defaults,_rnetdev 0 0
备注:第1个1表示备份文件系统,第2个1表示从/分区的顺序开始fsck磁盘检测,0表示不检测。
_rnetdev 表示主机无法挂载直接跳过,避免无法挂载主机无法启动
备注:
当在服务器运行df -h 卡死的时候,很有可能是nfs的原因。
1、在客户端找到挂载的服务器的ip及挂载目录
cat /etc/mtab
2、进入服务器查看/etc/export查看服务器都挂载了那些客户端或通过 showmount -e 服务端IP 来查看客户端挂载的目录。
3、重启nfs
service nfs restart
4、现在客户端就可以操作了,先卸载之前的挂载
umount /opt/test
5、重新挂载
mount -t nfs 服务器IP:/服务器目录 客户端挂载目录