NFS配置
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
一、服务端配置
server端IP地址:
192.168.237.6
安装nfs服务
yum install -y nfs-utils
在之前的版本中,是需要安装portmap包的,从centos6开始就改为rpcbind包了,它会在yum安装nfs-utils的时候一并安装。
nfs的配置文件在/etc/exports中添加如下内容:
/data/www 192.168.237.0/24(rw,sync,all_squash,anonuid=1004,anongid=1004)
说明:
- /data/www:表示共享的目录;
- 192.168.237.0/24:为共享的IP端;
- rw:表示读写权限;
- ro:表示只读;
- sync:表示同步模式;
- async:非同步模;
- no_root_squash:表示root用户对共享目录拥有至高的控制权限;
- root_squash:表示root用户对共享目录的权限不高,只有普通用户的权限;
- all_squash:表示不管使用NFS的用户是谁,都会被限定为一个用户;
- anonuid和anongid分别为限定的uid和gid,需要提前准备。
加入开机启动:
systemctl enable nfs
然后启动NFS服务:
systemctl start rpcbind
systemctl start nfs
二、客户端配置
安装服务
yum install -y nfs-utils
查看服务端共享的目录:
showmount -e 192.168.237.6
如果收到错误提示:
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
原因是连接被服务端防火墙阻挡,配置防火墙或将其关闭解决。
配置防火墙服务:
firewall-cmd --zone=public --permanent --add-service=nfs
success
firewall-cmd --zone=public --permanent --add-service=rpc-bind
success
firewall-cmd --zone=public --permanent --add-service=mountd
success
firewall-cmd --reload
再次执行后showmount成功看到以下信息:
Export list for 192.168.237.6:
/data/www 192.168.237.0/24
然后将共享目录挂载到本地:
mount -t nfs 192.168.237.6:/data/www/ /data/www/
如果想在系统启动后自动挂载NFS共享目录,可以在/etc/fstab文件中添加一行:
192.168.237.6:/data/www/ /data/www/ nfs defaults,nolock 0 0
此时,挂载只需要执行:
mount -a
三、exportfs命令
- -a 表示全部挂载或卸载
- -r 表示重新挂载
- -u 表示卸载一个目录
- -v 表示显示共享的目录
当改变/etc/exports配置文件后,使用exportfs命令可以不用重启NFS服务。