跳转到内容

数据盘怎么选:CMR、SMR 与 NAS 盘 ​

数据盘决定这台 NAS 能存多少,也决定坏盘时有多麻烦。选盘最容易踩的坑是 SMR:它平时看不出来,等到阵列重建时才暴露。读完这篇,你能分清 CMR 和 SMR,知道该买哪一类盘,也知道新盘到手后第一件事做什么。

先说结论 ​

  1. 做 RAID、SnapRAID 或 mergerfs 的数据盘,选 CMR,别选 SMR,这是官方文档的建议。
  2. 单盘做备份盘、以顺序写入为主,SMR 可以接受,但要知道它的脾气。
  3. 按「NAS 级」找盘,但别只看盒子上的「NAS」两个字,要查 CMR 还是 SMR、支不支持错误恢复控制、保修多久。
  4. 新盘到手,先做一次 S.M.A.R.T. 长时自检,再放数据。

OMV 对数据盘的规则 ​

  • 数据盘必须和系统盘不是同一块盘,所有数据分区都挂载在 /srv/ 下。一块数据盘上的一个分区可以承载多个共享文件夹。
  • OMV 支持任何接口的盘(SATA、SCSI、USB 等),但能读到多少信息、能管理到什么程度,取决于 Debian 对这块盘的支持。官方文档特别说明:只有接在直通模式 HBA 上的盘,才有完整的 S.M.A.R.T. 支持,见硬盘接口、HBA 与 USB 硬盘盒。
  • 官方文档对类型的态度:SSD 性能最好,机械盘长期更耐久。

CMR 与 SMR ​

  • CMR(Conventional Magnetic Recording,传统磁记录):磁道互不重叠,可以单独改写某个位置。
  • SMR(Shingled Magnetic Recording,叠瓦式磁记录):磁道像瓦片一样部分重叠,能塞进更多数据,代价是改写一处要连带处理相邻区域。盘内部靠缓存区加后台整理来掩盖这件事,所以持续的随机写入会让它没有空闲时间整理,速度骤降。Seagate 的说明把它描述成适合顺序写入或容易变成顺序写入的负载,比如备份和归档;WD 的说明则指出,这类盘需要空闲时间做后台操作,没有空闲,命令就会变慢。

官方文档对 OMV 的建议很明确:做 RAID、SnapRAID 或 mergerfs,优先选 CMR;SMR 盘在重建和校验同步时可能卡住,而且光看型号,通常看不出记录方式。

场景SMR 的影响依据
单盘当备份盘,以顺序写入为主通常可以接受Seagate 的说明把顺序写入、备份和归档列为 SMR 适合的负载
md 软件 RAID 重建重建要持续写入,可能极慢,甚至被阵列当成故障盘踢出OMV 官方文档;Linux RAID wiki 提到有 SMR 盘卡住超过 10 分钟的报告
SnapRAID 同步、mergerfs 池同步校验时可能卡住OMV 官方文档
ZFS 重建(resilver)持续随机写入,SMR 没有空闲时间整理WD 的说明建议 ZFS 用 CMR 盘

怎么知道自己的盘是不是 SMR ​

  • 别看营销名,也别靠型号后缀猜。去查厂商的官方说明:WD 的判断步骤、Seagate 的 CMR 与 SMR 说明。
  • 商家没写明,就当成 SMR 对待,或者问清楚再买。
  • 已经装上的盘,用 smartctl -i 读出型号,再去厂商页面对照:
sh
# 在 OMV 的 shell 里执行(只读)
smartctl -i /dev/<磁盘>

<磁盘> 是设备名,在 存储器 → 磁盘(Storage → Disks)的 设备(Device)列能看到。输出里的 Device Model 就是型号。

NAS 盘、桌面盘、监控盘、企业盘 ​

类别设计目标在 OMV 里要注意
桌面盘单盘使用,每天开机几个小时便宜的桌面盘大多不支持错误恢复控制(ERC),不适合做 RAID 成员,见下文
NAS 盘多盘、长时间开机通常支持 ERC,规格书里有多盘抗振动和工作负载的指标;记得核对 CMR
监控盘针对持续写入的视频流拿来做 NAS 数据盘前,先核对规格书对 ERC 与多盘使用的说明
企业盘规格最高价格、噪音和功耗也最高,家用通常不必要

