RAID磁盘阵列的RAID磁盘阵列与存储阵列

如题所述

随着RAID磁盘阵列技术的发展,存储的性能和安全性都有了很好的保障。对于中小项目常用的RAID磁盘阵列5(包括RAID磁盘阵列5e,RAID磁盘阵列5ee和RAID磁盘阵列6)这种级别的RAID磁盘阵列,都能保证在1-2块磁盘/FLASH出现故障的情况下,RAID磁盘阵列保证数据的完整性,但RAID磁盘阵列5的保护机制是否能完整的保护数据,答案却是否定的。
RAID磁盘阵列5和RAID磁盘阵列6对于普通的磁盘故障有很好的纠错能力,但RAID磁盘阵列对于储存的底层故障,RAID磁盘阵列5和RAID磁盘阵列6都无法进行纠错恢复。
硬件RAID磁盘阵列的缺点:可以检测并尝试恢复Noisy Error,我们常见的磁盘损坏包括Bit Rot就是代表性的显性错误,但是RAID磁盘阵列无法检测到隐性错误。常见的RAID磁盘阵列储存底层隐性错误有以下几种:
Phantom writes “幻影写入”。RAID磁盘阵列磁盘已经发出指令写入磁道,由于RAID磁盘阵列内部故障,并未写入成功,但在RAID磁盘阵列储存表象为写入完成的状态。
Misdirected reads or writes 误读写。举例:RAID磁盘阵列数据要在01扇区进行读写,却在02扇区做了这个操作,导致数据混乱。
DMA parity errors DMA传输过程中发生的error。
Accidental overwrites 在频繁的Swapping(文件交换)中数据误读写。
随着RAID磁盘阵列储存设备技术的进化,上面这四种只是常见的Silent Error,当然会有其他更多的RAID磁盘阵列种类,涉及到很多RAID磁盘阵列底层的技术。
我们遇到的RAID磁盘阵列VDD Error就是属于可以检测并尝试恢复RAID磁盘阵列Noisy Error,但是无法检测到RAID磁盘阵列Silent Error,所以故障层面只显示统一的RAID磁盘阵列VDD错误,但RAID磁盘阵列底层的故障却不一定是相同的。
对于硬件RAID磁盘阵列来说,RAID磁盘阵列在阵列卡和光纤卡的级别,RAID磁盘阵列并不会去确认故障是哪一种error,这是硬件RAID磁盘阵列先天的硬件特性限制。
我们可以看看下面这个例子,做了RAID磁盘阵列6,并划分了LUN。RAID磁盘阵列在故障的表现层面,RAID磁盘阵列柜的硬件并未出现故障告警,RAID磁盘阵列出现VDD错误告警,RAID磁盘阵列在告警之后又进行了修复:
RAID磁盘阵列VDD Repair start开始修复的动作。当VDD Repair到一定程度,完全无法repair的时候,才会表现为服务器告警(故障灯亮)。
但由于RAID磁盘阵列底层故障是Silent Error,不可避免的会有几率出现hantom writes 或Misdirected reads or writes 读写误载 这些Silent Error,这些错误导致的结果就是错误的RAID磁盘阵列数据被相互校检到RAID磁盘阵列5的其他盘了,这在硬件RAID磁盘阵列属于不可勘测的部分(当然在超高端的储存设备还是有这些检测的机制)。
在更换了故障的RAID磁盘阵列磁盘之后。我们回到Storage Manager的日常event,
像上面这种例子的RAID磁盘阵列故障,在近几年的RAID磁盘阵列储存故障发生得越来越频繁,一方面由于RAID磁盘阵列储存容量的翻倍提升带来的磁盘/FLASH密度高速增减,另一方面不断下降的成本也导致RAID磁盘阵列感觉不如原来的稳定了。
所以RAID磁盘阵列5(e、ee、raid6)级别的这种RAID磁盘阵列技术,并非在单盘双盘损坏的情况下都能保持良好的重构工作。在一些RAID磁盘阵列数据安全需求高、成本又受限的地方,我们不能只依靠RAID磁盘阵列5的技术来规避数据丢失。
ZFS文件系统,在系统层面能补充硬件RAID磁盘阵列的这种不可规避的数据丢失情况,所以在每个RAID磁盘阵列项目的规划初期,应该要规划好相应的RAID磁盘阵列系统和文件格式。

温馨提示:答案为网友推荐,仅供参考
相似回答