第 5 篇 / 共 8 篇
05|PVE 存储、外置硬盘、直通、LXC 挂载与 SMB 安全实践
知识分类:存储与数据保护|2026-10-17 整理|官方依据已核实;磁盘分区、文件系统、UUID、共享地址及挂载状态均需现场确认。
一、先建立“数据所有权”
同一块磁盘主要有三类使用方式,不能混淆:① 交给 PVE 作为虚拟磁盘/镜像存储;② 由 PVE 宿主挂载文件系统,再向 LXC 映射受控目录;③ 由某台 VM 独占一块物理磁盘或设备。不同策略在缓存、一致性、备份和故障排除方面的责任完全不同。
| 方案 | 优点 | 限制/风险 | 适合 |
|---|---|---|---|
| PVE Directory/LVM-Thin/ZFS 等存储 | 易与 PVE VM/CT 管理集成 | 受不同底层格式和快照能力限制 | VM/CT 磁盘、ISO、备份 |
| 宿主文件系统 + LXC bind mount | 同一媒体目录按权限复用 | 外部数据不在常规 CT 备份内 | 媒体读库、下载目录 |
| 物理磁盘交给独占 VM | NAS 可直接管理设备 | 不可同时由宿主和客体写同一文件系统 | 专用 NAS 数据盘 |
二、只读识别,绝不根据盘符盲写
lsblk -o NAME,SIZE,FSTYPE,UUID,MOUNTPOINTS,MODEL
blkid
ls -l /dev/disk/by-id/
findmnt
pvesm status
盘符 /dev/sdX 可能随设备插拔或启动顺序改变;持久化挂载更常用文件系统 UUID=,物理直通则应核对稳定的 /dev/disk/by-id/ 标识是否唯一并对应正确盘。任何磁盘 wipefs、mkfs、fdisk、parted、直通 qm set 都属于可能导致数据丢失的高风险写操作:只有单独审批和已验证备份后才能进行。本文不给出可复制即执行的清盘命令。
对于旧 NTFS 数据盘,优先只读检查其文件系统健康状态;Windows 快速启动/休眠可能导致非干净卸载。ntfs3 与 ntfs-3g 的可用性取决于当前内核/发行版,不能简单认定“先装 ntfs-3g 必然解决所有挂载问题”。对于应用长期大量写入,优先选择与业务相容且维护明确的文件系统,避免把“能挂载”误认为“数据完全安全”。
三、fstab 与“空挂载点写进系统盘”风险
配置 /etc/fstab 前记录目标目录、UUID、文件系统类型、依赖服务及故障策略。nofail 可避免某些启动依赖阻断,但并不保证外置盘掉线后服务停止写入:应用可能把文件写到尚未挂载的空目录,耗尽宿主系统盘。PVE Directory 存储应评估对应的 mount-point 检查(如 is_mountpoint),应用层也需确认目标确实已挂载才开始下载或写入。
知识库原始路径和真实 UUID 已脱敏;正确方法是保留挂载核查清单:预期来源 / findmnt 事实 / 读写状态 / 宿主属主 / 容器映射 / 备份归属 / 恢复演练。
四、区分 LXC mp0/mp1 的来源
配置中可能有 mp0/mp1,但它们可以是 PVE 管理的存储卷,也可以是宿主 bind mount。二者备份方式不同。以宿主路径形式挂载的 bind mount,Proxmox 官方说明 vzdump 不备份其内容,即便容器恢复完成,视频文件也不会神奇出现。
建议按用途将知识库设为只读挂载,将媒体下载/加工目录与媒体发布目录分离。对“知识库可写”“下载目录可写”实行单独审批;不把宿主 /etc/pve、令牌或其他应用私钥映射进媒体容器。
五、历史 SMB 教程的关键安全纠错
资料出现过 [global] public=yes、create mask=0777、directory mask=0777、对 root 目录共享、root Samba 登录甚至弱口令示例。这些不能复用。
更安全的设计是:共享由专用 NAS/文件服务负责;只对特定媒体目录授权;禁止访客写入;每个用途有独立低权限账号;文件权限采用最小授权;只允许受信任局域网或 VPN 接入,不将 SMB 445 直接暴露公网。示意片段仅用于解释配置意图,部署前必须结合系统权限与 testparm 验证:
[media-readonly]
path = /srv/media-readonly
browseable = no
guest ok = no
read only = yes
valid users = media-reader
注意:read only=yes 和 valid users 只有在 Samba 用户、Linux ACL/属主及网络访问控制同步设置正确时才有意义;本例不负责创建用户或目录。
六、媒体链路与备份边界
下载容器写入独立下载区 → 审核/转码进制作区 → 经人工确认发布到 NAS 媒体区 → Jellyfin 读取。不要让下载器直接向播放库的全部目录拥有写权限。NAS 共享出现延迟、离线或凭据错误时应停写并报警,而非自动格式化、覆盖或变更挂载。
关联资料与验证依据
- 内部资料:《Proxmox VE 外置硬盘挂载与直通指南》《pve直接挂载ntfs盘.txt》《PVE上部署SMB.txt》《历史SMB配置_不安全设置_勿部署.txt》与 2026-10-17 安全手册。
- 官方:https://github.com/proxmox/pve-docs/blob/master/pct.adoc
- 官方:https://pve.proxmox.com/pve-docs/pvesm.1.html
- 官方:https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html
结论:同一媒体文件只设一个明确写入所有者;bind mount != backup;不要使用历史 SMB 的匿名/全开放权限配置。
2026-10-17 第二阶段核验补充(发布前确认)
- 2026-10-16 记录指出备份存储挂载曾核对为有效,但本轮未独立执行宿主
findmnt;因此只能说“已有近期现场记录”,不能声称本次实时已核验。 - 知识库指出 NAS 的大型照片数据盘被排除在 VM 系统盘备份之外,知识库只读 bind mount 也被排除在 CT rootfs 备份之外;恢复系统盘不等于恢复照片、视频或知识库。
- 2026-10-16 的照片同步脚本审查报告显示生产版本包含
--ignore-existing与挂载检查,并记录旧备份版本的风险;但下次定时器运行结果尚未检查。不得将历史 SMB 的广泛读写权限当成推荐设置。