本文以红帽(RHEL 8.6)发行版上配置 nfs 服务端为例:
一、安装依赖包
yum install -y nfs-utils
二、启动服务
systemctl start nfs-server
systemctl enable nfs-server
三、配置共享目录
在NFS服务器 /etc/exports
配置文件中导出要共享出去的文件目录,即 nfs 客户端可以访问的文件夹,如下示例:
[root@localhost test]# cat /etc/exports
/mnt/nfs_share/backup 192.168.10.0/24(rw,sync)
/mnt/nfs_share/backup2 192.168.10.0/24(rw,sync,no_all_squash,no_root_squash)
四、应用配置
exportfs -ra
下面对 exports 选选项中的信息进行说明(更多信息和 export 选项请查看 exports 帮助)
- rw:允许在文件系统上读写。
- sync:告诉NFS服务器在请求(默认使用)时写操作(写信息到磁盘)。
- async:将数据先保存在内存缓冲区中,必要时才写入磁盘,速度快但会丢失数据。
- all_squash:映射来自客户端请求的所有UIDs和GIDs为匿名用户。
- no_all_squash:映射来自客户端请求的所有UID和GIDs为在NFS服务器上相同的UIDs和GIDs。
- root_squash:映射来自root用户或UID/GID 0的请求为匿名UID/GID。
- no_root_squash:表示当客户机以root身份访问时赋予本地root权限(默认是root_squash),如果不使用这个配置则客户端无法在里面编辑或写入文件,因为默认以nfsnobody的权限。
- insecure:允许客户端从非特权端口连接。默认情况下,NFS 服务器只接受来自客户端的特权端口(端口号小于1024)的连接请求。
- no_subtree_check:减少对子目录的检查,提高性能。
最后使用命令 showmount -e 192.168.10.100
(这是本机NFS服务端机器的IP地址)可以查看 nfs 共享的目录清单。
注:如果nfs服务端所在服务器开启了防火墙,请注意相关端口的开通,否则客户端无法连接,关于防火墙端口相关这里不做赘述。
(END)