3. 存储介质与RAID控制器基础
在PowerEdge服务器的存储设计中,介质类型与RAID控制器共同决定了整条I/O路径的带宽、时延与可靠性边界。理解SAS、SATA、NVMe SSD与HDD的物理与协议差异,以及PERC控制器的工作模式与缓存策略,是后续做盘位规划、虚拟磁盘划分和缓存调优的前提。
一、四类介质的协议与性能定位
从接口协议看,SAS与SATA都属于SCSI/ATA命令体系,走串行点对点链路;NVMe则直接构建在PCIe之上,使用精简的提交/完成队列模型。这一根本差异决定了三者的时延量级:SATA单队列深度32,SAS可扩展到更深的队列与双端口,NVMe则支持最多64K个队列、每队列64K深度,命令路径大幅缩短。
HDD与SSD的差异则来自机械结构。HDD受限于盘片旋转与磁头寻道,随机IOPS通常只有百级,顺序吞吐尚可;SSD没有寻道开销,随机性能接近顺序性能。因此选型时不能只看容量单价,而要看工作负载的随机/顺序比例。
| 介质 | 典型接口 | 随机IOPS量级 | 顺序吞吐量级 | 典型用途 |
|---|---|---|---|---|
| SATA HDD | 6Gb/s SATA | 75~150 | 150~250MB/s | 冷数据、备份、归档 |
| SAS HDD | 12Gb/s SAS | 150~300 | 200~300MB/s | 大容量温数据、近线存储 |
| SATA/SAS SSD | 6/12Gb/s | 数万~十几万 | 500~550MB/s | 读密集、启动盘、缓存层 |
| NVMe SSD | PCIe 4.0/5.0 | 数十万~百万级 | 数GB/s | 数据库、虚拟化、低时延热数据 |
需要说明的是,上表为量级参考,实际数值随具体型号、队列深度、块大小和读写比例变化。例如同为NVMe SSD,消费级与企业级在持续写入稳定性和掉电保护上差异显著,企业级盘通常具备PLP(掉电保护)与更稳定的稳态写入性能。
二、介质与背板、控制器的连接关系
在PowerEdge机箱内,介质并非直接连到CPU,而是经过背板与控制器。理解这条链路有助于判断瓶颈位置:NVMe盘通常通过PCIe直连背板再到CPU或通过PCIe Switch扩展;SAS/SATA盘则经背板连到PERC或HBA。下图给出典型连接拓扑与协议归属。
图中虚线路径值得注意:NVMe盘可以绕过PERC直连CPU,此时若需要RAID保护,需借助VROC(Virtual RAID on CPU)或操作系统软RAID。而SAS/SATA盘必须经过PERC或HBA,硬件RAID能力由PERC提供。
三、PERC的工作模式
PERC系列控制器主要有三种工作模式,选择哪种取决于是否需要硬件RAID以及是否使用第三方软件定义存储。
- RAID模式:控制器接管物理盘,向上呈现虚拟磁盘(VD)。支持RAID 0/1/5/6/10/50/60等,具备缓存与掉电保护。这是最常见的生产模式。
- HBA/直通模式:物理盘直接透传给操作系统,PERC不参与RAID运算。适用于vSAN、Ceph等分布式存储,或需要ZFS等自带校验的软件栈。
- 混合模式:部分盘做硬件RAID,部分盘直通,兼顾启动盘与数据盘的不同需求。
模式切换通常需要重启并进入PERC BIOS(Ctrl+R)或通过iDRAC、OMSA操作。切换会清除现有RAID配置,务必先备份。在HBA模式下,PERC的缓存不再用于写加速,写缓存策略也随之失效。
四、缓存策略与写策略
PERC的缓存是提升写性能的关键。控制器上通常有1~8GB DDR4缓存,配合电池或超级电容(BBU/超级电容)实现掉电保护。缓存策略主要涉及两个维度:读策略与写策略。
读策略常见有:No Read Ahead(不预读,适合随机读)、Read Ahead(预读,适合顺序读)、Adaptive Read Ahead(自适应,控制器根据访问模式动态调整)。写策略则分为:
- Write-Through(直写):数据同时写入缓存和磁盘后才返回完成。安全性高,但写性能受磁盘限制。
- Write-Back(回写):数据写入缓存即返回完成,后续异步刷盘。性能高,但依赖缓存掉电保护。若BBU/超级电容失效,控制器通常会自动降级为Write-Through。
- Write-Back with No Battery:无保护时强制回写,风险极高,仅用于测试。
五、一个选型与配置的示例
假设一台R750用于中小型数据库,配置8个2.5英寸盘位。示例方案:2块480GB SAS SSD做RAID 1装系统,6块1.92TB SAS SSD做RAID 5存数据。PERC H755,缓存8GB,超级电容正常。
配置要点:系统盘VD读策略用No Read Ahead(系统盘随机读多),写策略Write-Back;数据盘VD读策略Adaptive Read Ahead,写策略Write-Back。条带大小(Strip Size)对数据库建议64KB或128KB,需与数据库页大小匹配。若数据库以随机小IO为主,RAID 5的写惩罚(4次I/O)会明显,此时可考虑RAID 10。
# 通过 perccli 查看控制器与VD状态(示例)
perccli /c0 show
perccli /c0 /v0 show
perccli /c0 /eall /sall show
# 查看缓存与电池状态
perccli /c0 show all | grep -i "cache\|battery\|capacitor"
判断配置是否合理,可观察几个指标:VD的写策略是否保持Write-Back、缓存命中率、以及在高负载下是否出现缓存刷盘瓶颈。若写策略频繁降级,应检查超级电容健康状态。
六、介质与RAID的匹配原则
最后归纳几条实用原则。第一,HDD适合大容量顺序场景,RAID 5/6可提升容量利用率,但重建时间长,大容量盘建议RAID 6。第二,SSD随机性能强,RAID 5写惩罚相对可接受,但要注意SSD的写入寿命与稳态性能。第三,NVMe若走PERC,需确认控制器是否支持NVMe管理;若走直连,则RAID由VROC或软件层负责。第四,缓存策略必须与掉电保护状态联动,Write-Back不是无条件可用的。
把介质特性、连接路径、工作模式与缓存策略放在一起看,才能解释为什么同样的盘位数量,不同配置会得到差异明显的IOPS与时延表现。这也是后续做性能调优和故障排查的基础。