跳转到内容

OMV 的存储模型:从磁盘到共享 ​

读完这一篇,你能说清楚:一块新盘要经过哪几步才能被 Windows 电脑访问,每一步在界面哪里,以及卸载或删除时为什么总被提示「正在使用」。

为什么要先搞清这个 ​

OMV 的存储界面分散在 存储器 下的好几个菜单和 服务 下的各个协议里,初学者最常见的卡点都是同一个原因:不知道这些菜单是一条依赖链。共享文件夹建不出来,是因为上一层没挂载;文件系统卸载不了,是因为下一层还在引用它。

五层模型 ​

text
物理磁盘             存储器 → 磁盘
   │
   ├─ (可选)RAID、LVM、LUKS 加密、bcache、ZFS 池 ……
   │
文件系统             存储器 → 文件系统   创建并挂载
   │                 挂载点 /srv/dev-disk-by-uuid-<UUID>
共享文件夹           存储器 → 共享文件夹  = 文件系统 + 相对路径
   │
服务                 服务 → SMB/CIFS、NFS、Rsync ……  只引用共享文件夹
层界面位置做什么数据丢失风险
磁盘存储器 → 磁盘(Storage → Disks)看清有哪些盘;擦除;设置停转擦除会清掉整块盘
聚合层(可选)RAID:存储器 → RAID 管理(Storage → Multiple Device);LVM、加密、bcache 等见各插件把几块盘合成一个设备,或加密、加缓存建立和删除都会破坏成员盘上的数据
文件系统存储器 → 文件系统(File Systems)在盘或阵列上建文件系统,并挂载到 /srv 下创建会清空目标设备;卸载不会
共享文件夹存储器 → 共享文件夹(Shared Folders)在已挂载的文件系统里选一个目录作为共享单位只改配置;删除共享文件夹不会删目录里的文件
服务服务 下各协议把共享文件夹发布成 SMB、NFS 等无

聚合层不是必须的。单盘直接建文件系统是最常见的起点。各插件的完整教程:软件 RAID、LVM、LUKS 加密、bcache、ZFS。

磁盘页和文件系统页看到的不是同一种东西 ​

  • 磁盘 页列的是整块物理盘(硬件 RAID 卡呈现的逻辑盘也列在这里),不显示分区。
  • 文件系统 页列的是文件系统:可能是一个分区,也可能是整块盘、一个 RAID 阵列或一个逻辑卷。

所以同一块盘在两个页面里出现的名字常常不同:磁盘页是 /dev/sdb,文件系统页是 /dev/sdb1。OMV 用 EXT4、XFS 等建文件系统时,会先在整块盘上划一个占满全盘的 GPT 分区,再在分区里建;Btrfs 则直接用整块盘,不分区。

「挂载」做了什么 ​

在 文件系统 页点挂载(Mount)并保存,OMV 只是把这个文件系统登记进配置数据库,真正挂载发生在你点击页面顶部黄色提示条上的「应用」之后。应用后:

  1. 在 /etc/fstab 里 # >>> [openmediavault] 和 # <<< [openmediavault] 两行标记之间写入一行。
  2. 把文件系统挂载到 /srv/dev-disk-by-uuid-<文件系统UUID>。

/srv/dev-disk-by-uuid-… 这个名字来自 /dev/disk/by-uuid/…,把斜杠换成短横线得到。用 UUID 而不是 /dev/sdb1,是因为设备名重启后可能变,UUID 不会。旧资料里常见的 /srv/dev-disk-by-label-… 是按文件系统标签命名的老方式,OMV 8 新挂载的文件系统不再这样命名。

不要手改 /etc/fstab 里 OMV 的区段

标记之间的内容会在下一次部署时被整段重写,手改的内容会丢。OMV 也不会读取 /etc/fstab,不是通过界面挂载的文件系统不会出现在共享文件夹的设备列表里。要改挂载选项,见文件系统挂载选项与 fstab。

为什么不能直接共享一块盘 ​

SMB、NFS 这些服务只认「共享文件夹」,共享文件夹由两部分组成:一个已登记并挂载的文件系统,加上这个文件系统里的相对路径。所以必须先挂载文件系统,才能建共享文件夹。这样设计的好处是服务不依赖具体的盘符,换盘、换 RAID 时只需要把共享文件夹指到新的文件系统。

系统盘(装 OMV 的那块盘)上的根文件系统默认不会出现在共享文件夹的设备列表里:官方的设计是把系统和用户数据分开。需要在系统盘上建共享时,见 sharerootfs。

引用链与删除顺序 ​

每一层都被上一层「引用」。界面里的引用(Referenced)列显示的就是这个关系:

  • 共享文件夹被 SMB、NFS 等服务引用,被引用时删除按钮是灰的。
  • 文件系统被共享文件夹引用,被引用时卸载按钮是灰的。

拆除要从上往下:先在各服务里去掉对共享文件夹的引用,再删共享文件夹,最后卸载文件系统。灰色按钮不是故障,是在提醒你还有人在用。排查见删不掉共享文件夹。

检查结果 ​

在界面里按顺序确认,每一项都对得上才算配好:

  1. 存储器 → 磁盘:能看到这块盘,型号、序号(Serial Number)、容量和你手里的盘一致。
  2. 存储器 → 文件系统:对应的文件系统已挂载列打勾,状态是「可用」。点表格上方工具栏的显示/隐藏栏目按钮,打开挂载点和识别两列,能看到 /srv/dev-disk-by-uuid-… 和 UUID=…。
  3. 存储器 → 共享文件夹:共享文件夹指向这个文件系统,引用列在被服务使用后打勾。

想在命令行核对,在 OMV 的 shell(SSH 或本机控制台,以 root 身份)执行:

sh
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS,MODEL,SERIAL
findmnt --real

lsblk 显示每块盘的分区、文件系统类型和挂载点;findmnt --real 只列真实文件系统的挂载。两个命令都是只读的。

常见问题 ​

磁盘页能看到新盘,文件系统页没有它。 这是正常的:新盘上还没有文件系统。按创建并挂载文件系统建一个;如果盘上本来有数据,不要建,改走挂载已有数据的硬盘。

文件系统页的状态是「丢失」(Missing)。 OMV 的数据库里登记了这个文件系统,但系统找不到它:盘没接好、盘坏了,或者 USB 盘被拔了。先看磁盘或文件系统不见了。

共享文件夹显示「不可用」(Unavailable)。 它指向的文件系统不存在,8.0.x 起界面会这样标出来。原因同上,修好文件系统后恢复。

能不能用系统盘剩下的空间存数据。 官方 FAQ 说,系统盘上额外划出并格式化的分区可以挂载使用,但默认设计是系统和数据分开,系统盘写满会连带让系统出问题。建议另备数据盘。

参考资料 ​

OpenMediaVault 非官方中文使用指南,与 openmediavault 项目及其开发者无隶属关系。