外观
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 只是把这个文件系统登记进配置数据库,真正挂载发生在你点击页面顶部黄色提示条上的「应用」之后。应用后:
- 在
/etc/fstab里# >>> [openmediavault]和# <<< [openmediavault]两行标记之间写入一行。 - 把文件系统挂载到
/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 等服务引用,被引用时删除按钮是灰的。
- 文件系统被共享文件夹引用,被引用时卸载按钮是灰的。
拆除要从上往下:先在各服务里去掉对共享文件夹的引用,再删共享文件夹,最后卸载文件系统。灰色按钮不是故障,是在提醒你还有人在用。排查见删不掉共享文件夹。
检查结果
在界面里按顺序确认,每一项都对得上才算配好:
存储器 → 磁盘:能看到这块盘,型号、序号(Serial Number)、容量和你手里的盘一致。存储器 → 文件系统:对应的文件系统已挂载列打勾,状态是「可用」。点表格上方工具栏的显示/隐藏栏目按钮,打开挂载点和识别两列,能看到/srv/dev-disk-by-uuid-…和UUID=…。存储器 → 共享文件夹:共享文件夹指向这个文件系统,引用列在被服务使用后打勾。
想在命令行核对,在 OMV 的 shell(SSH 或本机控制台,以 root 身份)执行:
sh
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS,MODEL,SERIAL
findmnt --reallsblk 显示每块盘的分区、文件系统类型和挂载点;findmnt --real 只列真实文件系统的挂载。两个命令都是只读的。
常见问题
磁盘页能看到新盘,文件系统页没有它。 这是正常的:新盘上还没有文件系统。按创建并挂载文件系统建一个;如果盘上本来有数据,不要建,改走挂载已有数据的硬盘。
文件系统页的状态是「丢失」(Missing)。 OMV 的数据库里登记了这个文件系统,但系统找不到它:盘没接好、盘坏了,或者 USB 盘被拔了。先看磁盘或文件系统不见了。
共享文件夹显示「不可用」(Unavailable)。 它指向的文件系统不存在,8.0.x 起界面会这样标出来。原因同上,修好文件系统后恢复。
能不能用系统盘剩下的空间存数据。 官方 FAQ 说,系统盘上额外划出并格式化的分区可以挂载使用,但默认设计是系统和数据分开,系统盘写满会连带让系统出问题。建议另备数据盘。
参考资料
- OMV 文档:文件系统(部分内容已过时,以本站和源码为准)
- OMV 文档:FAQ
- OMV 源码:
FileSystemMgmtRPC 的setMountPoint、MountPoint::buildPath与fstabSalt 状态