CentOS7配置NFS文件共享

(更新于 )

NFS(Network File System)即网络文件系统,是Linux/Unix支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。 测试环境 CentOS7.3 NFS服务端配置 1.安装nfs-utils和rpcbind



# yum update
yum -y update
# install nfs
yum -y install nfs-utils rpcbind

2.启用和打开NFS相关服务rpcbind,nfs-server,nfs-lock,nfs-idmap。 注意需要先启动rpcbind



#enable services
systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap

# start nfs service
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap

--- 3.创建需要共享的目录



# setup share folder
mkdir /application/share
chmod -R 777 /application/share
#chown nfsnobody:nfsnobody /application/share

4.配置需要共享的目录到/etc/exports下,XXX.XXX.XXX.XXX为需要共享的对象IP地址



# write configs exports
echo "/application/share XXX.XXX.XXX.XXX(rw,sync,no_root_squash,no_all_squash)"  >> /etc/exports
# reload exports
exportfs -a

服务器端的设定都是在/etc/exports这个文件中进行设定的,设定格式如下: 欲分享出去的目录 主机名称1或者IP1(参数1,参数2) 主机名称2或者IP2(参数3,参数4) 上面这个格式表示,同一个目录分享给两个不同的主机,但提供给这两台主机的权限和参数是不同的,所以分别设定两个主机得到的权限. 可以设定的参数主要有以下这些: rw:可读写的权限; ro:只读的权限; no_root_squash:登入到NFS 主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用. root_squash:在登入 NFS协议主机使用分享之目的使用者如果是使用者的都成 nobody 身份; all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody. anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中. anongid:同 anonuid ,但是?成 group ID 就是了! sync:资料同步写入存储器中. async:资料会先暂时存放在内存中,不会直接写入硬盘. insecure 允许从这台机器过来的非授权访问. 5.检查共享目录是否设置正确



# check if share works
showmount -e

6.调整防火墙配置



# config firewall
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --permanent --zone=public --add-service=mountd
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --reload

NFS客户端配置 1.安装nfs-utils



# update
yum -y update
# install nfs
yum -y install nfs-utils

2.检查共享目录是否设置正确,XXX.XXX.XXX.XXX为共享服务器地址



# check if share works
showmount -e XXX.XXX.XXX.XXX

3.挂载远程服务器NFS分区到本地挂载点



# make mount points
mkdir /application/share
# mount nfs
mount -t nfs XXX.XXX.XXX.XXX:/application/share /application/share
#mount -vvv -t nfs XXX.XXX.XXX.XXX:/application/share /application/share -o ver=3
#unmount /application/share

4.NFS分区写入本地fstab文件系统



# setup fstab, must reboot
echo "XXX.XXX.XXX.XXX:/application/share /application/share   nfs      rw,sync,hard,intr  0     0" >> /etc/fstab

参考 https://www.howtoforge.com/nfs-server-and-client-on-centos-7 http://blog.chinaunix.net/uid-26557245-id-3428672.html