PVE9 主机上直接部署 NFS Server(Debian13 底层)

⚠️ 注意:不推荐生产环境把NFS跑在PVE集群节点上,一旦NFS卡死会影响整台PVE主机;适合临时迁移、ISO/备份共享使用。
PVE9底层是Debian13,包名:nfs-kernel-server

1. 安装NFS服务

apt update
apt install nfs-kernel-server -y

设置开机自启并启动服务

systemctl enable --now nfs-kernel-server
systemctl status nfs-kernel-server

2. 创建共享目录

# 示例目录,可自定义,比如 /mnt/pve-nfs
mkdir -p /mnt/pve-nfs

# NFS默认使用nobody:nogroup,修改属主
chown nobody:nogroup /mnt/pve-nfs
# 权限:测试可用777,生产不要777,按需收紧
chmod 755 /mnt/pve-nfs

如果共享目录在ZFS池:

zfs create rpool/nfs-share
zfs set sharenfs=off rpool/nfs-share # 不用zfs自带nfs,用系统nfs-kernel-server
chown nobody:nogroup /rpool/nfs-share

3. 配置 /etc/exports

nano /etc/exports

常用写法(二选一)

# 允许整个网段访问,适合PVE集群多节点
/mnt/pve-nfs 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)

# 只允许单个PVE节点IP(更安全)
# /mnt/pve-nfs 192.168.1.10(rw,sync,no_subtree_check,no_root_squash)

参数说明:

  • rw:读写
  • sync:同步写入,数据落盘后返回,更安全
  • no_subtree_check:关闭子树校验,提升性能
  • no_root_squash:PVE存储挂载必须加,客户端root不映射为nobody,否则PVE无法创建VM镜像/备份(风险:内网可信环境才用)

内网不信任环境,去掉no_root_squash。

4. 生效配置 & 查看共享

# 重新加载exports,不重启服务
exportfs -a

# 查看已发布共享
exportfs -v
showmount -e localhost

5. 防火墙(PVE默认用pve-firewall)

# 允许内网网段NFS
pve-firewall allow source 192.168.1.0/24 port nfs
pve-firewall reload

NFS默认端口:2049;NFSv4只需要2049,v3还要rpcbind端口,推荐NFSv4。

6. 在其他PVE节点(客户端)测试挂载

命令行临时挂载

mount -t nfs 192.168.1.10:/mnt/pve-nfs /mnt/test

指定NFS4.2:

mount -t nfs -o vers=4.2 192.168.1.10:/mnt/pve-nfs /mnt/test

PVE网页端添加NFS存储(Datacenter → Storage → Add → NFS)

  • Server:运行NFS的PVE节点IP
  • Export:/mnt/pve-nfs
  • Options:vers=4.2
  • Content:勾选需要的类型(Disk image、ISO、Backup、模板等)

或者命令行添加存储:

pvesm add nfs pve-nfs \
--server 192.168.1.10 \
--export /mnt/pve-nfs \
--content images,iso,backup,vztmpl \
--options vers=4.2

7. 常用排错

  1. showmount -e IP 看不到共享:检查防火墙、exportfs -a是否执行,确认/etc/exports语法(逗号不能有空格)
  2. PVE添加存储报错权限不足:大概率缺少no_root_squash
  3. NFS挂载卡死:优先使用vers=4.2,PVE9内核有旧版NFSv3一些稳定性问题
  4. 重启后共享丢失:确认nfs-kernel-server开机自启,exports文件保存正确

8. 备选方案:NFS跑在LXC容器(推荐隔离方案)

如果不想NFS直接跑在宿主机,可以开特权LXC:

  • LXC配置:mount=nfs;nesting=1
  • 容器内部再执行上面整套nfs-kernel-server安装配置

    非特权LXC无法启动nfs-server,会报/proc/fs/nfsd不存在。

9. 卸载共享

# 取消发布共享
exportfs -ua

# 客户端卸载
umount /mnt/test

推荐建议

  • 集群多节点共享存储:优先单独虚拟机/独立NAS做NFS,不要宿主机直接跑NFS
  • 临时迁移、ISO库:宿主机NFS够用,使用NFSv4.2
  • 生产存储:推荐Ceph、ZFS over iSCSI,NFS性能与稳定性一般
作者:月影鹏鹏  创建时间:2026-10-04 01:27
最后编辑:月影鹏鹏  更新时间:2026-10-04 01:28