NFS文件共享服务
假设现有两台服务器IP地址分别为 192.168.0.2 和 192.168.0.3,192.168.0.2作为Server,192.168.0.3为Client,则:
两台机器都需要安装nfs-utils rpcbind:
yum -y install nfs-utils rpcbind chkconfig nfs on chkconfig rpcbind on
开启防火墙端口111和2049:
/sbin/iptables -I INPUT -p tcp --dport 111 -j ACCEPT /sbin/iptables -I INPUT -p udp --dport 111 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 2049 -j ACCEPT /sbin/iptables -I INPUT -p udp --dport 2049 -j ACCEPT /etc/init.d/iptables save service iptables restart
接下来在192.168.0.2上创建共享目录:
mkdir -p /home/nfs
修改nfs配置文件:
vi /etc/exports
加入以下代码:
/home/nfs 192.168.0.0/24(rw,sync,insecure,no_root_squash) #不推荐 /home/nfs 192.168.0.0/24(rw,sync) #推荐
启动nfs和rpc服务:
service rpcbind start
service nfs start
查看本机发布的nfs共享目录:
showmount -e localhost
查看本机rpc服务端口:
rpcinfo -p localhost
把上图显示的端口都加入到防火墙允许规则中。
作为客户端192.168.0.3,在启动服务后直接挂载服务器目录到本地目录即可:
showmount -e 192.168.0.2 #查看服务器共享了哪些路径 mkdir -p /home/nfs_server mount -t nfs -o nolock -o tcp 192.168.0.2:/home/nfs /home/nfs_server
查看文件系统挂载情况:
tail -1 /etc/mtab
设置自动挂载:
vi /etc/fstab
#加入以下代码 192.168.0.2:/home/nfs /home/nfs_server nfs defaults,rw,_netdev 0 0
如何解决卸载时出现“Device is busy”
首先,停止nfs和rpcbind服务:
service rpcbind stop
service nfs stop
然后使用umount -fl命令:
umount -fl /home/nfs_server