打印

[转帖] 如何做磁盘阵列和磁盘镜象的介绍

如何做磁盘阵列和磁盘镜象的介绍

磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式储存在不

同的磁盘中,存取数据时,阵列中的相关磁盘一起动作,大幅减低数据的存取时间,同时有更佳的空间利用

率。磁盘阵列所利用的不同的技术,称为RAIDlevel,不同的level针对不同的系统及应用,以解决数据安

全的问题。目前业界公认的标准是RAID0~RAID5。这个level并不代表技术的高低,level5并不高于

level3,level1也不低过level4,至于要选择那一种RAIDlevel的产品,纯视用户的操作环境

(operatingenvironment)及应用(application)而定,与level的高低没有必然的关系。 RAID1 RAID1是

使用磁盘镜像(diskmirroring)的技术。

磁盘镜像应用在RAID1之前就在很多系统中使用,它的方式是在工作磁盘(workingdisk)之外再加一额外

的备份磁盘(backupdisk),两个磁盘所储存的数据完全一样,数据写入工作磁盘的同时亦写入备份磁盘。

磁盘镜像不见得就是RAID1,如NovellNetware亦有提供磁盘镜像的功能,但并不表示Netware有了RAID1的

功能。一般磁盘镜像和RAID1有二点最大的不同: RAID1无工作磁盘和备份磁盘之分,多个磁盘可同时动

作而有重叠(overlaping)读取的功能,甚至不同的镜像磁盘可同时作写入的动作,这是一种最佳化的方

式,称为负载平衡(load-balance)。例如有多个用户在同一时间要读取数据,系统能同时驱动互相镜像的

磁盘,同时读取数据,以减轻系统的负载,增加I/O的性能。

RAID1的磁盘是以磁盘延伸的方式形成阵列,而数据是以数据分段的方式作储存,因而在读取时,它几乎和

RAID0有同样的性能。从RAID的结构就可以很清楚的看出RAID1和一般磁盘镜像的不同。 RAID2 RAID2是

把数据分散为位(bit)或块(block),加入海明码HammingCode,在磁盘阵列中作间隔写入(interleaving)

到每个磁盘中,而且地址(address)都一样,也就是在各个磁盘中,其数据都在相同的磁道

(cylinderortrack)及扇区中。RAID2的设计是使用共轴同步(spindlesynchronize)的技术,存取数据时,

整个磁盘阵列一起动作,在各作磁盘的相同位置作平行存取,所以有最好的存取时间(accesstime),其总

线(bus)是特别的设计,以大带宽(bandwide)并行传输所存取的数据,所以有最好的传输时间

(transfertime)。在大型档案的存取应用,RAID2有最好的性能,但如果档案太小,会将其性能拉下来,因

为磁盘的存取是以扇区为单位,而RAID2的存取是所有磁盘平行动作,而且是作单位元的存取,故小于一个

扇区的数据量会使其性能大打折扣。RAID2是设计给需要连续且大量数据的电脑使用的,如大型电脑

(mainframetosupercomputer)、作影像处理或CAD/CAM的工作站(workstation)等,并不适用于一般的多

用户环境、网络服务器(networkserver),小型机或PC。 RAID2的安全采用内存阵列(memoryarray)的技

术,使用多个额外的磁盘作单位错误校正(single-bitcorrection)及双位错误检测(double-

bitdetection);至于需要多少个额外的磁盘,则视其所采用的方法及结构而定,例如八个数据磁盘的阵列

可能需要三个额外的磁盘,有三十二个数据磁盘的高档阵列可能需要七个额外的磁盘。 RAID3 RAID3的

数据储存及存取方式都和RAID2一样,但在安全方面以奇偶校验(paritycheck)取代海明码做错误校正及

检测,所以只需要一个额外的校检磁盘(paritydisk)。奇偶校验值的计算是以各个磁盘的相对应位作XOR

的逻辑运算,然后将结果写入奇偶校验磁盘,任何数据的修改都要做奇偶校验计算 如某一磁盘故障,换上

新的磁盘后,整个磁盘阵列(包括奇偶校验磁盘)需重新计算一次,将故障磁盘的数据恢复并写入新磁盘

中;如奇偶校验磁盘故障,则重新计算奇偶校验值,以达容错的要求.

较之RAID1及RAID2,RAID3有85%的磁盘空间利用率,其性能比RAID2稍差,因为要做奇偶校验计算;共轴同

