因为 raid 的特点和劣势,磁盘阵列技术被广泛应用于服务器和存储等商用畛域。因为用户基数大,呈现故障的状况也不少。通过这篇文章介绍一下常见的 raid 磁盘阵列数故障类型和起因。
故障类型一、磁盘阵列处于降级状态时未及时 rebuild。
RAID 磁盘阵列的数据安全冗余是利用局部空余空间实现的,阵列中有成员盘下线便无奈持续提供冗余空间。如果此时未能及时更换新磁盘并 rebuild 整个卷,一旦 raid 中有其余成员盘离线将会导致整个 raid 卷无奈工作。这类故障是北亚企安数据恢复工作中会常常遇到 case。
故障类型二、raid 控制器故障。
磁盘阵列控制器在充当着操作系统与物理硬盘之间的连贯纽带。磁盘阵列中的硬盘数量、容量大小、raid 级别、校验形式等 raid 信息有的存储于硬盘,有的存储于阵列卡或者在二者中都有存储。如果控制器呈现故障,raid 信息就无奈还原,如果呈现这种故障,即便可能还原 raid 构造并再次重建 raid 阵列也无奈复原数据。
故障类型三、固件算法缺点。
RAID 的创立、重建、降级、爱护等性能的实现依附的 raid 固件上的一套非常复杂的算法,任何简单的算法都会有 BUG,只管厂商不会轻易抵赖自家产品固件算法的 BUG(有可能本人也不晓得)。因为固件算法 BUG,产生无法解释的故障可能性必定是有的。比方在北亚企安接到的数据恢复 case 中就遇到过晚期生产的某品牌服务器 RAID 中一块盘 OFFLINE 后,故障盘与报警灯不统一的状况。用户在更换故障盘进行 REBUILD 时被误导拔错盘,导致整个 RAID 解体。
故障类型四、IO 通道碰壁导致 RAID 掉盘。
RAID 控制器在设计时候优先思考的是数据的安全性,RAID 会尽可能防止将数据写到不稳固的存储介质上。当控制器与物理盘进行 IO 时,如果工夫超过某个阈值或校验关系不满足,RAID 控制器便会认为对应的存储介质已不具备继续稳固工作的能力并让其强制下线,而后告诉管理员尽快解决问题。这种设计的初衷从技术上和逻辑上来看没有问题,但对于如物理连贯线路松动,硬盘工作反馈超时(硬盘还是完整的)等场景来说,控制器无奈分辨存储介质是否真的呈现物理故障,这种状况下会大概率强制磁盘下线。这类故障产生概率比拟高且无奈防止,很多用户因而类故障质疑服务器厂商。实际上。越是设计平安的 RAID 控制器,越容易产生此类故障。
故障类型五、控制器的稳定性。
RAID 的控制器在 ONLINE 状态下 (无离线盘) 工作是最稳固的。当局部硬盘(物理故障或者逻辑故障)离线后控制器便会工作在一个绝对不稳固的状态,这也是好多中低端的 RAID 控制器在有磁盘离线后就体现出读写性能降落的起因。控制器的不稳固会减少数据吞吐时 IO 滞留的可能性,从而导致上述第四个类型的故障的产生。中低端的控制器(无高性能解决芯片或者大容量高速缓存)产生这类故障的概率要高得多。
故障类型六、阵列中硬盘故障。
很多人认为磁盘阵列只有在失常工作,阵列中就不会存在有物理故障的硬盘。这个观点的判断根据是一旦 raid 中有硬盘呈现物理故障,阵列控制器就会将故障硬盘踢下线。然而实际上并非如此。
RAID 很少会读取到物理硬盘的所有磁盘空间,同一时间更是不可能。局部状况下,硬盘会在 RAID 没有读取到的区域或者 RAID 以前读取过的区域呈现坏道,这类坏道因为没有被 RAID 读过,所以在控制器来看还是好的。
呈现这种状况后可能会产生的间接结果就是在 REBUILD 过程中,当一块物理硬盘离线后,在进行 REBUILD 过程中,如果其余硬盘存在这类没有被 RAID 读取到的坏道,因为 REBUILD 是对全盘做全面同步,在 REBUILD 过程中就肯定会读写到这类之前没有被 RAID 读取到的坏道。这时 REBUILD 还没实现,新盘无奈上线,又在旧盘发现了坏道,RAID 极有可能将发现坏道的旧盘踢出,这样就会导致 RAID 故障。
故障类型七、人为误操作。
人为误操作导致的 RAID 故障,例如:误拔了 RAID 里的硬盘、更换坏盘不及时、插入硬盘更换或者进行其余操作后遗记硬盘在 RAID 中的程序、不小心删除了原 RAID 配置等。