banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

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 /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

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.