banner
李大仁博客

李大仁博客

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

CentOS7配置NFS文件共享

NFS(网络文件系统)即网络文件系统,是 Linux/Unix 支持的文件系统中的一种,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。在 NFS 的应用中,本地 NFS 的客户端应用可以透明地读写位于远端 NFS 服务器上的文件,就像访问本地文件一样。

测试环境 CentOS7.3

NFS 服务端配置 1. 安装 nfs-utils 和 rpcbind

# yum update
yum -y update

安装 nfs#

yum -y install nfs-utils rpcbind

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

启用服务#

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

启动 nfs 服务#

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

3. 创建需要共享的目录

# 设置共享目录
mkdir /application/share
chmod -R 777 /application/share
#chown nfsnobody /application/share

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

# 写入配置到 exports
echo "/application/share XXX.XXX.XXX.XXX(rw,sync,no_root_squash,no_all_squash)" >> /etc/exports

重新加载 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. 检查共享目录是否设置正确

# 检查共享是否正常
showmount -e

6. 调整防火墙配置

# 配置防火墙
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

# 更新
yum -y update

安装 nfs#

yum -y install nfs-utils

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

# 检查共享是否正常
showmount -e XXX.XXX.XXX.XXX

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

# 创建挂载点
mkdir /application/share

挂载 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
#卸载 /application/share

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

# 设置 fstab, 必须重启
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

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。