标签 NFS 下的文章

需求:
storage 作为共享存储,mgmt和node1-node4为NFS客户端。

1,格式化并正确挂载存储,编辑fstab,实现开机自动挂载。

查看挂载目录

65316-do6ptat7i3q.png

实现开机自动挂载

26031-xucshzovxgd.png

2,安装NFS软件包,RHEL7和Centos7已经默认安装nfs和rpcbind。

yum install -y nfs-utils rpcbind

82322-qfzsmr8pvdk.png

3,配置NFS目录的导出策略

用于配置NFS服务程序配置文件的参数

65400-z29kxsatqli.png

编辑 /etc/exports

/data 192.168.80.1/23(rw,sync,no_root_squash)

05458-pd0ki9y4c5s.png

4,禁用防火墙,启动rpcbind和nfs服务,并加入开机自启。

由于在使用NFS服务进行文件共享之前,需要使用RPC(Remote Procedure Call,远程过程调用)服务将NFS服务器的IP地址和端口号等信息发送给客户端。因此,在启动NFS服务之前,还需要顺带重启并启用rpcbind服务程序,并将这两个服务一并加入开机启动项中。

如果操作系统禁用了IPV6,还需要如下操作:

编辑/etc/systemd/system/sockets.target.wants/rpcbind.socket,用#注释掉ListenStream=[::]:111这一行,rpcbind默认一起监听ipv4和ipv6,我在系统下禁用了ipv6,不删除的话,rpcbind不会启动

70216-i6pw0k4rpyd.png

systemctl daemon-reload
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
systemctl stop firewalld
systemctl disable firewalld

如果有要求,不能禁用防火墙,那么就需要固定NFS使用的端口

echo -e "fs.nfs.nlm_tcpport=30002\nfs.nfs.nlm_udpport=30002" >> /etc/sysctl.conf
echo -e "MOUNTD_PORT=30003\nSTATD_PORT=30004" >> /etc/sysconfig/nfs
systctl -p

查看下端口使用情况

rpcinfo -p

87262-dd1p1b8cqld.png

在防火墙的TCP和UDP规则中放行 111 2049 30002 30003 30004

如何在Linux下放行端口,参考我的这篇文章CentOS7使用firewalld打开关闭防火墙与端口

5,查看nfs目录是否导出成功
storage服务器查看

showmount -e

44279-l0bmjfilpfd.png

客户端上查看

showmount -e 192.168.80.146

20691-vff17nujsp.png

6,客户端挂载NFS目录并测试

systemctl start nfs
systemctl enable nfs
mkdir /data
mount -t nfs 192.168.80.146:/data /data

70241-dirl4pea5dn.png

58448-6ftzpt7mtn3.png

7,开机自动挂载

编辑 /etc/fstab

87040-76h87g1oida.png

说明: defaults后面的“_netdev”说明只是限制网络设备,只挂载一次。