yum install -y nfs-utils
vi /etc/exports
01 02(03)
01: 设置数据存储的目录 /data
02: 设置网络一个白名单 (允许哪些主机连接到存储服务器进行数据存储)
03: 配置存储目录的权限信息 存储目录一些功能
/data 172.16.1.0/24(rw,sync)
mkdir /data
chown nfsnobody.nfsnobody /data
systemctl start rpcbind.service
systemctl enable rpcbind.service
再启动 nfs服务
systemctl start nfs
systemctl enable nfs
mount -t nfs 172.16.1.31:/data /mnt
-
nfs服务端详细配置说明
实现多个网段主机可以进行挂载
第一种方法:
/data 172.16.1.0/24(rw,sync) 10.0.0.0/24(rw,sync)
第二种方法:
/data 172.16.1.0/24(rw,sync)
/data 10.0.0.0/24(rw,sync)总结:共享目录的权限和哪些因素有关:
1)和存储目录的本身权限有关 (755 属主:nfsnobody)
2)和配置文件中的权限配置有关 rw/ro xxx_squash anonuid/anongid
3)和客户端挂载命令的参数有关 ro
??NFS配置参数权限
rw -- 存储目录是否有读写权限
ro -- 存储目录是否时只读权限
sync -- 同步方式存储数据 直接将数据保存到磁盘(数据存储安全)
async -- 异步方式存储数据 直接将数据保存到内存(提高数据存储效率)
no_root_squash -- 不要将root用户身份进行转换
root_squash -- 将root用户身份进行转换
all_squash -- 将所有用户身份都进行转换
no_all_squash -- 不要将普通用户身份进行转换
企业互联网公司如何配置NFS 各种squash参数
保证网站存储服务器用户数据安全性:
no_all_squash 需要进行配置 共享目录权限为www(确保客户端用户 服务端用户 uid数值一致)
root_squash 需要进行配置 root---nfsnobody data目录---www
以上默认配置(很多服务默认配置都是从安全角度出发)
如何查看nfs默认配置
cat /var/lib/nfs/etab --- 记录nfs服务的默认配置记录信息
/data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,n
o_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)如何让root用户可以操作管理www用户管理的data目录
root --- root_squash --- www ---操作--- data目录
anonuid=65534,anongid=65534 --- 可以指定映射的用户信息修改映射用户:www=1002
/data 172.16.1.0/24(rw,sync,anonuid=1002,anongid=1002)企业中如何编辑nfs配置文件
- 通用方法 *****
/data 172.16.1.0/24(rw,sync) - 特殊情况 (让部分人员不能操作存储目录 可以看目录中的数据)
/data 10.0.0.0/24(ro,sync) - 修改默认的匿名用户
/data 10.0.0.0/24(ro,sync,anonuid=xxx,anongid=xxx)
nfs服务问题:
- nfs服务器重启,挂载后创建数据比较慢
服务器重启方式不正确
服务重启: - restart 重启服务 强制断开所有连接 用户感受不好
- reload 重启服务(平滑重启) 强制断开没有数据传输的连接 提升用户感受
- 通用方法 *****
-
nfs客户端详细配置说明
mount -t nfs 172.16.1.31:/data /mnt
如何实现自动挂载:- 利用rc.local
echo "mount -t nfs 172.16.1.31:/data /mnt" >>/etc/rc.local - 利用fstab文件
vim /etc/fstab
172.16.1.31:/data /mnt nfs defaults 0 0
特殊的服务已经开启了
- 利用rc.local