Raid实战

这段时间,公司的服务器接连挂了2台了,怖いんだよ!!!
其中一台是Raid5级别的,更换起来也比较方便.
稍微介绍下,方便别人用:

一旦RAID磁盘阵列出现故障,请您注意以下几点:
  1. 不要轻易尝试Rebuild、同步等操作。 什么是Rebuild?简单来说,Rebuild就是根据在线的其他盘,生 成另一块盘的数据。如果两个及两个以上的磁盘掉线阵列就会崩溃,大多数情况是因为一个磁盘掉线未 及时发现,等第二块磁盘出现故障系统崩溃后才进行处理。如果在第一块盘掉线后阵列进行过写操作, 及第一块掉线的磁盘的数据就“不新鲜”,这时只能对先掉线的磁盘做Rebuild,如果对后掉线的磁盘 进行重建操作,部分阵列虽然能正常工作,但数据错乱,一些文件不能打开,给用户带来不可挽回的损 失。
  2. 千万不要初始化。 初始化是磁盘阵列全部清零,相当于硬盘的低级格式化。
  3. 谨慎重配磁盘阵列信息。 重配磁盘阵列信息得保证和当初配置信息一致,如果配置的参数和当初配置 的不一致,部分目录可能正确,但绝大多数文件不能打开,造成数据丢失。而部分服务器对重配阵列信 息后要自动初始化,损失就更大了。
  4. 在对故障磁盘阵列进行任何操作前,请给我们打电话,我们将免费为你提供技术咨询。
  5. 如果某家公司需要你提供服务器或阵列卡进行数据恢复,他们做的事和硬件提供商一样,也只是重新配 置RAID阵列信息,如果配置参数、磁盘顺序和当初完全一致,数据有可能出来,相反数据就有可能彻底 破坏,给客户带来巨大损失。



RAID的概念 
 RAID是Redundant Array Inexpensive Disks的缩写,直译是“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。后来RAID中的字母“I”被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这是名称的变化,实质性的内容没有变。总的来看,RAID其实是一种磁盘的容错方法,通过将大量磁盘在逻辑上串联起来提供高水平的可用性和冗余度。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的储存性能和提供更安全的数据冗余的技术。组成磁盘阵列的不同方式被称为RAID级别(RAID Levels)。而数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,从而保障了用户数据得安全性。 
RAID的优点 
 1.成本低,功耗小,传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率(这是理论上的)。这也是RAID最初想要解决的问题。因为当时CPU的速度增长的很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。而RAID最后成功了。 
 2.可以提供容错功能,这是大多数使用RAID的第二个原因。因为,普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID和容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它可以提供更高的安全性。 
 3.RAID比起传统的大直径磁盘驱动器来,在同样容量下,价格要低许多。 
RAID的标准 
 RAID技术是一种工业标准,各厂家对RAID级别的定义也是不尽相同。目前对RAID级别的定义可以获得业界广泛认同的有4种,RAID 0、RAID 1、RAID 0+1、和RAID 5。 
 RAID 0 
 从严格意义上说,RAID 0不是RAID,因为它没有数据冗余和校验。RAID 0技术只是实现了带区组。在实现过程中,RAID 0只是连续地分割数据并行地读/写于多个磁盘上。由于数据块被并行地保存在不同的磁盘上,因此RAID 0具有很高的数据传输率。另外,由于组成RAID 0的所有硬盘空间都可以用来保存数据,因此RAID 0的储存空间利用率也是最高的。但RAID 0只适用于类似Video/Audio信号存储、临时文件的转输等对速度要求极其严格的特殊应用。由于没有任何的数据冗余,所以安全性极低,只要RAID里的任何一块磁盘损坏,都会发生所有数据丢失的毁灭性的情况。换句话说,RAID里的硬盘个数越多,安全性越低。 
 RAID 1 
 RAID 1通常被称为RAID镜像。RAID 1主要是通过数据镜像实现数据冗余,在两对分离的磁盘上产生互为备份的数据,因此RAID 1具有很高的安全性,它甚至可以保证在一半数据的磁盘出现问题时还能不断的工作,但是整个系统的处理能力会受到影响。不过RAID 1的缺点也相当突出,由于RAID 1需要通过两次读写来实现磁盘镜像,这样是磁盘控制器的负载相当大。另外,RAID 1的数据空间浪费极其严重,是RAID各种等级中成本最高的一种。它只有一半的磁盘空间利用率,只有当系统需要极高的可靠性时,人们才会选择使用RAID 1。 
 RAID 0+1 
 RAID 0+1至少需要四块硬盘才可以实现,不过它综合了RAID 0和RAID 1的特点,独立磁盘配置成RAID 0,两套完整的RAID 0互换镜像。它的读写性能出色,安全性也较高。但是,构建RAID 0+1阵列的成本投入大,数据空间利用率只有50%,还不能称之经济高效的方案。 
 RAID 5 
 RAID 5是目前应用比较广泛的RAID技术。各块独立的硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验的数据平均的分布在每一块硬盘上。以N块硬盘构建的RAID 5阵列可以有N-1块硬盘的容量,存储空间利用率也非常高。而且任何一块硬盘上的数据丢失,均可以通过校验数据推算出来。RAID 5具有数据安全、读写速度快、空间利用率高等优点,应用比较广泛。但不足之处是,如果1块硬盘出现故障以后,整个系统的系统的性能将大大降低。 
 RAID 1、RAID 0+1、RAID 5阵列配合热插拔(也称热可替换)技术,可以实现数据的在线恢复,即当RAID阵列中的任何一块硬盘损坏时,不需要用户关机或停止应用服务,就可以更换故障硬盘,修复系统,恢复数据,对实现高可用系统具有重要的意义。 

