场景模拟
多台服务器之间需要共享目录
- 服务器A(192.168.4.77)
- 服务器B(192.168.4.29)
- 服务器C(192.168.4.11)
- 服务器...
这里模拟将服务器A上的
/home/zml/softwares
目录共享给其他服务器使用
一、检查环境
无论
服务端
(被共享目录的服务器)还是客户端
(使用共享目录的服务器)都要先进行以下操作
1. 检查nfs软件环境
检查每一台服务器上是否安装了nfs-utils rpcbind这两个软件,如果没有使用yum install 安装
rpm -qa | grep nfs-utils
rpm -qa | grep rpcbind
当有类似以下结果时,则说明当前服务器装有必要的软件,无需再次安装
[root@icell-test softwares]# rpm -qa | grep nfs-utils
nfs-utils-1.3.0-0.61.el7.x86_64
您在 /var/spool/mail/root 中有邮件
[root@icell-test softwares]# rpm -qa | grep rpcbind
rpcbind-0.2.0-47.el7.x86_64
2. 配置服务开机自启动
chkconfig --level 2345 nfs on
chkconfig --level 2345 rpcbind on
3. 启动NFS相关服务
service rpcbind start
service nfs start
二、主服务器端配置共享目录
1. 配置共享目录
这里将
服务器A
当做NFS共享目录的服务器端,先登录服务器A
进行下述操作
# 编辑配置文件
vim /etc/exports
# 在文件中添加如下内容
# 内容格式为: 被共享的目录 客户端ip (被共享目录配置)
/home/zml/softwares * (rw,sync,no_root_squash)
说明:
/home/zml/softwares
: 为 服务器A(服务端)共享的目录,供其他服务器(客户端)使用
客户端ip
: 为可以共享的客户端服务器IP地址,可以是一个地址,也可以用通配符表示一个地址段,如192.168.1.*
,也可以是任意地址,如*
括号中目录配置说明:
-
rw: 读写访问
-
insecure: nfs通过1024以上的端口发送数据
-
no_subtree_check: 不检查父目录权限
-
async: nfs在写入数据前可以响应数据(异步响应)
-
sync:nfs在写入数据完成后才响应数据(同步响应)
-
no_root_squash:root用户具有根目录的完全管理访问权限
2. 检查配置
# 刷新配置
exportfs -r
# 查看共享配置, 确认NFS服务器端共享目录成功(查看配置前,请确保已启动nfs相关服务,如果未启动,可以先按照步骤一中的方式启动)
exportfs -v
有类似以下输出内容时,说明服务端
共享目录配置已完成
[root@icell-test softwares]# exportfs -v
/home/zml/softwares
<world>(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
三、其他服务器挂载共享目录
登录需要使用共享目录的服务器,如服务器B
1. 先启动nfs相关服务
service rpcbind start
service nfs start
2. 查看服务端(服务器A)共享的目录
# showmount -e serverIp
showmount -e 192.168.4.77
serverIp
指上述步骤中部署NFS服务器端的IP地址(服务器A)
会有类似以下输出结果
[root@alianga-server softwares]# showmount -e 192.168.4.77
Export list for 192.168.4.77:
/home/zml/softwares *
3. 挂载共享目录
# mount -t nfs serverIp:/share_dir local_mount_dir -o proto=tcp
mount -t nfs 192.168.4.77:/home/zml/softwares /home/zml/softwares -o proto=tcp
serverIp
指上述步骤中部署NFS服务器端的IP地址(服务器A)。- NFS默认是用UDP协议,加上
-o proto=tcp
换成TCP协议。
4. 设置开机挂载
vim /etc/fstab;
#添加如下内容:
# serverIp:/share_dir local_mount_dir nfs defaults 0 0
192.168.4.77:/home/zml/softwares /home/zml/softwares nfs defaults 0 0
serverIp
设置为上述步骤中部署NFS服务器端(服务器A)的IP地址
Q.E.D.