步的平行存取在读档案时有很好的性能,但在写入时较慢,需要重新计算及修改奇偶校验磁盘的内容。

RAID3和RAID2有同样的应用方式,适用大档案及大量数据输出入的应用,并不适用于PC及网络服务器。

RAID4 RAID4也使用一个校验磁盘,但和RAID3不一样。RAID4是以扇区作数据分段,各磁盘相同位置的分

段形成一个校验磁盘分段(parityblock),放在校验磁盘。这种方式可在不同的磁盘平行执行不同的读取

命今,大幅提高磁盘阵列的读取性能;但写入数据时,因受限于校验磁盘,同一时间只能作一次,启动所有

磁盘读取数据形成同一校验分段的所有数据分段,与要写入的数据做好校验计算再写入。即使如此,小型

档案的写入仍然比RAID3要快,因其校验计算较简单而非作位(bitlevel)的计算;但校验磁盘形成RAID4的

瓶颈,降低了性能,因有RAID5而使得RAID4较少使用。 RAID5 RAID5避免了RAID4的瓶颈,方法是不用校验

磁盘而将校验数据以循环的方式放在每一磁盘中。磁盘阵列的第一个磁盘分段是校验值,第二个磁盘至

后一个磁盘再折回第一个磁盘的分段是数据,然后第二个磁盘的分段是校验值,从第三个磁盘再折回第二

个磁盘的分段是数据,以此类推,直到放完为止。图中的第一个parityblock是由A0,A1...,B1,B2计算出

来,第二个parityblock是由B3,B4,...,C4,D0计算出来,也就是校验值是由各磁盘同一位置的分段的数据

所计算出来。这种方式能大幅增加小档案的存取性能,不但可同时读取,甚至有可能同时执行多个写入的

动作,如可写入数据到磁盘1而其parityblock在磁盘2,同时写入数据到磁盘4而其parityblock在磁盘1,

这对联机交易处理(OLTP,On-LineTransactionProcessing)如银行系统、金融、股市等或大型数据库

处理提供了最佳的解决方案(solution),因为这些应用的每一笔数据量小,磁盘输出入频繁而且必须容

错。

事实上RAID5的性能并无如此理想,因为任何数据的修改,都要把同一parityblock的所有数据读出来修改

后,做完校验计算再写回去,也就是RMWcycle(Read-Modify-Writecycle,这个cycle没有包括校验计算);

正因为牵一而动全身,所以: R:N(可同时读取所有磁盘) W:1(可同时写入磁盘数) S:N-1(利用率) RAID5

的控制比较复杂,尤其是利用硬件对磁盘阵列的控制,因为这种方式的应用比其他的RAIDlevel要掌握更

多的事情,有更多的输出入需求,既要速度快,又要处理数据,计算校验值,做错误校正等,所以价格较高;

其应用最好是OLTP,至于用于图像处理等,不见得有最佳的性能。 RAID0及RAID1适用于PC及PC相关的系

统如小型的网络服务器(networkserver)及需要高磁盘容量与快速磁盘存取的工作站等,比较便宜;RAID3

及RAID4适用于大型电脑及影像、CAD/CAM等处理;RAID5多用于OLTP,因有金融机构及大型数据处理中心

的迫切需要,故使用较多而较有名气,RAID2较少使用,其他如RAID6,RAID7,乃至RAID10等,都是厂商各做

各的,并无一致的标准.

是男人就要对自己狠点!!

TOP

不错的教程啊

TOP

这个有些高难,看得不是很懂

TOP

看着有点难,不过先谢了。

TOP

呵呵,没有做好排版啊 ,都看晕了

TOP

学习学习,谢谢楼主,受教了

TOP

这个有些高难,看得不是很懂

TOP

学习

有点看不懂,不过还是谢谢楼主。

TOP

详细的教程~~~~复制 粘贴 排版 再看~~

TOP

学习学习学习

TOP

不错,学习了

TOP

谢谢, :lol:

TOP

很高深的教程,看不懂。

TOP

呵呵
这个要好好学习的啊

TOP

本功能由奇虎搜索实现

相关主题

标题 作者 最后发表
[站外] 企业数据存储的基本知识   [转帖] copyking 2008-11-14
[站外] 电脑-磁盘阵列   [转帖] Gump 2008-11-18
[站外] 容灾技术中的数据一致性   [转帖] creditcard 2008-11-12
点击阅读更多关于的相关帖子  更多相关主题