具体规格以厂商的规格书为准,本站不列型号。

错误恢复控制(ERC)为什么重要 ​

读不出数据时,盘会反复重试。桌面盘可能重试两分钟以上,而 Linux 内核大约等 30 秒就放弃;内核超时之后,RAID 会尝试重写这个位置,盘还在忙着重试没有响应,阵列就把它当成坏盘踢出去,一个坏扇区就可能弄垮整个阵列(这是 Linux RAID wiki 的描述)。ERC 是让盘自己限制重试时间的功能,不同厂商叫 TLER、CCTL 等名字。

只读检查盘是否支持:

sh
# 在 OMV 的 shell 里执行(只读查询,只对 ATA 盘有效)
smartctl -l scterc /dev/<磁盘>

按 smartctl 手册,输出里的时间以十分之一秒为单位,做 RAID 时通常设成 70,也就是 7 秒。本站不教你改这个值:部分盘断电后会丢掉设置,手册也把让设置在断电后保留的选项标为实验性。优先选原生支持 ERC 的盘,而不是靠改设置补救。

容量规划与成本 ​

  • 先定盘位数和冗余方案,再定单盘容量。 可用容量怎么算,见规划你的第一台 NAS。
  • 单盘容量越大,单位容量越便宜,占的盘位和耗电也越少;代价是重建时要读写整块盘,耗时更长,一块盘坏了影响面也更大。
  • 预算里要给备份盘留一份,别把钱全花在数据盘上。

冗余不是备份

镜像、RAID5/6 和 SnapRAID 防的是坏盘;误删、勒索软件、配置改崩和整机损坏,只有独立备份能救。选盘时把备份盘和数据盘一起算进预算。

新盘先做 S.M.A.R.T. 长时自检 ​

新盘也可能有出厂缺陷,而且盘越早暴露问题,退换越容易。在 OMV 里按下面的顺序做,全程不改动盘上的数据:

  1. 打开 存储器 → S.M.A.R.T. → 设置(Storage → S.M.A.R.T. → Settings),把 已启动(Enabled)勾上,保存。它默认是关闭的。
  2. 打开同一菜单下的 设备(Devices),选中新盘,点编辑,勾选 监控已启用(Monitoring enabled),保存。
  3. 点页面顶部黄色提示条上的应用。
  4. 打开 计划任务(Scheduled Tasks),创建一条任务:设备选新盘,类型选「长时自检」(Long self-test),保存,再选中它,点 运行(Run)。
  5. 长时自检会读遍整个盘面,耗时随容量增加,大盘可能要很久,期间盘还能用,但会慢一些。
  6. 结束后,回到 设备,打开这块盘的详情,看 自检日志(Self-Test Logs):状态应该是顺利完成,没有错误(以界面显示为准)。再看 属性(Attributes)。

属性里,下面这几项新盘应该都是 0:5(重新分配扇区数)、187(报告的无法校正错误)、197(当前待处理扇区)、198(脱机无法校正)。199(UDMA CRC 错误)也应是 0,它增长通常指向线缆或接口问题,不是盘本身。各项含义和告警设置见S.M.A.R.T.:监控硬盘健康。

检查结果 ​

每块数据盘,你应该能填出下面这几项:

  1. 型号和序号:记在你的资产表里,后面擦除、创建文件系统时用来核对目标盘。
  2. 是 CMR 还是 SMR:有厂商资料为证。
  3. 有没有 ERC:smartctl -l scterc 的结果。
  4. 长时自检完成,没有错误,关键属性为 0。

查看属性可以用命令,也可以在界面里看:

sh
# 在 OMV 的 shell 里执行(只读)
smartctl -A /dev/<磁盘>

常见问题 ​

已经买了 SMR 盘怎么办? 用作单盘或备份盘,别放进 RAID、SnapRAID 或 ZFS。如果已经在阵列里,发现重建奇慢,先看RAID 降级,别在重建中途乱拔盘。

SSD 能做数据盘吗? 能,官方文档说 SSD 的性能最好。SSD 要注意 TRIM 和寿命,见SSD、NVMe 与 TRIM。

硬盘越大越好吗? 不一定。容量大意味着重建更久、单盘影响面更大。盘位够的话,用更多块中等容量的盘,有时比少数几块大盘更稳妥。

参考资料 ​

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