Raid磁盘阵列数系列问题答疑

[问题]

?——?在断电情况下,把已经配置好的RAID中的硬盘盘位互换后,再次开机会不会影响原先存储数据的完整性,是否会导致数据灾难?
?

[回答]

——??这个要取决于RAID控制器的固件设计,一个最重要的根本是,RAID信息(RAID元数据)记录在什么地方?可以记录RAID信息的地方只能有RAID控制器上的存储单元和硬盘上。
?——?如果RAID信息只记录在控制器上,那么配置好的RAID里硬盘盘位互换后,数据一定会受到影响。这种记录方式使用较少,目前只有部分低端控制器采用。
??——RAID信息只记录在硬盘上的情况也不多见,如果RAID信息只记录在硬盘上,控制器便不具备记录RAID配置的能力,完全依赖于硬盘,安全性也较低。如果是这种情况,更换RAID盘位并不会导致数据灾难。
??——目前大多数控制器的实现是将RAID信息同时记录在控制器与硬盘上,这样,当两者中有一出故障,可通过另一份COPY还原。同时,可对RAID信息的正确性进行校验,通过控制器上存储的RAID信息为主信息,当RAID里的信息与硬盘里的信息不相同时,需要手工进行判断处理(比如强制上线)。此类情况更换硬盘盘位后,要么自动调整过来,不影响数据,要么需要手工确认一下。只要正确操作,便不会有数据灾难。
??——但必须指出的是,更换RAID盘位的操作还是相当危险的,安全级别越高的RAID控制器越敏感,更换盘位导致的一点点接口松动都有可能导致硬盘下线,从而影响整个RAID卷。更换RAID盘位操作,仅仅适用于迁移到另外的服务器或磁盘阵列控制下,但迁移之前,尽可能还是要完整备份数据,以防意外。


[问题]

——??RAID有不同的组织方案,JBOD,RAID0,RAID1,RAID5,RAID6,RAID10,RAID01,ADG等,这些方案都适用于什么环境?
?

[回答]

?——?RAID要解决的问题主要有3个:容量合并、IO性能、存储安全
??——JBOD是低端的RAID结构,有时候等同于WINDOWS的跨区卷,是将1块或几块硬盘首尾相接连起来的结构,只为解决硬盘扩容问题,安全性头差,IO性能与单盘无异,适用于安全级别与IO性能不高的容量组合环境。可以由任意多块硬盘组成。
??——RAID0实现容量合并,IO性能提高的目的,尤其IO性能是RAID0的主要特点,但安全性极差,比单盘还容易损坏,且设计成本很低,适合需要快速IO、容量大、但数据并不重要的环境。比如中转性的数据服务器,流媒体点播系统、或要求不高的监控系统。可以由任意多块硬盘组成。
??——RAID1安全突出存储安全,提供了所有RAID级别中最高的安全系数,当然也浪费了空间,增加了成本,同时IO性能并无明显提升,适合数据量不大,但极其重要的使用环境。通常只适合两块盘。
??——RAID5是一种中和的RAID结构,可以提供大容量空间,同时如果控制器性能足够好,可以提供高于单盘的IO性能(尤其是读性能),同时提供允许一块硬盘损坏的安全保护,因多方面因素均有考虑,所以使用较广,缺点是最小需要3块硬盘组成,同时RAID5的算法复杂,需要有强劲的处理单元与高速缓冲才能更好的发挥RAID5的作用,导致成本很高。低端的RAID5实际上可能更容易出问题,性能不如单盘。适用于一般型企业的大多数存储要求。可多块硬盘构建。?
??——RAID10与RAID01是结合RAID0与RAID1的一种结构,通常建议做RAID10(见以一起数据灾难谈RAID0+1及RAID1+0),标准的RAID10适合4块以上的偶数块硬盘组建,安全如RAID1,速度如RAID0,但会浪费50%的磁盘空间,处理器设计也较为简单,大型企业数据存储,如空间要求不大,RAID10是首选。
?——?RAID6与ADG是RAID5的升级结构,支持两块硬盘同时离线,使得安全性更高,但算法过于复杂,导致IO读写命中率很低,IO性能很低,即使有高速的处理器与高速缓冲,仍然不见得是最好的组织结构,造价又很高,通常使用很少。但如果硬盘很多,数据量很大,RAID5的安全级别又不够高,RAID10又浪费太多,RAID6或ADG是最适合的了。


[数据恢复问题]

