跳转到内容

硬盘接口、HBA 与 USB 硬盘盒 ​

OMV 管磁盘有一个前提:它得直接看到每一块盘,包括真实的型号、序号、S.M.A.R.T. 数据和休眠控制。接口、控制器和硬盘盒,任何一环把盘「遮住」,后面的健康告警、按序号核对目标盘、硬盘休眠都会出问题。读完这篇,你能判断自己的盘有没有被遮住,也知道该怎么接。

先说结论 ​

  1. 数据盘优先走主板的 SATA 口(AHCI 模式),或者直通模式的 HBA 卡。
  2. 别用硬件 RAID 卡把多块盘合成一个逻辑盘再交给 OMV。
  3. USB 硬盘盒适合做备份盘和临时用途,不适合做阵列成员或主力数据盘。

接口速览 ​

接口典型用途在 OMV 里要注意
SATA(AHCI)数据盘和系统盘的主力BIOS 里把 SATA 模式设成 AHCI;盘直连 SATA 口时,S.M.A.R.T. 信息最完整
NVMe(M.2、U.2)系统盘、缓存、SSD 数据盘安装器必须能识别它;OMV 8.5.9 的更新记录提到修复了 ATA 与 NVMe 的 S.M.A.R.T. 状态判定;主板上有的 M.2 口会和 SATA 口共用通道,以主板手册为准
SAS企业盘、扩展柜需要 SAS HBA;SAS 口可以接 SATA 盘,SATA 口不能接 SAS 盘(TrueNAS 硬件指南的提醒)
USB备份盘、临时用途见下文,信息和稳定性都靠桥接芯片

HBA 与 RAID 卡 ​

为什么 OMV 要直接看到每块盘 ​

OMV 用型号和序号在 存储器 → 磁盘(Storage → Disks)里区分每块盘,用 S.M.A.R.T. 监控它们的健康,用盘的电源管理控制休眠,软件 RAID、Btrfs 和 SnapRAID 也都要自己管理多块盘的冗余。官方文档特别说明:OMV 只对接在直通模式 HBA 上的盘提供 S.M.A.R.T. 支持。

硬件 RAID 卡会把多块盘合成一个逻辑盘交给系统,OMV 就看不到后面的真实盘了。TrueNAS 的官方硬件指南总结过这类卡的几个问题(硬件原理同样适用于 OMV):可能遮住盘的序号和 S.M.A.R.T. 信息;可能比同等的 HBA 慢;如果用了写缓存,而备用电池已经失效,还可能丢数据。

怎么判断盘有没有被遮住 ​

下面的命令都是只读的:

sh
# 在 OMV 的 shell 里执行
lsblk -o NAME,MODEL,SERIAL,SIZE,TRAN,ROTA
smartctl -i /dev/<磁盘>

lsblk 的 MODEL 和 SERIAL 列应该是每块盘自己的真实型号和序号,而不是 RAID 卡的名字;TRAN 列显示接口类型(sata、usb、nvme 等);ROTA 为 1 表示机械盘,0 表示 SSD。smartctl -i 不加任何 -d 参数就能读出盘的信息,说明它是直通的。

买 HBA,或者处理手头的 RAID 卡 ​

  • 要买就买直通(HBA)模式的卡。这类卡的固件通常分两种:IT 模式,把每块盘原样交给系统;IR 模式,带可选的 RAID 功能。TrueNAS 的指南建议刷成 IT 固件,把 RAID 功能关掉。
  • 二手服务器自带的 RAID 卡,如果支持 HBA、直通或 JBOD 模式,就用这个模式,别用它的 RAID 功能。主板如果自带硬件 RAID 功能,也不要启用。
  • 装好之后用 lspci -nnk 看这块卡,Kernel driver in use 一行应该有驱动名。
  • HBA 卡通常需要风道,也会增加待机功耗,见低功耗整机参考。
  • 连很多块盘时,SAS 扩展器能让一个 SAS 口带多块盘。TrueNAS 的指南提醒,每块盘直连控制器是最理想的,但不一定做得到。

给 HBA 或 RAID 卡刷固件,不在本站范围

刷写固件要按卡的型号找对应的固件和工具,操作不当可能让卡无法使用。本站不提供刷写步骤。买之前问清楚卡出厂就是什么模式,比事后刷写省事。

USB 硬盘盒 ​

官方和 TrueNAS 怎么说 ​

OMV 官方文档指出,通过 USB 接入的盘(盘位底座、硬盘盒、转接线)信息不一定能透传:后端读到的可能是 USB 转 SATA 桥接芯片的信息,而不是盘的信息。官方的例子里,接在同一个底座上的两块盘显示了相同的序号,型号为空,供应商只显示「USB 3.0」。这时可以到 S.M.A.R.T. 部分点信息按钮查看盘的详情;单个便携式 USB 硬盘一般显示正常。