一.Raid定义 
  RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。  
二、RAID的几种工作模式 
1、RAID0 
   即Data Stripping数据分条技术。RAID 0可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁盘的性能和吞吐量。RAID 0没有冗余或错误修复能力,成本低,要求至少两个磁盘,一般只是在那些对数据安全性要求不高的情况下才被使用。 
(1)、RAID 0最简单方式 
   就是把x块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起,形成一个独立的逻辑驱动器,容量是单独硬盘的x倍,在电脑数据写时被依次写入到各磁盘中,当一块磁盘的空间用尽时,数据就会被自动写入到下一块磁盘中,它的好处是可以增加磁盘的容量。速度与其中任何一块磁盘的速度相同,如果其中的任何一块磁盘出现故障,整个系统将会受到破坏,可靠性是单独使用一块硬盘的1/n。 
(2)、RAID 0的另一方式 
  是用n块硬盘选择合理的带区大小创建带区集,最好是为每一块硬盘都配备一个专门的磁盘控制器,在电脑数据读写时同时向n块磁盘读写数据,速度提升n倍。提高系统的性能。 
2、RAID 1 
  RAID 1称为磁盘镜像:把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,具有很高的数据冗余能力,但磁盘利用率为50%,故成本最高,多用在保存关键性的重要数据的场合。RAID 1有以下特点:   
  (1)、RAID 1的每一个磁盘都具有一个对应的镜像盘,任何时候数据都同步镜像,系统可以从一组镜像盘中的任何一个磁盘读取数据。 
  (2)、磁盘所能使用的空间只有磁盘容量总和的一半,系统成本高。 
  (3)、只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。 
  (4)、出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。 
  (5)、更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。 
  (6)、RAID 1磁盘控制器的负载相当大,用多个磁盘控制器可以提高数据的安全性和可用性。 
3、RAID0+1 
  把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。 
4、RAID2 
  电脑在写入数据时在一个磁盘上保存数据的各个位,同时把一个数据不同的位运算得到的海明校验码保存另一组磁盘上,由于海明码可以在数据发生错误的情况下将错误校正,以保证输出的正确。但海明码使用数据冗余技术,使得输出数据的速率取决于驱动器组中速度最慢的磁盘。RAID2控制器的设计简单。 
5、RAID3:带奇偶校验码的并行传送 
  RAID 3使用一个专门的磁盘存放所有的校验数据,而在剩余的磁盘中创建带区集分散数据的读写操作。当一个完好的RAID 3系统中读取数据,只需要在数据存储盘中找到相应的数据块进行读取操作即可。但当向RAID 3写入数据时,必须计算与该数据块同处一个带区的所有数据块的校验值,并将新值重新写入到校验块中,这样无形虽增加系统开销。当一块磁盘失效时,该磁盘上的所有数据块必须使用校验信息重新建立,如果所要读取的数据块正好位于已经损坏的磁盘,则必须同时读取同一带区中的所有其它数据块,并根据校验值重建丢失的数据,这使系统减慢。当更换了损坏的磁盘后,系统必须一个数据块一个数据块的重建坏盘中的数据,整个系统的性能会受到严重的影响。RAID 3最大不足是校验盘很容易成为整个系统的瓶颈,对于经常大量写入操作的应用会导致整个RAID系统性能的下降。RAID 3适合用于数据库和WEB服务器等。 