——RAID5当一块硬盘离线后,处理降级状态,这时候正常的建议是马上更换硬盘做REBUILD以恢复完整的数据状态,如果有热备盘的话,就会自动做REBUILD,这样做合适吗?
?

[回答]

____一组RAID卷在工作很长时间以后也很少会读到物理硬盘的所有磁盘空间,同一时间更是不可能。部分情况下,硬盘会在没有读到的区域或者以前读取是良好的区域产生坏道,这类坏道因为没有读写过,所以在控制器看来是好的。产生这种坏磁道的最直接危害是在REBUILD过程中。当一块物理硬盘离线后,通常所有的技术人员及官方资料都会写尽快做REBUILD,但如果其他硬盘存在这类平常不知的坏磁道,REBUILD又都是对全盘做全面同步,就一定会读写到那些坏道,这时候REBUILD没完成,新盘无法上线,因旧盘里又发现了坏道,便会导致RAID又多出一些下线的硬盘,这样就可能会导致RAID出现故障,无法自行进行数据恢复了。
??——所以,当RAID处理降级状态时,如重要数据容量不大,建议先做备份,当然这种备份应该是异机的,不可备份至当前已降级的RAID中。
?——?如果在REBUILD当中出现另外硬盘离线的情况导致RAID卷OFFLINE,切不可重建RAID,如确定后离线的硬盘,可通过强制上线恢复数据(有些控制器没有选项,就没办法了),也可咨询数据恢复公司进行处理。


[问题]

??——当RAID损坏,出现数据丢失的情况下,能否通过重建RAID结构来恢复raid数据?
??磁盘阵列环境出现的数据灾难中RAID信息丢失的情况占很大比例,很多工程师都有过这样的经历:按原来的RAID结构重建一下RAID,数据就恢复出来了。这种方式可行吗?
?

[回答]

??——RAID的重建大致有几种方式:只创建RAID信息(RAID元信息)、创建RAID时只重新生成校验(只做同步)、创建RAID时填充初始化。
??——如果重建的结构与原先的结构不相同(涉及控制器固件、RAID级别、块大小、校验方式、盘序),重建好的RAID LOGICAL DRIVER一定和原先是不一样的,这样贸然加载文件系统,会破坏文件系统结构,导致数据丢失。
??——以下假设重建的结构与原先的结构是相同的:
??——如果控制器的重建方法是只创建RAID信息,那要看之前的RAID结构是正常的还是降级的,如果是降过级的(已有硬盘下过线),重建好后,因数据是由新数据与部分旧数据组合而成的,文件系统会破坏,且不可逆向恢复。如果之前的RAID结构是完好的,重建RAID不会影响数据,可以将原来的数据完全原样的恢复出来。
??——如果控制器的重建方法是创建RAID重新生成校验(即使是后台的),和上面的情况相同,如果硬盘之前就有离线的,这样的重建会破坏数据的一致性。如果之前的RAID状态是ONLINE(GOOD)的,那么这样的重建不会影响数据。
??——如果控制器的重建方法是填充数据重建(通常是清0),那无论如何都会破坏数据。
??——这样看来,当RAID损坏后重建RAID可以恢复数据的前提是:控制器的设计是不破坏数据的,而且之前的RAID状态是良好的,同时重建的结构和原先的要完全一致。除此之外的重建都有数据风险。
?——?实际上,多数RAID损坏并不是从良好 一下子到瘫痪的,大多数会通过降级这一步,所以实际上强行重建文件系统无论如何都不是很好的做法,只是降级到瘫痪这段时间内如果数据写入不多,可能重建后修复文件系统只影星降级到瘫痪这段时间内做的改动。
??——早期很多基于SCSI的磁盘阵列都会在重建时至少清0前面部分扇区(比如1M,10M等)。目前基于LSI的SAS控制器市场占有率很高,其控制器在重建时往往不会清除数据,但会在后台重新同步数据,也是有风险的。

原文地址:http://blog.51cto.com/sun510/2329931

时间: 2024-08-07 01:19:47

Raid磁盘阵列数系列问题答疑的相关文章

1-15-1 RAID磁盘阵列的原理和搭建

大纲: 1.1-1-企业级RAID磁盘阵列 RAID磁盘阵列的原理 RAID0,1,5,10的搭建 硬件RAID卡 1.2-1-使用廉价的磁盘搭建RAID磁盘阵列 实战-配置RAID0带区卷 ======================================== 1.1 企业级RAID磁盘阵列 RAID磁盘阵列的原理: RAID(Redundant Array of Independent Disks)独立磁盘冗余阵列 可以提供较普通磁盘更高的速度.安全性,所以服务器在安装时,都会选择

