第 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 共享出现延迟、离线或凭据错误时应停写并报警,而非自动格式化、覆盖或变更挂载。

关联资料与验证依据

结论:同一媒体文件只设一个明确写入所有者;bind mount != backup;不要使用历史 SMB 的匿名/全开放权限配置。


2026-10-17 第二阶段核验补充(发布前确认)