TrueNAS 的指南更直接:避免把 USB 接的硬盘用作主存储;可以在需要时拿来做基本的备份;USB 接的介质(包括 SSD)可能报告不准确的序号,导致彼此无法区分。

四个典型问题 ​

  1. 序号相同。 一个桥接芯片后面接多块盘的底座最常见。凡是擦除、创建文件系统这类破坏性操作,一次只接一块盘,并用容量和接口位置二次确认。

  2. S.M.A.R.T. 透传。 能不能读,由桥接芯片决定。OMV 依赖 smartmontools 的自动识别,并且每周自动更新它的设备数据库;想手动更新,可以在 OMV 的 shell 里运行 update-smart-drivedb。仍然识别不了,可以向 smartmontools 项目提交请求。

  3. UAS 与掉盘。 UAS(USB Attached SCSI)是 USB 存储的一种高速协议,有的桥接芯片和固件实现得不好,表现为掉盘、I/O 错误或反复复位。Linux 内核维护着一份「不寻常设备」清单,对一批桥接芯片设置了兼容标志,其中包含 JMicron 的几个型号,所以同一块盘换个盒子,表现可能完全不同。想看设备走的是哪个驱动,可以在日志里搜:

    sh
    # 在 OMV 的 shell 里执行(只读)
    dmesg | grep -i -E 'uas|usb-storage'
  4. 供电。 3.5 英寸盒子要用独立电源;2.5 英寸盘靠 USB 总线供电,容易不稳。

别乱试 smartctl 的 USB 设备类型

可以用 smartctl -d sat -i /dev/<磁盘> 做只读的探测,sat 适用于 SCSI 到 ATA 转换层后面的 ATA 盘。但 smartctl 手册明确警告:某些桥接类型的选项有风险,例如 usbcypress 修改操作码可能损坏设备或其上的文件系统,usbjmicron 的 ,x 选项用在不支持的桥接芯片上,会导致 I/O 错误并可能让盘断开。读不出来,就别再换着类型试。

为什么不建议用 USB 盘组 RAID ​

以下是本站的判断:

  • 一个 USB 控制器或集线器复位,会让多块盘同时掉线,阵列瞬间降级,甚至损坏。
  • 序号和 S.M.A.R.T. 不可靠,坏盘时你很难确认拔的是哪一块。
  • 多块盘共享一条总线,重建时间会很长。

USB 盒适合的场景:备份盘、临时拷贝、数据迁移。用法见外接 USB 硬盘的正确用法和插上 USB 硬盘自动备份。

其他要留意的 ​

  • SATA 扩展卡与端口倍增器。 便宜的 PCIe 转 SATA 扩展卡质量参差,端口倍增器会让多块盘共用一条链路,带宽和稳定性都会打折。本站的判断是:盘多了,优先选 HBA 或主板原生接口。
  • BIOS 里的 SATA 模式。 官方要求设成 AHCI。如果安装器看不到硬盘,检查是不是被设成了 RAID、RST 或 VMD 之类的模式,具体名称以主板手册为准。

检查结果 ​

装好盘之后,逐项核对:

  1. lsblk -o NAME,MODEL,SERIAL,SIZE,TRAN,ROTA 里每块盘都有真实的型号和序号。
  2. 在 存储器 → 磁盘 里,型号、序号和容量与你买的盘一致。
  3. 在 存储器 → S.M.A.R.T.(Storage → S.M.A.R.T.)的 设备(Devices)里,能看到每块盘的 S.M.A.R.T. 状态和温度。
  4. 用了 USB 盒的话,跑一段时间后,dmesg 里没有反复出现的复位或 I/O 错误。

常见问题 ​

存储器 → 磁盘 里两块 USB 盘的序号一样。 桥接芯片的问题,见上文。擦除前一次只接一块盘。

S.M.A.R.T. 读不到。 先在 S.M.A.R.T. 的设备详情页看信息;再用 smartctl -d sat -i /dev/<磁盘> 只读探测;仍然不行,多半是这个盒子不支持透传,换一个桥接芯片更好的盒子,或者把盘接到 SATA 口上。

NVMe 在安装器里看不到。 官方给的最后手段是论坛里的 debootstrap 安装指南,适合安装器识别不了 NVMe 或需要更新内核才能驱动的网卡。多数人可以先试 Debian 13 的安装镜像,再装 OMV,见在 Debian 13 上安装 OMV。

要不要买一张 RAID 卡? 不要。软件 RAID、Btrfs 和 SnapRAID 都需要直接看到盘。

参考资料 ​

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