非常阔气的Raid磁盘阵列

详解Raid磁盘阵列 一.什么是raid,为甚吗要用软raid? RAID是"Redundant Array of Independent Disk"的缩写,叫独立冗余磁盘阵列.简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用.RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点. 原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性.

Raid磁盘阵列数据恢复方法介绍

RAID磁盘阵列设备,在使用过程中,经常会遇到一些常见故障,这也使得RAID在给我们带来海量存储空间的应用之外,也带来了很多难以估计的数据风险.什么原因容易导致RAID磁盘阵列信息丢失呢?RAID阵列卡或服务器出现故障,系统损坏;磁盘物理故障,如:电路板坏.磁头损坏.盘面坏.坏扇区.固件坏;突然停电;拔插硬盘将顺序弄错;阵列中损坏2块以上硬盘;重新配置RAID阵列信息等都有可能导致数据丢失. 一旦RAID磁盘阵列出现故障,不要轻易尝试Rebuild.同步等操作.什么是Rebuild?简单来说,R

RAID 磁盘阵列的应用

RAID 磁盘阵列的应用 RAID,一般翻译为磁盘阵列,全称是 Redundant Arrays of Inexpensive Disk,最初的构想是源于加州大学伯克利分校的一个研究小组的项目,他们希望通过大量廉价的硬盘来组建价格便宜,可用性高的磁盘阵列.但是RAID发展到今天,已经背离了当初价格便宜的初衷.但是RAID也带来了另外的好处,如何合理选择RAID的级别,可以构建出具有更高可用性,更好地容错的磁盘. RAID主要分为软件RAID和硬件RAID,软件RAID主要是通过操作系统来实现,这

raid磁盘阵列OFFLINE后如何操作挽救数据

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有"独立磁盘构成的具有冗余能力的阵列"之意.服务器磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能.利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上.磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中.-------定义

Raid磁盘阵列数据恢复原理

··raid磁盘阵列为服务器提供安全的.可靠的.可申缩的外部存储空间.但是多数的服务器使用者对raid并不是十分了解再加上服务器的广告上都太过强调了raid阵列的错容功能,使得很多服务器的使用者受到一种"raid不会出现故障"的错误引导.因此在服务器的使用过程中忽视了raid磁盘阵列的潜在风险,对服务器数据的备份或者应急预案不足,一旦服务器出现故障将为企业带来极大的影响.Raid磁盘阵列出现故障的原因通常可以归结为如下几点: Raid控制器出现故障导致raid失效 突然断电导致raid

RAID磁盘阵列概念|原理|对比——全整理

前言:本文是由众多关于RAID磁盘阵列的文章博客整理而来,感谢各位前辈~ 什么是RAID? RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列.简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术.   RAID分类 RAID级别可以分为三类:标准级别.非标准级别和嵌套(组合)级别.标准RAID 级别有RAID 0~6 七个等级,其中最常用的是0.1.5

RAID磁盘阵列介绍

磁盘阵列 RAID介绍 一.简介: 磁盘阵列(Redundant Arrays of Independent Drives,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意. 最初是由加利福尼亚大学伯克利分校在1988年发表的,旨在效能与成本.简单来说,RAID 是利用多块物理硬盘来组成一个虚拟硬盘,并由这些虚拟的硬盘组成一个矩阵的存储系统的一种技术.它的目的很简单却很重要,毕竟关系到数据,保证数据的安全性.提高数据读写的效率.磁盘阵列主要分类三种: 外接式磁盘矩阵列柜.内接式磁盘矩阵列卡

十二、使用RAID磁盘阵列技术(一)

7.1 RAID磁盘冗余阵列 近年来, CPU的处理性能保持着高速增长,Intel公司在2017年最新发布的i9-7980XE处理器芯片更是达到了18核心36线程.但与此同时,硬盘设备的性能提升却不是很大,因此逐渐成为当代计算机整体性能的瓶颈.而且,由于硬盘设备需要进行持续.频繁.大量的IO操作,相较于其他设备,其损坏几率也大幅增加,导致重要数据丢失的几率也随之增加. 1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术的概念.RAID技术通过把多个硬盘设备组合成一个容量更大.安全性