背景

公司提供的 OpsEye 系统除了软件交付还提供一体机交付的模式,监控系统会采集大量的指标数据进行计算和存储,所以对磁盘性能和稳定性有较高的要求。本着"做一件事就留下点什么"的宗旨,整理下磁盘的那些事,既用于公司选择可靠的硬件供应商,又能为配置电脑提供点参考。

引子

借用张冬《大话存储》的一张图,虽然是比较老的架构但也能说明问题。在计算机还分南桥北桥的时代,北桥用于连接 CPU 和内存进行高速计算,南桥用于连接外设(硬盘也是外设)。这里有两个与硬盘有关系的概念:

(1)总线:南桥的总线有三条与硬盘有关系,分别是 IDE 总线、PCI 总线、SCSI 总线。总线是个什么概念呢,其实可以理解成类似高速公路的数据传输通道,它的宽窄和通行速率决定了数据传输的速率和数据量大小。

(2)接口:简单点说硬盘从外观来看各种形状的接口,硬盘插在计算机主板上,实际上就是硬盘通过接口连入了计算机主板的总线。

影响硬盘整体性能的因素

简单了解了硬盘与主板的连接关系,那就能意识到抛开主板(上面有总线)谈硬盘是片面的——布加迪在乡村小道上也跑不起来啊。

其实除了接口和总线会影响硬盘性能,还有个因素就是协议。对照现实场景理解下"协议":在华侨北可以购买到各种顶级的手机配件,但把这些顶级配件组装起来,还不如几年前的华为手机好,那是因为没有好的装配规范和流程。

接口、总线、协议

总线、接口、协议是评判整体性能的三个关键因素。有人会问:那硬盘性能只看这几个,不看读写速率、吞吐量、时延等等么?当然要看,本文重点不在硬盘自身的参数(随处可查),而是说明硬盘参数之外的东西——并不是硬盘自身参数高,装配的电脑性能就高,要综合看问题。

硬盘分类选择

类型全称存储原理速率寿命主要用途
HDD机械硬盘磁性碟片磁头寻道较长数据备份、大容量存储
SSD固态硬盘电子存储芯片有限高速磁盘访问、系统盘
HHD混合硬盘HDD + SSD 集成中等兼顾性能与容量

选型建议:

  • HDD(机械硬盘):通过磁头寻道的老式盘式硬盘,速率低但不易损坏,主要用于数据备份。
  • SSD(固态硬盘):速率高但基于电压来做电子的吸入和释放,寿命有限,主要用于高速磁盘访问,但不适合数据的长久存放。
  • HHD(混合硬盘):把 HDD 和 SSD 集成到一起的磁盘,兼顾两者优点。

选择何种硬盘主要看数据是否需要长久存放。如果数据非常重要,要选 HHD 或使用 SSD + 自主定期备份。

接口选择

接口类型支持总线支持硬盘类型状态
IDEIDE 总线HDD已淘汰
SATASATA 总线HDD、2.5寸 SSD主流
mSATASATA 总线SSD(miniSATA)已淘汰
SATA ExpressPCIE/SATASSD已淘汰
M.2PCIE 或 SATA仅 SSD主流
PCIE(3.0/4.0/5.0)PCIE 总线仅 SSD主流高端
SASSCSI 总线服务器 HDD服务器常用
U.2PCIE4 + SASSSD高端服务器

性能排序(从高到低):

U.2 > PCIE > M.2 > SAS > SATA/mSATA

稳定性排序(从高到低):

SAS > SATA > 其他

各接口详解:

  1. IDE 接口:太古老不解释了,已完全淘汰。
  2. SATA 接口:机械盘、2.5 寸的 SSD 盘都可以支持,是目前最常见的接口之一。
  3. mSATA:就是 miniSATA,为了缩小体积,把 SSD 盘去掉外壳缩小化了,在老式笔记本和一体机才会存在,目前已被淘汰。
  4. SATA Express:支持 PCIE 总线的接口,兼容 SATA 和 PCIE,不实用已被淘汰。
  5. M.2 接口:既支持 PCIE 又支持 SATA 的高速接口,只有 SSD 才支持,目前主流笔记本和台式机广泛使用。
  6. PCIE 接口:分 PCIE 3.0、4.0、5.0,版本越高性能越好,只有 SSD 才支持。
  7. SAS 接口:机械盘的一种,主要用于服务器,稳定性和性能都比较好。
  8. U.2 接口:SAS 接口的衍化,使之兼容 SAS 和 PCIE4,用于高端服务器。

主板选择

前面讲的是硬盘接口,主板提供了什么样的接口才能插什么样的硬盘。如何选择主板让硬盘能发挥性能:

性能级别总线协议推荐接口
高性能PCIE 总线NVMe 协议U.2、PCIE、M.2
较高性能SAS 总线SCSI 协议SAS
低性能仅 SATA 总线AHCI 协议SATA

木桶原理提示: 硬盘选择一定要基于主板的能力。U.2 接口的硬盘,插到只支持 SATA 总线的主板上,那和一块 SATA 硬盘没有区别——主板的总线就是那块短木板。

通过 RAID 并发提升硬盘整体性能

在服务器场景中,还可以通过 RAID(独立磁盘冗余阵列)来进一步提升硬盘的整体性能和可靠性。常见的方案是 RAID 5,它通过分布式奇偶校验在多块磁盘间实现数据冗余,在保证一定容错能力的同时也能提升读取吞吐量。

总结

选择合适的硬盘需要:

  1. 首先判断主板的总线能力(这是性能上限)
  2. 根据速度要求决定接口类型(SSD + PCIE/M.2 还是 SAS/SATA)
  3. 根据稳定性和数据保留要求决定硬盘类型(HDD 更适合长久保存,SSD 更适合高速访问)

不要直接纠结硬盘的各种参数,而是要先确认系统的整体配置能否支撑这些参数真正发挥出来。