CentOS 7中搭建NFS文件共享存储服务
备注:NFS(Network File System)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享彼此的文件。简单的讲就是可以挂载远程主机的共享目录到本地,就像操作本地磁盘一样,非常方便的操作远程文件。
一、NFS服务器配置
1、安装NFS服务
#yum -y install rpcbind nfs-utils
使用yum安装nfs服务
2、创建共享目录并且设置相应的权限
#mkdir /data/share/
#chmod 755 -R /data/share/
3、配置NFS
编辑配置文件 #vim /etc/exports
/data/share/ 192.168.0.101(rw,no_root_squash,no_all_squash,sync)
/home/data/ 192.168.0.0/24(rw,no_root_squash,no_all_squash,sync) #允许局域网内所有的客户端访问
备注:一行对应一个客户端配置
参数 | 表示含义 |
192.168.0.101 | 客户端IP地址 |
rw | 可读写 |
sync | 数据同步写入内存和硬盘中 |
rsync | 数据暂存于内存中,而非直接写入硬盘 |
no_root_squash | NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。 |
no_all_squash | 不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都不会拥有匿名用户权限。 |
4、更新配置
#exportfs -r
5、设置防火墙
1)修改nfs服务的端口配置文件
#vim /etc/sysconfig/nfs
RQUOTAD_PORT=1001
LOCKD_TCPPORT=30001
LOCKD_UDPPORT=30002
MOUNTD_PORT=1002
2)加入防火墙策略
#firewall-cmd --zone=public --add-port=111/tcp --add-port=111/udp --add-port=2049/tcp --add-port=2049/udp --add-port=1001/tcp --add-port=1001/udp --add-port=1002/tcp --add-port=1002/udp --add-port=30001/tcp --add-port=30002/udp --permanent
3)重载防火墙配置
#firewall-cmd --reload
6、启动服务
1)按照顺序启动
#systemctl start rpcbind
#systemctl start nfs
2)加入开机启动项
#systemctl enable rpcbind
#systemctl enable nfs
7、启动后查看NF服务是否正常
1)查看端口配置是否生效
#rpcinfo -p
2)查看服务器(本机)是否可以连接
#showmount -e localhost
二、客户端配置
1、安装rpcbind服务与showmount命令
#yum -y install rpcbind
(注意:Ubuntu系统中执行#apt-get install nfs-common
)
#yum -y install showmount
注:客服端只需要安装rpcbind服务即可,无需开启nfs服务
2、挂载远程nfs文件系统
1)查看服务器已共享的目录
#showmount -e 192.168.0.111
备注:192.168.0.111为服务端IP地址
2)建立挂载目录
#mkdir -p /mnt/share
3)执行挂载命令
mount -t nfs 192.168.0.111:/data/share /mnt/share -o nolock,nfsvers=3,vers=3
如果不加 -onolock,nfsvers=3 则在挂载目录下的文件属主和组都是nobody,如果指定nfsvers=3则显示root。
4)设置开机自动挂载
#vim /etc/rc.d/rc.local
mount -t nfs 192.168.0.111:/data/share /mnt/share/ -o nolock,nfsvers=3,vers=3
5)取消挂载
umount /mnt/share
三、测试
#df -h