DELL杭州代理商介绍:DELL RAID阵列中的双重故障和穿孔。
数据错误
RAID阵列并非不受数据错误的影响。RAID控制器和硬盘固件包含检测并纠正多种类型的数据错误的功能,避免这些错误被写入阵列/驱动器。
使用过时的固件可能导致将不正确的数据写入阵列/驱动器,因为它缺少最新固件版本中提供的错误处理/错误纠正功能。
双重故障
如果未纠正RAID阵列中的任何一个错误,都可能导致阵列中出现更多严重错误,特别是在发生第二个错误时。
图1:RAID 5阵列中的多个单故障 - 最佳阵列
图2:发生故障驱动器的双重故障(磁条1和2中的数据丢失)- 降级阵列
保持最佳状态的阵列可能发生双重故障的情况。多个硬盘上的相同LBA有错误将发生这种情况。考虑到如今较大硬盘上有很多LBA,这种情况会非常少见。多个硬盘上的同一LBA不太可能同时“坏”。
什么是穿孔?如何导致穿孔?
穿孔是戴尔PERC控制器的一项功能,旨在允许控制器还原阵列的冗余,穿孔的另一个名称是“带错重建”。RAID控制器将检测双重故障,由于没有足够的冗余来恢复受影响磁条中的数据,控制器在该磁条中进行穿孔,允许继续重建。
导致无法访问多个驱动器上同一磁条中的数据的任何情况都属于双重故障
双重故障导致受影响磁条内的所有数据丢失
所有穿孔都属于双重故障,但不是所有双重故障都是穿孔
图3:穿孔的磁条(磁条1和2中数据都因双重故障情况丢失)- 最佳阵列
双重故障已存在(数据已丢失)
在线驱动器上的数据错误已蔓延(复制)到重建驱动器
双重故障已存在(发生第二个错误时数据丢失)
在降级状态时,如果在线驱动器上发生坏块,则对该LBA进行穿孔
对阵列进行穿孔的这种优势将保持系统可用于生产,并还原阵列冗余。 不管是否发生穿孔,受影响磁条中的数据都丢失。LSI方法的主要缺点是在阵列中有穿孔时,只要访问受影响的数据(如果有),仍会遇到不可纠正的错误。
如果访问穿孔磁条内的数据,仍将报告受影响的坏LBA错误,并且没有可能的纠正方法可用。最终(可能是几分钟、几天、数周、数月等)坏块管理(BBM)表将填满,导致一个或多个驱动器标记为预测性故障。
发生穿孔的阵列最终将必须删除并重新创建,以消除穿孔。此过程导致所有数据都将被擦除。在消除穿孔之后,将需要重新创建数据或还原备份数据。可在更利于业务需求的时间安排解决穿孔问题。对阵列进行穿孔可还原冗余,并使阵列返回最佳状态。这能够在发生其它错误或驱动器故障时,保护阵列不会丢失更多数据。
更新控制器、硬盘、底板和其它设备上的驱动程序和固件
执行例行检查一致性操作
查看日志了解问题指征
最重要的事情之一是确保固件保持更新。固件提供设备的功能和特性,以及各种错误处理和错误纠正功能。保持固件最新可提高性能,减少错误。也可通过固件更新添加新功能和增强功能。底板和外部盘柜也包含固件,可能影响其中所包含的驱动器和阵列的操作。
另一个前瞻性维护建议是执行“检查一致性”。检查一致性是手动操作,因为它确实占用RAID控制器整体可用带宽的一部分。但是,可在对性能影响最小的时间安排检查一致性。检查一致性将检查驱动器上的坏块,同时,它将比较阵列中的数据以确保所有数据都正确匹配。发现问题时,它将确定数据应该是什么样子,并通过检查阵列中其它驱动器上的数据来纠正。在数据错误相对较小时加以纠正是缓解由现有数据错误和第二个错误或故障一起导致的穿孔风险的最佳方式。
执行检查一致性(必须为最佳阵列)
确定是否存在硬件问题
检查控制器日志
执行硬件诊断程序
需要时联系戴尔技术支持
驱动器上的单个穿孔LBA可报告多次。根据穿孔数量,可将阵列中的多个驱动器报告为预测性故障。更换预测性故障驱动器将导致现有穿孔重新传播至更换驱动器,这将最终导致更换驱动器也标记为预测性故障。在这种情况下,唯一的纠正措施是解决穿孔情况。
注意:下面是用于解决大多数穿孔情况的过程。可能不需要执行所有这些步骤即可解决。如果按照这些步骤操作未能解决问题,请联系戴尔技术支持,以获取进一步帮助。
警告:按照这些步骤操作将会导致阵列上的所有数据丢失。请小心谨慎,使得按照这些步骤操作不会影响任何其它阵列。
丢弃保留的高速缓存(如果存在)
清除外部配置(如果有)
删除阵列
将驱动器的位置移动一个(使用图1,将磁盘0移至插槽1,磁盘1到插槽2,磁盘2到插槽0)
根据需要重新创建阵列
对阵列执行完全初始化(不是快速初始化)
在阵列上执行检查一致性
如果检查一致性完成且没有错误,则可以安全地假设阵列现在运行正常,已去除穿孔,可以将数据还原到运行良好的阵列。