RAID 0的写和格式化操作模式
1、认识RAID0
图1
RAID 0是最简单的一种形式,RAID 0可以把多块硬盘连接在一起形成一个容量更大的存储设备。最简单的RAID 0技术只是提供更多的磁盘空间,不过我们也可以通过设置,使用RAID 0来提高磁盘的性能和吞吐量。RAID 0没有冗余或错误修复能力,但是实现成本是最低的。
RAID 0是所有RAID中速度最快、利用率最高的一种模式,也是目前主板支持较多的一种,如intel的ICH5R南桥也引入了对RAID的支持,选择的正是RAID0。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。
这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能;上图1所示的是三个磁盘组成的一个逻辑硬盘(RADI 0 磁盘组)。
下图中我们把3块磁盘组合在一起形成一个独立的逻辑驱动器,容量相当于任何一块单独硬盘的3倍,这种设置方式只有一个好处,那就是可以增加磁盘的容量。至于速度,则与其中任何一块磁盘的速度相同,这是因为同一时间内只能对一块磁盘进行I/O操作。
RAID 0写操作是采用一种数据分割的方式,这也是磁盘写操作最基本的方式,就是在一个普通硬盘上,数据被存储在同一张盘的连续扇区上。图中RAID 0使用三个磁盘,并将数据分成从512字节到数兆字节的若干块,这些数据块被交替写到磁盘中。
图2
第1段被写到磁盘(硬盘)1中,第2段被写到磁盘2中,第3段被写到磁盘3中;图中的表现就是将数据0写在磁盘1中,数据1写在磁盘2中,数据2写在磁盘3中;当系统到达阵列中的最后一个磁盘3时,就写到磁盘1的下一分段,即将数据3又重写在磁盘1中,数据4又重写在磁盘2中,数据5又重写在磁盘3中;以下如此,即将数据6又重写在磁盘1中,数据7又重写在磁盘2中,数据8又重写在磁盘3中,如此操作等等。
由于RAID 0是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。如果其中的任何一块磁盘出现故障,整个系统将会受到破坏,无法继续使用。从这种意义上说,使用纯RAID 0方式的可靠性仅相当于单独使用一块硬盘的1/3(因为本例中RAID 0使用了3块硬盘)。
图3中的磁盘1坏了,它里面原先存放的数据0、数据3和数据6将全部丢失,不能恢复还原;图中的磁盘2和磁盘3如果坏了,其中的数据也是不能恢复还原的。
图3
格式化是一种纯物理操作,是在硬盘的所有数据区上写零的操作过程,同时也对硬盘介质做一致性检测,并且标记出不可读和坏的扇区。图4中显示的是将三个磁盘(硬盘)全部进行格式化的结果。进行格式化的时候一般有两种情况:一种是当硬盘介质产生错误时才需要进行格式化,另外一种是从原硬盘厂商那里购买来的硬盘(有的硬盘在出厂时就已经格式化过)。
图4
RAID1的写和恢复操作模式
1、认识RAID 1
RAID 1其实就是镜像技术的实现,简单工作原理就是把相同的数据备份存放在两个驱动器,当一个驱动器出现故障,另一个仍然可以维持系统的正常运转。当然恢复故障驱动器也是非常简单的,只要把数据完好的备份拷贝到正常的硬盘上就可以了,数据冗余的换来的是数据的安全。
有的RAID 1通过增加一个RAID控制器来提高容错能力,所以对于关键数据来说将是最好的选择,不过RAID 1对于系统的性能提高很小,它的相对低廉的价格和易用的特点使它已经成为RAID控制器的主流之一,RAID 1的最大优点就是保证用户数据的可用性和可修复性。
图5
RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。尽管事实上RAID 1使用了两个物理硬盘,操作系统却只能分辨出一个逻辑硬盘。因为一个盘上的数据是复制的另一张盘上的,所以一个双硬盘的RAID 1磁盘阵列的存储能力只能达到一张单独盘片的存储能力。
2、RAID1的写(Write)操作
RAID 1是最基本的容错RAID级别,它创建一个数据磁盘的副本。RAID 1每一个磁盘都具有一个对应的镜像盘,对任何一个磁盘的数据写入都会被复制镜像盘中,系统可以从一组镜像盘中的任何一个磁盘读取数据。
图6
本例中,也就是说写在硬盘1和硬盘2上的数据是完全一样的,如写在硬盘1上的数据0、1、2、3、4、5,也同样写在硬盘2的同一个位置的数据0、1、2、3、4、5,对外只显示一个带有数据0、1、2、3、4、5的磁盘。
3、RAID 图7 图8
1的数据损坏(Crash)与恢复(Recover)操作
在RAID 1中,任何一块硬盘的故障都不会影响到系统的正常运行,而且只要能够保证任何一对镜像盘中至少有一块磁盘可以使用,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回的数据损失。
当RAID1的硬盘2坏了,从图中我们可以看出,对外只显示的带有数据0、1、2、3、4、5的逻辑磁盘还是能正常工作的,因为硬盘1上有同样的数据,系统照样能运行。
图3:RAID 5的数据损坏(Crash)操作(点击看大图)
当组成RAID5的一个磁盘1数据发生损坏后,磁盘中的数据0、数据3、数据6以及奇偶校验信息P4将全部丢失,如图3所示。二、RAID
1、认识RAID 10
Raid 10是一个Raid 0与Raid1的组合体,它是利用奇偶校验实现条带集镜像,所以它继承了Raid0的快速和Raid1的安全。我们知道,RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。其实,图6只是一种RAID 10方式,更多的情况是从主通路分出两路,做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。
图6:认识RAID 10
由于利用了RAID 0极高的读写效率和RAID 1较高的数据保护、恢复能力,使RAID 10成为了一种性价比较高的等级,目前几乎所有的RAID控制卡都支持这一等级。但是,RAID 10对存储容量的利用率和RAID 1一样低,只有50%。因此,RAID10即高可靠性与高效磁盘结构它是一个带区结构加一个镜象结构,可以达到既高效又高速的目的,RAID 10能提供比RAID 5更好的性能。这种新结构的可扩充性不好,这种解决方案被广泛应用,使用此方案比较昂贵。
2、RAID 10的写(Write)操作
Raid 10其实结构非常简单,首先创建2个独立的Raid1,然后将这两个独立的Raid1组成一个Raid0,当往这个逻辑Raid中写数据时,数据被有序的写入两个Raid1中。图中磁盘1和磁盘2组成一个Raid1,磁盘2和磁盘3又组成另外一个Raid1;这两个Raid1组成了一个新的Raid0。如写在硬盘1上的数据0、1、3、4,写在硬盘2中则为数据0、2、3、5,硬盘3中的数据为1、2、4、5,因此数据在三个硬盘上的分布不同于Raid1和Raid0,但又具有两者的特性。
3、RAID 10的数据损坏(Crash)与恢复(Recover)操作
图8:RAID 10的数据损坏(Crash)操作(点击看大图)
虽然Raid10方案造成了50%的磁盘浪费,但是它提供了200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一Raid1中,就能保证数据安全性。上图中显示磁盘2损坏了,整个逻辑磁盘仍能正常工作的。
图9:RAID 10恢复(Recover)操作(点击看大图)
当我们需要恢复RAID 10中损坏的磁盘2时,只需要更换新的硬盘,安装RAID10的工作原理来进行数据恢复,恢复数据过程中系统仍能正常工作。图8中新换硬盘2,原先的数据0、2、3、5会同步恢复到硬盘2中。
总的来说,RAID 10以RAID 0为执行阵列,以RAID 1为数据保护阵列,它具有与RAID 1一样的容错能力,用于容错处理的系统开销与单独的镜像操作基本一样,由于使用RAID 0作为执行等级,因此具有较高的I/O宽带;对于那些想在RAID 1基础上大幅提高性能的用户,它是一个完美的解决方案。RAID 10适用于数据库存储服务器等需要高性能、高容错但对容量要求不大的场合。
Welvome EQ中文世纪地图集论坛 (http://www.ceqmap.com/bbs/) | Powered by Discuz! 7.0.0 |