跳转到内容

挂载 NFS 与 SMB/CIFS 存储 ​

家里或办公室已经有一台 NAS,与其在 PVE 里再插一块盘,不如直接把 NAS 的共享目录接进来。这篇讲怎么加 NFS 和 SMB/CIFS 两种网络存储,以及它们各自的取舍。

开始之前 ​

  • 一台已经在跑的 NFS 或 SMB 服务器,并且从 PVE 宿主机的网络能访问到它(不是客户机网络,是宿主机自己的管理网络)。
  • 知道要挂载的共享路径:NFS 是导出路径(如 /volume1/pve),SMB 是共享名(如 pve-share)。
  • SMB 需要一个有权限的账号;很多 NAS 默认关闭了 Guest 访问。
  • 这两种都是文件存储,支持 qcow2 格式和快照,也能放 ISO、模板、备份,见文件级与块级存储。

NFS 与 SMB/CIFS 该选哪个 ​

NFSSMB/CIFS
常见来源Linux/Unix 系统、大多数 NASWindows 共享、大多数 NAS
认证通常按 IP/网段授权,简单需要用户名密码
性能(局域网)通常更好,协议开销小略高开销,但差距在千兆/万兆网络下通常不明显
版本建议用 NFSv3 或 NFSv4,按 NAS 支持情况选PVE 不支持 SMB1(有安全问题),至少 SMB2

拿不准就选 NFS

如果 NAS 两种都支持,局域网内优先选 NFS,配置更简单、免密码。只有 NAS 只暴露 SMB,或者要跟 Windows 环境共享同一份数据时才选 CIFS。

操作步骤 ​

添加 NFS 存储 ​

Web UI:数据中心 → 存储 → Add → NFS。

字段填什么
ID存储名,例如 nas-nfs
ServerNAS 的 IP 地址(建议用 IP 不用主机名,避免 DNS 出问题时存储跟着断)
Export填对 Server 之后会自动列出该服务器上可用的导出路径,直接选
Content按用途勾选:备份存储勾 VZDump backup file;放 ISO 勾 ISO image、Container template;放虚拟机磁盘勾 Disk image、Container
Nodes集群环境如果只想给某些节点用,这里限定;单机留空即可

命令行等价操作:

sh
# 宿主机 shell 执行
pvesm add nfs nas-nfs --server 192.168.1.10 --export /volume1/pve --content backup,iso

Export 下拉框是空的?

说明该 NAS 没有把这个共享导出给当前 PVE 节点的 IP。去 NAS 的 NFS 权限设置里检查允许访问的网段。

添加 SMB/CIFS 存储 ​

Web UI:数据中心 → 存储 → Add → SMB/CIFS。

字段填什么
ID存储名
ServerNAS 的 IP 地址
Share共享名称
Username / Password有权限的账号;密码会加密保存在 /etc/pve/priv/storage/<ID>.pw
Domain有域环境才需要
SMB version按 NAS 支持情况选,不支持 SMB1
Content同上
sh
# 宿主机 shell 执行
pvesm add cifs nas-smb --server 192.168.1.10 --share pve-share --username backup-user --password

挂载选项不要自己动

PVE 会自动给 CIFS 挂载加上 soft(避免服务器无响应时客户端永久卡住)、账号、域等参数。不要在 options 字段里重复填这些,容易冲突。

该注意的几个限制 ​

网络断了,存储也断了

网络存储的可用性绑定在网络链路上。NAS 关机、网线松动、交换机重启,都会让这个存储立刻变成不可用状态。依赖网络存储运行的虚拟机,网络故障期间会跟着卡住或报 IO 错误。给关键业务用网络存储时,网络本身要考虑冗余(Bond、独立交换机)。

大容量 qcow2 在 NFS 上打快照可能很慢

qcow2 的内部快照是阻塞式的,在网络存储上尤其明显——几百 GB 的磁盘打快照可能要几分钟甚至更久,期间虚拟机会短暂卡住。建议在虚拟机关机状态下打快照/删快照,或者干脆用 PBS 做备份而不是频繁打快照。

部分存储不支持 cache=none

个别 NAS/网络文件系统不支持 O_DIRECT,此时虚拟机磁盘的 Cache 模式如果强制用 No cache 可能报错或性能异常,可以改用 Writeback,但要清楚这意味着牺牲一部分断电安全性,见创建第一个虚拟机里关于 Cache 的说明。

检查结果 ​

sh
# 确认存储处于 active
pvesm status

# 确认真实挂载
mount | grep /mnt/pve
df -h | grep /mnt/pve

然后做一次真实测试:上传一个小 ISO,或者手动跑一次某台测试虚拟机的备份到这个存储,确认能写、能读。

重启宿主机一次再交付

网络存储依赖开机时的挂载流程。重启一次宿主机,确认存储能自动重新连上,而不是要手动介入。

常见问题 ​

存储显示灰色或报 storage is not online。 先 ping NAS 的 IP 确认网络通;再检查 NAS 那边服务是否在跑、共享是否还在。

能挂载,但写入报权限错误。 NFS 检查 NAS 的 no_root_squash/用户映射设置;CIFS 检查账号在该共享上的读写权限,不只是能登录。

同一台 NAS,要不要同时做 NFS 和 SMB 两个存储? 没必要。选一种协议,把不同用途(备份、ISO、虚拟机磁盘)通过 Content 类型和子目录区分即可。

参考资料 ​

Proxmox VE 非官方中文使用指南,与 Proxmox Server Solutions GmbH 无隶属关系。