李大仁博客

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

Exit mobile version