背景
公司提供的 OpsEye 系统除了软件交付还提供一体机交付的模式,监控系统会采集大量的指标数据进行计算和存储,所以对磁盘性能和稳定性有较高的要求。本着"做一件事就留下点什么"的宗旨,整理下磁盘的那些事,既用于公司选择可靠的硬件供应商,又能为配置电脑提供点参考。
引子
借用张冬《大话存储》的一张图,虽然是比较老的架构但也能说明问题。在计算机还分南桥北桥的时代,北桥用于连接 CPU 和内存进行高速计算,南桥用于连接外设(硬盘也是外设)。这里有两个与硬盘有关系的概念:
(1)总线:南桥的总线有三条与硬盘有关系,分别是 IDE 总线、PCI 总线、SCSI 总线。总线是个什么概念呢,其实可以理解成类似高速公路的数据传输通道,它的宽窄和通行速率决定了数据传输的速率和数据量大小。
(2)接口:简单点说硬盘从外观来看各种形状的接口,硬盘插在计算机主板上,实际上就是硬盘通过接口连入了计算机主板的总线。
影响硬盘整体性能的因素
简单了解了硬盘与主板的连接关系,那就能意识到抛开主板(上面有总线)谈硬盘是片面的——布加迪在乡村小道上也跑不起来啊。
其实除了接口和总线会影响硬盘性能,还有个因素就是协议。对照现实场景理解下"协议":在华侨北可以购买到各种顶级的手机配件,但把这些顶级配件组装起来,还不如几年前的华为手机好,那是因为没有好的装配规范和流程。
接口、总线、协议
总线、接口、协议是评判整体性能的三个关键因素。有人会问:那硬盘性能只看这几个,不看读写速率、吞吐量、时延等等么?当然要看,本文重点不在硬盘自身的参数(随处可查),而是说明硬盘参数之外的东西——并不是硬盘自身参数高,装配的电脑性能就高,要综合看问题。
硬盘分类选择
| 类型 | 全称 | 存储原理 | 速率 | 寿命 | 主要用途 |
|---|---|---|---|---|---|
| HDD | 机械硬盘 | 磁性碟片磁头寻道 | 低 | 较长 | 数据备份、大容量存储 |
| SSD | 固态硬盘 | 电子存储芯片 | 高 | 有限 | 高速磁盘访问、系统盘 |
| HHD | 混合硬盘 | HDD + SSD 集成 | 中 | 中等 | 兼顾性能与容量 |
选型建议:
- HDD(机械硬盘):通过磁头寻道的老式盘式硬盘,速率低但不易损坏,主要用于数据备份。
- SSD(固态硬盘):速率高但基于电压来做电子的吸入和释放,寿命有限,主要用于高速磁盘访问,但不适合数据的长久存放。
- HHD(混合硬盘):把 HDD 和 SSD 集成到一起的磁盘,兼顾两者优点。
选择何种硬盘主要看数据是否需要长久存放。如果数据非常重要,要选 HHD 或使用 SSD + 自主定期备份。
接口选择
| 接口类型 | 支持总线 | 支持硬盘类型 | 状态 |
|---|---|---|---|
| IDE | IDE 总线 | HDD | 已淘汰 |
| SATA | SATA 总线 | HDD、2.5寸 SSD | 主流 |
| mSATA | SATA 总线 | SSD(miniSATA) | 已淘汰 |
| SATA Express | PCIE/SATA | SSD | 已淘汰 |
| M.2 | PCIE 或 SATA | 仅 SSD | 主流 |
| PCIE(3.0/4.0/5.0) | PCIE 总线 | 仅 SSD | 主流高端 |
| SAS | SCSI 总线 | 服务器 HDD | 服务器常用 |
| U.2 | PCIE4 + SAS | SSD | 高端服务器 |
性能排序(从高到低):
U.2 > PCIE > M.2 > SAS > SATA/mSATA
稳定性排序(从高到低):
SAS > SATA > 其他
各接口详解:
- IDE 接口:太古老不解释了,已完全淘汰。
- SATA 接口:机械盘、2.5 寸的 SSD 盘都可以支持,是目前最常见的接口之一。
- mSATA:就是 miniSATA,为了缩小体积,把 SSD 盘去掉外壳缩小化了,在老式笔记本和一体机才会存在,目前已被淘汰。
- SATA Express:支持 PCIE 总线的接口,兼容 SATA 和 PCIE,不实用已被淘汰。
- M.2 接口:既支持 PCIE 又支持 SATA 的高速接口,只有 SSD 才支持,目前主流笔记本和台式机广泛使用。
- PCIE 接口:分 PCIE 3.0、4.0、5.0,版本越高性能越好,只有 SSD 才支持。
- SAS 接口:机械盘的一种,主要用于服务器,稳定性和性能都比较好。
- 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,它通过分布式奇偶校验在多块磁盘间实现数据冗余,在保证一定容错能力的同时也能提升读取吞吐量。
总结
选择合适的硬盘需要:
- 首先判断主板的总线能力(这是性能上限)
- 根据速度要求决定接口类型(SSD + PCIE/M.2 还是 SAS/SATA)
- 根据稳定性和数据保留要求决定硬盘类型(HDD 更适合长久保存,SSD 更适合高速访问)
不要直接纠结硬盘的各种参数,而是要先确认系统的整体配置能否支撑这些参数真正发挥出来。