NFS配置及开机自动挂载

环境:RedHat / Centos 6或者7

服务端:192.168.163.128 (拥有一块大磁盘)
客户端:192.168.163.131

背景:解决多个服务器之间数据共享

  1. 环境检查:

客户端和服务端都要安装

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:/服务器目录      客户端挂载目录

posted @ 2022-03-06 16:00  つつつつつつ  阅读(2642)  评论(2编辑  收藏  举报