首页/系统/服务器硬件与 RAID 速查/RAID 5 写洞(Write Hole)问题
RAID 级别与计算68 条

RAID 5 写洞(Write Hole)问题

断电或崩溃发生在数据与校验分批写入之间时,RAID 5/6 的条带可能处于数据与校验不一致状态,重建后错误会固化。带掉电保护的缓存或事务型文件系统可以缓解。

成因同一条带的数据写与校验写未原子完成(掉电、死机、卡故障)
后果重建时按错误校验恢复,产生静默错误
缓解带电池/超级电容的写缓存、整条带写、支持校验日志的存储栈(如 ZFS)

检查是否启用写缓存(示例:storcli 查看逻辑盘策略)

检查是否启用写缓存(示例:storcli 查看逻辑盘策略)
storcli /c0/v0 show all | grep -i -E "write|policy"
RAID 5 掉电后先确认阵列一致性检查已做或业务已备份,再决定是否直接重建。

易错点

  • 认为 RAID 卡有电池就一定安全:电池老化或策略为 Write Through 时仍可能出问题
  • 掉电后直接强制上线业务,跳过一致性检查,遗留的不一致在后续重建中放大

数据来源与参考

  • ZFS 文档(write hole 与校验日志)
  • Broadcom MegaRAID 用户指南(写缓存保护)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