主题
NFS服务部署
1.安装nfs软件包
(1)检查是否安装
bash
#服务器端
rpm -qa | grep nfs-utils # NFS服务器和客户端的主要工具包,只服务器安装
rpm -qa | grep rpcbind # RPC(远程过程调用)端口映射服务,服务器客户端都需要安装1
2
3
2
3
bash
#客户端
rpm -qa | grep rpcbind # RPC(远程过程调用)端口映射服务,服务器客户端都需要安装1
2
2
如果两个都已安装,显示如下图

(2)安装nfs服务(如果未安装)
bash
#服务器
yum -y install nfs-utils rpcbind #服务器安装nfs-utils和rpcbind1
2
2
bash
#客户端
yum -y install rpcbind #客户端只安装rpcbind即可1
2
2
显示安装完毕之后重复上面,检查是否已经安装
2.查看并记录ip
bash
#客户端服务器都需要
ifconfig #记录下如下ip,例如
服务器ip:192.168.42.130
客户端ip:192.168.42.1281
2
3
4
2
3
4
以下配置和挂载都需要用到这两个ip地址
3.建立用户
bash
#服务器端
useradd tom # 创建tom用户
useradd -r -u 210 -s /sbin/nologin nfs-upload # 创建nfs-upload用户,指定UID为210
cat /etc/passwd #观察是否新增了用户,记录tom的uid和gid1
2
3
4
2
3
4

记录tom的uid和gid,配置要用到
4.建立共享目录
bash
mkdir -p /nfs/shared # 创建共享目录
mkdir -p /nfs/upload # 创建上传目录
chmod 007 /nfs/upload # 设置上传目录权限
cd /nfs # 切换到/nfs目录
ll # 查看文件详细信息
chmod 007 upload # 设置上传目录权限1
2
3
4
5
6
2
3
4
5
6
5.配置exports
bash
#服务器端
vim /etc/exports # 编辑NFS配置文件,写入以下三行
/nfs/shared *(ro) # 共享目录:所有客户端只读
/nfs/upload 192.168.42.0/24(rw,all_squash,anonuid=210,anongid=210) # 上传目录:指定网段读写,映射为nfs-upload用户
/home/tom 192.168.42.128(rw,anonuid=1003,anongid=1003) # tom用户目录:指定IP读写访问
#也可以不配映射uid和gid,但是tom的uid必须和客户端uid相同是,客户端才有权访问该文件夹1
2
3
4
5
6
2
3
4
5
6
6.启动服务
bash
#服务器端
systemctl start rpcbind # 启动rpcbind服务
systemctl status rpcbind # 查看rpcbind服务状态
systemctl start nfs-server # 启动nfs-server服务
systemctl status nfs-server # 查看nfs-server服务状态
systemctl enable rpcbind # 设置开机启动rpcbind服务
systemctl enable nfs-server # 设置开机启动nfs-server服务1
2
3
4
5
6
7
2
3
4
5
6
7
bash
#客户端
systemctl start rpcbind # 启动rpcbind服务
systemctl status rpcbind # 查看rpcbind服务状态
systemctl start nfs-server # 启动nfs-server服务
systemctl status nfs-server # 查看nfs-server服务状态1
2
3
4
5
2
3
4
5
7.挂载nfs
bash
#客户端
ping 192.168.42.130 # 检查是否能ping通
showmount -e 192.168.42.130 # 查看NFS服务器共享目录1
2
3
2
3
bash
#客户端
mkdir /shared # 创建本地共享目录挂载点
mkdir /upload # 创建本地上传目录挂载点
mkdir /tom # 创建本地tom目录挂载点
mount 192.168.42.130:/nfs/shared /shared # 挂载共享目录
mount 192.168.42.130:/nfs/upload /upload # 挂载上传目录
mount 192.168.42.130:/home/tom /tom # 挂载tom用户目录1
2
3
4
5
6
7
2
3
4
5
6
7
8.测试
(1)测试shared文件夹
bash
#服务器端
cd /nfs/shared # 切换目录
vim a.txt #写点什么1
2
3
2
3

bash
#客户端 - 只读
cd /shared # 切换目录
ll # 查看文件详细信息1
2
3
2
3

(2)测试upload文件夹
bash
#客户端 - 可读可写,以UID-210身份,即nfs-upload用户身份
cd /upload # 切换目录
vi b.txt # 写点什么
ll # 查看文件详细信息1
2
3
4
2
3
4

bash
#服务器端
cd /nfs/upload # 切换目录
ll # 查看文件详细信息
cat b.txt # 查看文件1
2
3
4
2
3
4

(3)测试tom文件夹
bash
#客户端 - 可读可写,以tom用户身份
cd /upload # 切换目录
vi c.txt # 写点什么
ll # 这里显示wjl是因为服务器端的tom的uid是1003,客户端uid是1003的用户是wjl,因此在客户端显示wjl1
2
3
4
2
3
4

bash
#服务器端
cd /home/tom # 切换目录
ll # 查看文件详细信息1
2
3
2
3

9.附加
bash
#如果有问题需要关闭防火墙等
systemctl stop firewalld # 停止防火墙服务
setenforce 0 # 临时关闭SELinux1
2
3
2
3