前言
网络文件系统Network File System(NFS)
是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。
是一种 CS
架构
安装
服务端
安装依赖
1 2
| # rpcbind 会默认安装 rpcbind sudo yum install -y nfs-utils
|
启动服务
1 2 3 4
| sudo systemctl start rpcbind sudo systemctl start nfs sudo systemctl enable rpcbind sudo systemctl enable nfs
|
配置共享目录
1 2
| sudo mkdir /data sudo chmod 755 /data
|
配置 nfs
写入下面配置
1
| /data/ *(rw,sync,no_root_squash,no_all_squash)
|
/data
: 共享目录位置。
*
: 客户端 IP
范围,*
代表没有限制 ,限制某个子网(192.168.0.0/24)。
rw
: 权限设置,可读可写。
sync
: 同步共享目录。
no_root_squash
: 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员(不常用)。
root_squash
:当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户(不常用)
no_all_squash
: 可以使用普通用户授权。
使配置生效
重启服务
1
| sudo systemctl restart nfs
|
验证
1 2 3 4 5 6
| # 查询某 `IP` 的 `NFS` 服务 showmount -e 127.0.0.1 # 检查当前服务 exportfs # 查询端口占用 rpcinfo -p 192.168.14.118
|
配置端口
- portmapper:默认 111
- nfs: 默认 2049
- mountd:使用默认892
- statd:使用默认 662
1
| sudo vim /etc/sysconfig/nfs
|
添加
1 2 3 4
| LOCKD_TCPPORT=32803 LOCKD_UDPPORT=32769 MOUNTD_PORT=892 STATD_PORT=662
|
1
| sudo vim /etc/modprobe.d/lockd.conf
|
添加
1 2
| options lockd nlm_tcpport=32803 options lockd nlm_udpport=32769
|
重启
1 2 3 4 5 6 7
| # 重启服务 sudo systemctl restart rpcbind sudo systemctl restart nfs sudo systemctl restart nfs-config sudo systemctl restart nfs-idmap sudo systemctl restart nfs-lock sudo systemctl restart nfs-server
|
防火墙
1 2 3 4 5 6 7 8 9 10 11 12
| sudo firewall-cmd --zone=public --add-service=nfs --permanent sudo firewall-cmd --zone=public --add-port=32803/tcp --permanent sudo firewall-cmd --zone=public --add-port=32769/udp --permanent sudo firewall-cmd --zone=public --add-port=111/tcp --add-port=111/udp --permanent sudo firewall-cmd --zone=public --add-port=892/tcp --add-port=892/udp --permanent sudo firewall-cmd --zone=public --add-port=662/tcp --add-port=662/udp --permanent sudo firewall-cmd --zone=public --add-port=2049/tcp --add-port=2049/udp --permanent sudo firewall-cmd --reload sudo firewall-cmd --zone=public --list-ports sudo firewall-cmd --zone=public --list-services # 查询需要开放的端口 rpcinfo -p 192.168.14.118
|
客户端挂载NFS
安装工具
1
| sudo yum install nfs-utils
|
查询某 IP
的 NFS
服务
1
| showmount -e 192.168.2.140
|
输出
1 2
| Export list for 192.168.2.140: /data/ *
|
挂载
1 2 3 4
| # 创建本地目录 sudo mkdir /mnt/data # 挂载服务端目录到本地 sudo mount -t nfs 192.168.2.140:/data /mnt/data
|
本文地址: https://github.com/maxzhao-it/blog/post/de2905c4/