核心观点与问题背景
随着新型记录技术的应用,硬盘单碟容量已达到60TB以上,但伺服机械能力未能同步提升,导致IOPS/TB比值下降。低IOPS/TB无法满足延迟敏感型工作负载的QOS要求,客户为维持读延迟QOS可能需要缩短磁头行程或部署低容量硬盘,这两种方式都会增加整体存储TCO。
关键数据与趋势
- 2009-2021年,硬盘容量持续增长,IOPS/TB比值显著下降。
- 预计未来几年IOPS/TB比值仍将保持低增长趋势。
- 数据管理技术进步推动最小IOPS/TB要求下降,但延迟敏感型工作负载仍面临性能瓶颈。
解决方案:多执行器硬盘并行技术
Seagate Mach.2™作为双执行器硬盘解决方案,通过将媒体分为两组独立执行器、读写通道和磁盘管理器,可提供双倍吞吐量。其数据路径独立但管理路径共享,符合传统SAS传输协议。
系统集成建议
设备级
- HBA应保留双LUN呈现,操作系统存储栈将每个执行器映射为独立SCSI目标。
- 设备管理工具需识别LUN对内的共同管理平面(如电源管理命令)。
- 数据管理方案应将LUN视为同一故障域(除VCM驱动等少数单LUN故障模式)。
- 建议采用多LUN数据布局设计,如每LUN部署文件系统或直接存储访问。
硬件RAID
- 双执行器硬盘的LUN不构成独立故障域,类似多块独立硬盘。
- 可将每块硬盘的一个LUN组成RAID5冗余组,两组RAID5再构成RAID50阵列。
- 故障时两组冗余组均受影响但无数据丢失,可靠性等同于RAID50。
LVM2与GEOM(Linux/FreeBSD)
- 卷管理器需将双执行器硬盘的LUN视为同一故障域。
- 应平衡执行器负载,优化数据布局(如条带化)。
- 配置原则与硬件RAID类似,但更灵活。
Windows Storage Spaces
- 多LUN硬盘可按需组合,但单池最多支持84个"磁盘"(实际为192LUN)。
- Windows Server将故障域下推至物理盘,但未识别同一硬盘LUN的故障域一致性。
- 管理时需避免将同一硬盘的LUN分配至同一存储池。
行动建议
- 设备厂商应优化多LUN设备的数据/命令路径,减少跨LUN交互。
- 存储厂商/栈开发者需强化多LUN直连存储管理实现,支持更细粒度的故障域识别。
- 物理硬盘LUN非冗余,需警惕代码/工具中的设备=LUN堆栈假设。