Ubuntu 部署 NFS 文件共享
Server
-
安装 NFS 服务端:
sudo apt install nfs-kernel-server -
创建共享目录:
sudo mkdir -p /srv/nfs4/data1 /srv/nfs4/data2 sudo chown -R nobody:nogroup /srv/nfs4 -
编辑导出配置:
sudoedit /etc/exports# 根导出目录,允许所有主机访问 /srv/nfs4 *(rw,sync,no_subtree_check,all_squash,fsid=0) # 只允许指定子网访问 /srv/nfs4/data1 192.168.1.0/24(rw,sync,no_subtree_check,all_squash) # 只允许指定主机访问 /srv/nfs4/data2 192.168.1.100(rw,sync,no_subtree_check,all_squash)rw:允许客户端对导出目录进行读写操作。sync:所有写操作将在响应客户端请求之前同步到磁盘上。这可以提高数据的安全性,但可能会降低性能。no_subtree_check:禁用子树检查。NFS 服务器不会检查请求的文件是否在导出的目录树中,这可以提高性能。fsid:指定文件系统 ID。对于 NFSv4,根导出目录需要指定fsid=0root_squash:将客户端 root 用户映射为匿名用户(通常是nobody)all_squash:将所有客户端用户映射为匿名用户anonuid:指定匿名用户的用户 ID。anongid:指定匿名用户的组 ID。
-
启动 NFS Server:
sudo systemctl start nfs-kernel-server sudo systemctl enable nfs-kernel-server -
刷新导出的文件系统列表:
sudo exportfs -a -
防火墙放行 NFS 服务端口 TCP 2049。
sudo ufw allow nfs
Client
-
安装 NFS 客户端:
sudo apt install nfs-common -
创建挂载目录:
sudo mkdir -p /mnt/nfs4/data1 /mnt/nfs4/data2 -
挂载 NFS 目录:
sudo mount -t nfs4 192.168.1.2:/ /mnt/nfs4 sudo mount -t nfs4 192.168.1.2:/data1 /mnt/nfs4/data1 sudo mount -t nfs4 192.168.1.2:/data2 /mnt/nfs4/data2如果客户端操作系统为 macOS,则需使用
-o resvport,nolocks选项。macOS 也可以直接打开 NFS 链接:
open -a Finder nfs://192.168.1.2/ -
检查挂载情况:
df -hT -x tmpfs -
持久挂载(可选):
sudoedit /etc/fstab192.168.1.2:/ /mnt/nfs4 nfs defaults 0 0 192.168.1.2:/ /mnt/nfs4/data1 nfs defaults 0 0 192.168.1.2:/ /mnt/nfs4/data2 nfs defaults 0 0
参考:How To Set Up an NFS Mount on Ubuntu 22.04 | DigitalOcean

浙公网安备 33010602011771号