RAID状态降级,是运维工作中最常遇到的存储告警之一。它通常意味着阵列中有一块硬盘离线或故障,冗余保护已经失效——此时如果再有第二块盘出问题,数据就可能彻底丢失。
很多新手看到“降级”提示会紧张,但其实降级不等于数据丢失。RAID的容错机制正在正常工作,业务通常还能继续运行。关键在于:在剩余硬盘也出问题之前,尽快完成故障盘的定位、更换和重建。这篇文章从原因分析到实操修复,手把手带你走完整个流程,并告诉你如何通过硬件选型减少这类问题的发生。
先搞清楚:RAID降级意味着什么
RAID通过冗余机制保护数据。以最常见的RAID 5为例,三块盘组阵列时,允许任意一块盘故障,数据仍可正常读写。当一块盘离线后,阵列状态从“正常”变为“降级”——此时冗余保护已经消失,阵列变成了“没有备胎的车”。
RAID 1和RAID 10的情况类似。RAID 1的两块盘互为镜像,一块故障后仍可运行;RAID 10允许每个镜像对中各坏一块盘,但一旦某个镜像对中两块盘同时故障,数据就会丢失。
降级状态下的风险是递增的。如果剩余硬盘中存在未被发现的潜在坏道,或者重建过程中再次发生故障,阵列可能直接崩溃。RAID 5重建期间遭遇二次故障的概率,在6TB以上的大容量硬盘上可达约4%。因此,降级告警一旦出现,应当作为高优先级事件处理。
第一步:确认降级状态与故障盘位置
不同RAID控制器查看状态的命令不同,但核心信息是一致的:哪块盘故障了,阵列当前是什么状态。
硬件RAID(以LSI/Broadcom控制器为例) ,使用storcli64工具拉取阵列全景信息:
storcli64 /c0 show all
关注输出中的几个关键字段:虚拟盘(VD)的`State`列如果显示`Dgrd`(Degraded),说明阵列处于降级状态;物理盘(PD)中`State`为`Failed`或`Offline`的,就是故障盘。
软件RAID(mdadm) ,执行:
cat /proc/mdstat
mdadm --detail /dev/md0
如果输出中看到`[UUU_]`(下划线代表缺失的盘),或者`State`显示`degraded`,说明阵列已经降级。`Failed Devices`那一行会明确列出故障盘。
Windows环境则可以通过Intel RSTe管理工具或RAID控制器自带的图形界面查看。联想ThinkServer的RSTe RAID在管理工具主界面就会显示降级状态和“未知磁盘(0 GB)”的故障盘信息。
定位到故障盘后,先不要急着操作。确认故障盘是“彻底离线”还是“预测性故障”。如果只是预测性故障(硬盘还能读写但SMART告警),重建的成功率更高;如果已经彻底离线,则需要更换新盘。
第二步:更换故障盘
确认故障盘位置后,根据服务器是否支持热插拔决定操作方式。
支持热插拔的机型,可以直接拔出故障盘,插入同型号或兼容型号的新盘。注意新盘的容量不能小于原阵列中最小成员盘的容量,否则重建会失败。
不支持热插拔的机型,需要先关机,再更换硬盘。热插入不支持热插拔的插槽,系统可能无法正确识别新盘,需要重启后才能识别。
更换完成后,如果是硬件RAID,通常需要在RAID管理界面中将新盘指定为热备盘(Hot Spare) 或手动触发重建。以Dell PERC S100为例,进入`Manage Global Hot Spare(s)`菜单,选中新盘后按Enter选择`Assign`,系统会提示选择要加入的虚拟磁盘,确认后自动开始重建。
第三步:触发重建(Rebuild)
硬件RAID的重建通常由控制器自动管理。如果更换新盘并指定为热备后没有自动开始,可以手动触发:
storcli64 /c0/e252/s1 start rebuild
其中`e252`是机柜编号,`s1`是槽位号,需要替换为实际值。
软件RAID(mdadm)的重建需要手动添加新盘:
mdadm /dev/md0 --add /dev/sdb1
添加后系统会自动开始重建。实时查看进度:
watch -n1 'cat /proc/mdstat'
输出中会显示`recovery = 12.4%`这样的进度条,重建期间阵列可以继续读写,但性能会有所下降。
重建时间取决于硬盘容量和业务负载。一块4TB的SATA盘,在业务低峰期重建大约需要2-4小时;如果业务负载较高,重建时间会显著延长。重建期间应尽量避免大规模写入操作,让重建进程尽快完成。
第四步:验证重建结果
重建完成后,需要确认阵列恢复到了“正常”状态。
硬件RAID,再次执行`storcli64 /c0 show all`,确认虚拟盘的`State`显示`Optl`(Optimal),所有物理盘状态为`OnLn`(Online)。
软件RAID,执行`mdadm --detail /dev/md0`,确认`State`显示`clean`,`Failed Devices`归零,`Active Devices`恢复为正常数量。
重建完成后,还需要检查文件系统的一致性。对于ext4文件系统:
fsck -f /dev/md0
对于XFS文件系统,重建后通常不需要额外的fsck操作,但建议检查挂载日志中是否有异常。
预防胜于修复:配置热备盘
最有效的预防措施是配置热备盘(Hot Spare) 。热备盘是一块平时不参与读写、但随时待命的硬盘。当阵列中某块盘故障时,控制器会自动将热备盘加入阵列并开始重建,无需人工介入。
配置热备盘的前提是:热备盘的容量不能小于阵列中最小成员盘的容量。一块500GB的热备盘无法为一块1TB的阵列成员盘提供替换。
热备盘分为全局热备和专用热备。全局热备可以被同一控制器下的任意阵列使用,适合多阵列共存的场景;专用热备只服务于指定的阵列,隔离性更好但灵活性较低。对于关键业务节点,建议配置专用热备盘,实现故障盘的自动接替。
底层硬件:RAID可靠性的“地基”
RAID的可靠性不仅取决于配置和维护,更取决于硬盘本身的质量。普通家用硬盘的设计目标是每天8小时工作、每年约2400小时运行;而企业级硬盘支持7×24小时连续运行,平均无故障时间(MTBF)远高于家用盘,且具备抗震动设计,适合在RAID阵列中长期高负载工作。
华纳云的存储服务器方案在硬件选型上采用了企业级硬盘,配合硬件RAID控制器,为需要长期稳定运行的业务提供了匹配的基础设施。华纳云提供多种阵列方案,RAID 5在容错能力和磁盘利用率之间取得平衡,适合中小企业数据备份和归档场景;RAID 10虽然牺牲了50%的硬盘容量,但换来了更高的数据安全性和吞吐性能,适合对I/O要求较高的企业级应用。华纳云的香港、美国及新加坡节点均支持RAID配置,用户可以根据业务需求选择最合适的阵列方案。
续费同价政策确保首购价格就是续费价格,对于需要长期运行存储业务的用户来说,成本的可预期性本身就是运维规划的一部分。
RAID降级不是灾难,而是预警。 它提醒你“冗余保护正在工作,但备胎已经用掉了”。及时更换故障盘、完成重建、配置热备盘,就能让阵列恢复到最佳状态。访问华纳云官网,查看支持RAID的存储服务器方案,为你的数据安全选一个底子扎实的起点。
推荐文章