外观
软件 RAID:用 md 插件组阵列
读完这一篇,你能用 3 到 4 块盘建出一个 RAID 阵列,在上面建好文件系统并挂载,知道阵列状态怎么看,坏盘时会收到邮件。换盘、扩容与重建见软件 RAID 维护。
RAID 防什么,不防什么
OMV 的 RAID 是 Linux 内核的 md 驱动,用 mdadm 工具管理。从 OMV 7 起,RAID 管理不在核心里,而是官方插件 openmediavault-md。
RAID 是冗余,不是备份
RAID 保护你不因为一块盘坏了而停机或丢数据。它防不了:误删文件(删除会立刻同步到所有盘)、勒索软件加密、病毒、误操作、控制器或主板故障、电源事故、整机被偷或进水。这些都只有独立的备份才救得了,见备份策略。
OMV wiki 的说法更直接:家庭和小团队场景里,两份独立副本(例如 rsync 到另一块盘)往往比 RAID1 更实用,因为损坏和误删不会被即时复制到第二块盘。
级别怎么选
界面提供五个级别。可用容量都按最小的那块盘计算,所以尽量用同容量的盘。
| 界面级别 | 最少盘数 | 允许坏几块 | 可用容量(N 块盘) | 适用 |
|---|---|---|---|---|
| 条带(Stripe,RAID 0) | 2 | 0 | N 块之和 | 只为速度,任何一块坏了全部数据都没了,不要放有价值的数据 |
| 镜像(Mirror,RAID 1) | 2 | N−1 | 1 块 | 两块盘最简单的冗余 |
| RAID 10 | 4 | 每对镜像里至少剩一块 | N/2 | 要性能又要冗余,浪费一半容量 |
| RAID 5 | 3 | 1 | N−1 | 容量和冗余折中,盘不要太大 |
| RAID 6 | 4 | 2 | N−2 | 盘多或盘大时的稳妥选择 |
- 盘越大,重建时间越长。RAID 5 和两盘镜像在重建期间已经没有冗余,再坏一块盘就丢数据,RAID 6 还能再坏一块。大容量机械盘,用 RAID 6 比 RAID 5 稳妥。
- OMV 8 去掉了 Linear(JBOD)级别,因为它在 Linux 内核 6.8 起已被标为弃用。
- 想要的是「把盘合成一个大目录」而不是冗余,见 mergerfs;多种方案的对比见多块硬盘怎么组。
开始之前
- 安装 md 插件:
系统 → 插件(System → Plugins)里找到openmediavault-md安装,装完强制刷新浏览器(Ctrl+Shift+R)。步骤见安装、更新与卸载插件。官方 ISO 是否预装它,以你界面里的显示为准。 - 成员盘必须是空盘。盘上有文件系统或其他标记时,它不会出现在候选列表里;先在
磁盘页做一次快速擦除。 - USB 接入的盘默认不会列出,界面提示是「USB 接入不稳定」。官方文档和 wiki 都明确不建议在 USB 上组 RAID,见外接 USB 硬盘。
- 机械盘尽量用 CMR,SMR 盘在重建时可能卡住,见数据盘怎么选。
- 已经配好邮件通知,并为每块成员盘开了 SMART 监控。
创建阵列会覆盖所选所有磁盘上的数据
影响范围:你选中的每一块盘,盘上原有的数据都会丢。OMV 创建时给 mdadm 传了 --run --force,mdadm 自带的「这块盘好像在用」的确认不会再问,所以确认必须在你这一侧做完。
前置条件:
- 按型号、序号和容量逐块核对成员盘,不是靠
/dev/sdX。 - 成员盘上没有需要保留的数据。
- 阵列建好后,里面的数据另有独立备份。
怎么回退:删除阵列只会拆掉阵列、清除成员盘上的 RAID 标记,不会还原盘原来的内容。第一次做,先用测试盘或虚拟机演练。
操作步骤
一、创建阵列
- 打开
存储器 → RAID 管理(Storage → Multiple Device),点创建。 - 级别(Level)选一个,默认是 RAID 5。
- 设备(Devices)多选成员盘。每个级别有最少盘数,不够时表单会提示「至少需要四台设备」之类。
- 点保存。OMV 随即创建
/dev/md0(编号顺延)。界面里没有名称字段。
二、等待首次同步
冗余级别(镜像、RAID 5、RAID 6、RAID 10)刚建好时,状态里会带「重新同步(resyncing)」和进度百分比,后台在计算校验或建立镜像。同步期间阵列可以用,但这时还没有完整的冗余:同步没完时坏一块盘,数据可能保不住。别急着放不可替代的数据,等到状态变成 clean 或 active。
同步时间取决于盘的容量和速度,机械大盘可能要好几个小时。
三、在阵列上建文件系统
- 打开
存储器 → 文件系统(Storage → File Systems),点加号,选 EXT4 或 XFS,见创建并挂载文件系统。 - 设备下拉框里的阵列显示为「Software RAID [/dev/md0, raid5, 容量]」。选它,保存。
- 在挂载页选这个文件系统,保存,点应用。
阵列这类叠加设备,OMV 不会再在上面划分区,直接用整个设备。Btrfs 不建议放在 md 上,原因见选择文件系统。
四、配置告警
打开 系统 → 通知 → 事件(System → Notification → Events),确认「RAID 管理(软 RAID)」这一项是开的,并且邮件通知已设置好,见配置邮件通知。阵列进入降级状态等事件会发邮件。
用下面的命令可以不弄坏任何盘就验证告警邮件,在 OMV 的 shell(SSH 或本机控制台,以 root 身份)执行:
sh
mdadm --monitor --scan --oneshot --test它给每个阵列生成一条测试告警并发到通知里的主邮箱。没收到,先检查邮件设置。没有启用邮件通知时,告警不会发邮件,只写进系统日志(诊断 → 系统日志(Diagnostics → System Logs))。
读懂 RAID 管理页
表格的列:设备(/dev/md0)、状态(State)、级别、容量、设备(成员盘)。状态的常见取值:
| 状态 | 含义 |
|---|---|
clean、active | 正常。active 表示正在被读写,8.1.6 起仪表盘也把它当作健康 |
带 degraded | 降级:有成员盘缺失或故障,数据还能读,但已经没有(或少了)冗余,要立即处理 |
带 resyncing、recovering、reshaping 和百分比 | 正在同步、重建或重塑,期间不要断电重启 |
inactive | 阵列没有运行,多半是成员盘缺了太多 |
具体文字以你界面里的显示为准。仪表盘上还有「MD 设备」小部件,正常的阵列(clean、active)显示为绿色,其他状态不是绿色,值得点进去看。
工具栏的图标,悬停会显示提示:
| 提示 | 作用 |
|---|---|
| 添加(Add) | 给阵列加盘并扩容,触发重塑,见维护篇 |
| 移除(Remove) | 把成员盘标记为故障并移出阵列,用来换坏盘 |
| 恢复(Recover) | 给降级的阵列加一块替换盘来重建;给健康的阵列加盘则是加热备盘 |
| 维护(Maintenance) | 检查、修复、停止一次一致性检查(仅冗余级别) |
| 显示详情 | 等同于 mdadm --detail |
| 删除 | 停止阵列并清除成员盘上的 RAID 标记。阵列被文件系统引用时是灰的 |
检查结果
RAID 管理页里新阵列的状态最终是clean或active,级别和成员盘与你选的一致。- 在 OMV 的 shell 里看(都是只读):
sh
cat /proc/mdstat
mdadm --detail /dev/md0/proc/mdstat 里每个阵列的末尾像 [3/3] [UUU],表示 3 块盘全部在线;有下划线如 [UU_] 就是降级。
- 重启一次,阵列应当自动组装并保持挂载。
- 测试告警邮件,见上面的命令。
RAID 5/6 的条带缓存
OMV 的 udev 规则默认把 RAID 5/6 阵列的 md/stripe_cache_size 设为 8192,来提高写入性能。内核默认只有 256。它占用的内存按 md 手册给出的公式估算:
内存 ≈ 页大小(通常 4 KiB)× 成员盘数 × stripe_cache_size
所以 8192 的设置,4 块盘大约 128 MiB,8 块盘大约 256 MiB。内存很紧时可以调小,用环境变量 OMV_MD_STRIPE_CACHE_SIZE(8.0.4 起提供),方法见环境变量。这个设置只对 RAID 4/5/6 有意义。
常见问题
候选列表里没有我的盘。 盘上还有文件系统或其他标记(先擦除);它是 USB 盘(默认隐藏);它被别的插件配置引用了;或者它是只读设备。
升级到 OMV 8 之后收到 DeviceDisappeared、NewArray 告警邮件。 这是 Debian 13 里 mdadm 的一个回归(Debian bug 1040638)。OMV 8.5.9 加了一条 udev 规则绕开它,更新到该版本以上即可,见系统更新。
有没有办法在 USB 盘上建阵列? md 插件里存在 OMV_MDMGMT_ALLOW_USB_DEVICES 这个环境变量,但官方标明默认不支持。USB 桥接芯片会过滤硬盘特性、不透传 SMART、让阵列组装变慢,出问题时社区也不提供支持。不建议用它绕开限制。
阵列降级了怎么办。 先看RAID 降级,换盘步骤见软件 RAID 维护。
想删除阵列,删除按钮是灰的。 阵列上的文件系统还被引用着。先去掉共享文件夹对它的引用,再卸载文件系统,最后才能删除阵列。
参考资料
- OMV 文档:md 插件
- OMV 新手指南(omv-extras wiki):RAID+USB 与 备份策略
- Linux 内核文档:md、md(4) 与 mdadm(8) 手册
- OMV 源码:
openmediavault-md插件的mdmgmt.inc、omv-mkraid、创建表单;核心的99-openmediavault-md-raid.rules