NFS客户端和NFS服务端通讯过程
1)首先服务器端启动RPC服务,并开启111端口
2)服务器端启动NFS服务,并向RPC注册端口信息
3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
一、安装NFS软件(默认已安装)
要部署NFS服务,服务端和客户端都需要安装这两个软件
nfs-utils:NFS主程序
rpcbind:PRC主程序
二、配置NFS服务端
- 编辑 /etc/exports,添加格式如下
#[共享目录] [客户端地址1(权限)] [客户端地址2(权限)] ...
#[共享目录] [客户主机名1(权限)] [客户主机名2(权限)] ...
#sudo chmod 777 [共享目录] 设置目录最高权限
/tftp1 10.82.16.233(rw,sync)
/tftp2 client-linux(rw,sync)
(权限)参数列表:
rw读写属性
ro只读属性
sync文件实际写入磁盘后才返回
all_squash:所有访问用户均被压缩成后续接的用户
anonuid:默认压缩的用户
anongid:默认压缩的用户组
三、启动服务端NFS服务
先启动 [rpcbind],然后启动 [nfs-server]
systemctl start rpcbind.service
systemctl start nfs-server.service
将他们设置为开机启动
systemctl enable rpcbind.service
systemctl enable nfs-server.service
四、配置客户端NFS服务
- 启动rpcbind服务并设置为开机启动(hisiv 3519跳过这一步)
systemctl enable rpcbind.service
systemctl start rpcbind.service
客户端不需要启动nfs服务
- 将服务器的共享目录挂载到客户端的目录下,例如:
// hisiv 3519 开发版用这个
mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 10.82.16.233:/tftp /mnt
//
// Linux 用这句
mount -t nfs 10.82.16.233:/tftp /mnt
// 10.82.16.233:/tftp 是服务器的IP地址和共享目录, /mnt 是客户端的目录
// 挂载后就可以从客户端的 /mnt 目录访问服务器/tftp目录下的内容了
五、其他命令
服务器配置:
exportfs :在服务的查看已经开启的共享目录命令
exportfs -r :修改 /etc/exports 服务配置后马上生效
客户端:
showmount -e nfs :检查 NFS 服务器端是否有目录共享
服务控制 [rpcbind] 和 [nfs-server] :
systemctl status [服务名]:查看当前状态
systemctl restart [服务名]:重新启动服务
systemctl disable [服务名]:停止开机启动
防火墙:
sudo systemctl status firewalld.service
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service