6、 RAID4 
  RAID4即带奇偶校验码的独立磁盘结构,RAID4和RAID3很象,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘,RAID4的特点和RAID3也挺象,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。 

7、 RAID5 
  RAID 5把校验块分散到所有的数据盘中。RAID 5使用了一种特殊的算法,可以计算出任何一个带区校验块的存放位置。这样就可以确保任何对校验块进行的读写操作都会在所有的RAID磁盘中进行均衡,从而消除了产生瓶颈的可能。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。RAID 5提高了系统可靠性,但对数据传输的并行性解决不好,而且控制器的设计也相当困难。 
8、RAID6 
  RAID6即带有两种分布存储的奇偶校验码的独立磁盘结构,它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合,使用了二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载,很少人用。 
9、 RAID7 
  RAID7即优化的高速数据传送磁盘结构,它所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性和系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,当多用户访问系统时,访问时间几乎接近于0。但如果系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作,RAID7系统成本很高。 
10、 RAID10 
  RAID10即高可靠性与高效磁盘结构它是一个带区结构加一个镜象结构,可以达到既高效又高速的目的。这种新结构的价格高,可扩充性不好。 
11、 RAID53 
  RAID7即高效数据传送磁盘结构,是RAID3和带区结构的统一,因此它速度比较快,也有容错功能。但价格十分高,不易于实现。


Raid5阵列损坏磁盘的更换
Raid5级别的阵列允许损坏一块硬盘,而不会导致数据的丢失。但是必须尽快更换损坏的硬盘,否则当有2块以上的硬盘损坏时,就不能重建数据了。
Raid5的阵列允许硬盘的热插拔。更换损坏的硬盘时,首先拔下硬盘托架(硬盘固定在托架上),从托架上卸下损坏的硬盘,再把完好的硬盘安装在托架上,插入阵列里。如果一切正常,这时RAID5阵列会马上自动进入数据重建状态。这个过程会进行数个到20几个小时。
这里要注意几点:
(1) 更换损坏硬盘前,必须查看阵列的当前状态,保证除损坏的硬盘外,其他硬盘处于正常的ONL在线状态。
(2) 更换坏盘必须及时。
(3) 更换的新硬盘必须是完好的。
(4) 在阵列数据重建完成之前,不能插拔任何硬盘。

5, 热备盘的更换
热备盘总是和RAID5阵列对应起来,如果不是RAID5级别的阵列,就没有必要创建热备盘。因为当别的硬盘损坏、热备盘自动起用时,需要用RAID5阵列中未损坏的硬盘对热备盘进行数据重建。注意在数据重建过程中不能插拔阵列中的非损坏硬盘!
一旦正常开始数据重建,我们就可以更换损坏的硬盘了,更换后的硬盘会自动成为新的热备盘。
6, 阵列的扩容
如果当前阵列是RAID0级别的,而且阵列中还有空余的插槽,我们就可以对阵列进行扩容,这时Array的右键菜单中就有允许添加新磁盘的命令,我们按照提示进行操作就可以了。RAID1和RAID5级别的阵列不能扩容。
7, 阵列创建和维护应该注意的问题
目前流行的RAID级别是RAID0、RAID1和RAID5,在IBM的ServerRAID卡上还可以实现RAID1E和RAID5E的阵列,进一步增加了阵列的可靠性和数据的安全性。
如果条件允许,我们推荐“RAID5+热备盘”的阵列创建方案,这样在数据丢失前,我们有2次更换硬盘的机会。对于一般的应用,只用RAID5也可以,可以同时提供数据的存取性能、可靠性和最大的磁盘空间。
管理员必须经常观察阵列的状态,包括用眼睛观察阵列的黄色警告灯和在管理软件里查看驱动器的状态。出现故障,及时排除。无论是什么级别的阵列,在排除故障前,都建议做好数据备份。特别是重要的数据,必须做好可靠的数据备份!
一旦出现硬盘下线(Defunct),必须更换该硬盘,更换下来的硬盘绝对不能再次在阵列中使用,有时虽然硬盘黄灯不再报警,但是该硬盘已经是极不可靠的了!
在起初购买硬盘阵列的时候,除过正常使用的硬盘,建议多买几块同型号的硬盘,妥善保存备用。因为现在的硬件更新换代特别快,如果几年后阵列硬盘损坏,再购买同型号的硬盘有可能是一件困难的事情,不是就是市场上根本找不到货源,就是价格特别昂贵。
posted @ 2007-08-29 09:19  荖K  阅读(715)  评论(0编辑  收藏  举报