文:补天数据恢复
随着全球数据量爆炸式的增长,我们已经迎来了“大数据”时代,越来越大的数据如何安全有效的存储,各种容灾措施是否万无一失,当策略性备份这最后的容灾防线也崩溃时,如何拯救岌岌可危的“大数据”成了所有人都急切关注的问题。
支持惠普、ibm、戴尔、浪潮等品牌raid-0、raid-1、raid-4、raid-5、raid-6级别及其衍生raid级别的服务器(raid阵列)出现故障时的数据恢复。
1、什么是raid?
raid(独立冗余磁盘阵列)是大数据时代最好的存储手段,它既解决了单块硬盘容量无法达到使用要求的缺陷,又提供了不同级别的灾备措施,用户可根据需要灵活定制适用的阵列模式来存储大容量数据,常见的阵列方式有以下几种:
raid-0
2块
raid-0提供极佳的读写性能,磁盘利用率很高,但未提供任何冗余手段,任何一块成员盘故障,都会导致raid失效,数据丢失,它在所有阵列模式中,安全性最差。
适用于对存储速度和容量要求较高,但数据重要性较低的企业和个人,例如婚纱影楼等。
raid-1
仅可2块
raid-1俗称镜像,两块成员盘同步进行操作,其中一块出现故障,不影响数据安全,但其性能和磁盘利用率最低,适用于存储极为重要的数据,例如企业财务数据、网站数据库等。
raid-5
最少3块
raid-5是最常用的一种阵列模式,它提供了一组冗余信息(p校验-校验值通过成员盘异或运算得出),允许其中一块成员盘掉线而不影响阵列的正常运行,同时兼顾了阵列的容量与性能,这使得raid-5适用范围非常广,广泛应用于企业、政府、军队的大型存储中。
raid-6
最少4块
raid-6是raid-5的加强版,它提供了两组冗余信息(p、 q校验),最多允许两块成员盘掉线,安全性更高,当性能比raid-5稍差,适用于对安全性要求更高的行业。
hp双循环
最少3块
惠普双循环是惠普服务器上特有的一种阵列模式,其整体为raid-5(或raid-6),但在raid-5(raid-6)下又包含了raid-4,提供了一组冗余信息,其性能及安全性与单纯的raid-5(raid-6)相差不多,只搭载在惠普服务器上。
jbod/big
最少2块
严格意义上说,jbod不是一种阵列模式,它仅将几块硬盘首尾相连,所以不存在条带、循环方向等raid特性,容量为所有成员盘相加,这种阵列模式由于性能和安全性均不佳,在实际中较少被采用。
二、raid为什么会发生故障?
raid提供了不同级别的容灾措施,但它并不是万无一失的,即使是最安全的raid-1也可能由于不可预见的原因导致数据彻底丢失。从我们接触的实际案例看,恰恰是阵列提供商所宣传的安全性,放松了用户的安全意识,最终造成数据丢失。例如raid-5允许一块成员盘掉线而不影响正常使用,实际案例中,90%以上的raid-5故障均表现为两块以上成员盘掉线,且其中一块往往已掉线很久。这说明,当第一块故障盘亮灯报警后,用户并未及时发现并排除故障,当第二块硬盘离线,raid失效后才开始补救,为时已晚。
那么raid为什么会出现故障?raid安全性的基础是成员盘的安全可靠,由于机械硬盘存储密度的大幅提升以及厂商对成本的压缩控制,现在硬盘的质量已大不如前,很多硬盘仅仅使用几个月甚至更短时间即出现物理故障,当过多的硬盘出现故障,raid的安全性就成了空谈。为提高性能,阵列上常常采用性能更高的服务器硬盘,这种硬盘可提供10000-15000rpm的转速,性能极佳。但它们在出现磁头损坏后,如不及时发现并断电,磁头很可能长时间与碟片接触,将碟片严重划伤,致使存储介质的磁粉脱落,造成无法挽回的损失。
故障原因
故障表现
1
逻辑故障
1. 阵列中部分数据丢失或数据无法正常打开(文件系统损坏或文件结构破坏)
2. 阵列中某种格式(office文档、压缩文件)无法正常打开(病毒破坏特定文件)
3. 在系统下,阵列未初始化(mbr损坏或分区表故障)
4. 阵列卷无法打开或提示格式化(文件系统损坏)
5. 误将阵列中一块多多块硬盘进行格式化操作
6. raid重建(将raid-1重建为raid-0或反操作,将raid-5重建为raid-0或反操作等)
2
成员盘物理故障
1. 多块成员盘指示灯报警
2. raid管理器中多块硬盘离线或丢失
3. 阵列从系统下丢失并无法访问
4. 阵列呈现未初始化状态
5. 阵列重启后无法正常启动
6. 阵列同步过程中又有其它成员盘离线
3
阵列卡损坏
1. 阵列信息丢失,所有硬盘均呈现离线状态
2. 阵列在系统下无法识别
3. 无法进入raid管理界面或查看raid信息时死机
4
不恰当的阵列扩容
1.多块成员盘指示灯报警
2.阵列呈现未初始化状态,无法正常访问
3.扩容后容量不正常,或发生卷丢失
4.扩容后部分或全部文件丢失
5
盘序标记错误
1. 阵列无法正常启动
2. 在raid管理中,阵列呈现未初始化状态
三、raid发生故障后如何避免数据丢失?
用户在阵列出现故障后,通常首先向供应商求助,但供应商仅能保证阵列重新正常运行,并不对用户数据安全负责。所以供应商通常采取的措施是将离线硬盘剔除,替换完好硬盘让阵列自行做同步操作,正常情况下,这种做法是安全的,但如果成员盘先后离线时间间隔较长,提前离线的硬盘可能在重启后恢复正常并参与同步,它并未存储器离线后的“新鲜”数据,当其参与同步操作时,就把整个阵列数据“污染”了,导致数据在同步完成后丢失或无法正常打开,最明显的表现为:数据越新越大,损坏的概率越高,数据越旧越小,损坏概率越低。
数据恢复厂商与服务器供应商所提供的解决方案是不同的,数据恢复提倡先将数据完整恢复,再对阵列采取修复措施,甚至可以在替换故障硬盘后直接对阵列进行初始化,再将已经完整恢复的数据拷贝回去。对于大容量阵列来说,磁盘同步是个工作量巨大的操作,所有成员盘可能在连续几天的时间里不间断进行读写操作,一些存在质量问题的硬盘可能在这一过程中损坏。在我们的案例中,经常出现同步过程未结束,原来正常的硬盘有离线的情况,而这时再进行数据恢复,难度很高。
四、友情提示
灾备措施是滞后的,没有任何一种容灾手段能做到万无一失,也没有哪种raid机制能百分百保证您的数据安全,勤检查,常备份才是避免重大数据丢失唯一行之有效的手段。