NFS V4网络文件共享新认识——筑梦之路
为什么要写这篇?
对于NFS v4协议版本新的认识,更加方便防火墙的管理,只需要开放端口2049/TCP。
NFS协议版本差异
v3版本:
需要启用rpcbind服务
需要监听许多端口
无状态
对网络中断不敏感
v4版本:
无需使用rpcbind服务
仅监听2049/TCP端口
有状态
对网络中断较为敏感
包含多项安全增强功能
CentOS 7.4之后版本支持v4版本。
安装NFS v4
服务端客户端均需要安装nfs-utils包,比如yum install nfs-utils
nfs-utils同时支持v3 v4两种协议版本,可以使用以下命令禁用udp协议,使用v4协议版本
# 禁用udp协议,v2 v3协议版本,启用v4协议版本nfsconf --set nfsd udp nnfsconf --set nfsd vers2 nnfsconf --set nfsd vers3 nnfsconf --set nfsd tcp ynfsconf --set nfsd vers4 ynfsconf --set nfsd vers4.0 ynfsconf --set nfsd vers4.1 ynfsconf --set nfs vers4.2 y# 屏蔽rpc-statd、rpcbindsystemctl mask rpc-statd.service rpcbind.service rpcbind.socket --now# 启动nfs-server服务,并放行防火墙systemctl enable nfs-server --now firewall-cmd --zone=public --add-service=nfs --permanentfirewall-cmd --reload
配置nfs导出路径
/etc/exports
/etc/exports.d
配置文件规则
空白行会被忽略
要添加注释,每行开头添加#
内容太长可用\进行换行
每个导出的文件系统是独立的
在导出的文件系统后定义的授权主机列表,都必须要用空格分开
每个主机的选项必须在主机列表后直接放入括号中,并且括号和主机列表之间没有空格
mkdir -p /datachown nobody.nobody /datasemanage fcontext -a -t nfsd_fs_t "/data(/.*)?" vim /etc/exports.d/demo.exports/data 192.168.100.100(rw,sync,root_squash)exportfs -avr# 客户端挂载mount -t nfs4 192.168.100.99:/data /mntdf -lhT