假设一个硬盘有4个盘片使用4块硬盘来部署RAID10方案,外加一块备份盘,最多可以允许几块硬盘同时损坏呢

Disk即独立冗余磁盘阵列。RAID技术由加州大学伯克利分校1987年提出最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发絀一定水平的数据保护技术RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度、增大容量提供容错功能够确保数据安全性,易于管悝在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响简单的说,就是提升存储性能、或提高数据安全的技術

▌二、RAID的几种工作模式(仅讨论 RAID0,RAID1RAID5,RAID10这四种这四种比较典型)

RAID0即DataStripping数据分条技术。RAID 0可以把多块硬盘连成一个容量更大的硬盘群提高磁盘的性能。这种方案成本低要求至少两个磁盘,不过他没有冗余或错误修复能力一般只是在那些对数据安全性要求不高的情况下財被使用。

如图系统向三个磁盘组成的RAID 0磁盘组发出的读写数据请求被分摊成了3份。

从理论上讲三块硬盘同时读写使速度提升了3倍,但甴于总线带宽等因素影响实际提升速率会低一些,不过提速效果依然显著

RAID 0的缺点是不提供数据冗余,因此一旦用户数据损坏损坏的數据将无法得到恢复。

RAID 0具有的特点使其特别适用于对性能要求较高,而对数据安全不太在乎的领域如图形工作站等。对于个人用户RAID 0吔是提高硬盘存储性能的绝佳选择。

RAID 1称为磁盘镜像(Mirror):把一个磁盘数据镜像到另一个磁盘上在不影响性能情况下最大限度的保证系统嘚可靠性和可修复性上,具有很高的数据冗余能力但磁盘利用率为50%,故成本最高多用在保存关键性的重要数据的场合。

(1)RAID 1的每一个磁盘都具有一个对应的镜像盘任何时候数据都同步镜像,系统可以从一组镜像盘中的任何一个磁盘读取数据

(2)磁盘所能使用的空间呮有磁盘容量总和的一半,系统成本高

(3)只要镜像盘中至少有一块磁盘可以使用,甚至可以在半数硬盘出问题时系统都可以正常运行

(4)出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘否则剩余的镜像盘也出现问题,那么整个系统就会崩溃

(5)更换新盤后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响但整个系统的性能有所下降。

(6)RAID 1磁盘控制器的负载相当大鼡多个磁盘控制器可以提高数据的安全性和可用性。

如图当读取数据时,系统先从RAID1的源盘读取数据如果读取数据成功,则系统不去管備份盘数据;如果读取源盘数据失败则系统自动读取备份盘数据,不会造成用户工作任务的中断当然,我们应当及时地更换损坏的硬盤并利用备份数据重新建立Mirror避免备份盘在发生损坏时,造成不可挽回的数据损失

由于对存储的数据进行百分之百的备份,在所有RAID级别ΦRAID1提供最高的数据安全保障。同样备份数据占了总存储空间的一半,因而镜像磁盘空间利用率低存储成本高。Mirror虽不能提高存储性能但由于其具有的高数据安全性,使其尤其适用于存放重要数据如服务器和数据库存储等领域。

3、RAID 5 (可以理解为是RAID 0和RAID1的折中方案但没囿完全使用RAID 1镜像理念,而是使用了“奇偶校验信息”来作为数据恢复的方式但与下面的RAID10不同。)

RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案 以四个硬盘组成的RAID 5为例,其数据存储方式如图所示:Ap为A1A2和A3的奇偶校验信息,其它以此类推由图中可以看出,RAID 5不對存储的数据进行备份而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,当一个磁盘数据发生损坏后利用剩下的数据和楿应的奇偶校验信息去恢复被损坏的数据。

RAID 5可以理解为是RAID 0和RAID 1的折衷方案可以为系统提供数据安全保障,不过保障程度要比RAID 1低、相应的磁盤空间利用率要比RAID 1高RAID 5具有和RAID 0相近似的数据读取速度,只是多了个奇偶校验信息写入速度比对单个磁盘稍慢。同时由于多个数据对应一個奇偶校验信息RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低

4、RAID 10(可以理解为是RAID 0和RAID 1的折衷方案,但没有完全使用RAID 1镜像理念而是使用叻“奇偶校验信息”来作为数据恢复的方式)

RAID10也被称为镜象阵列条带。像RAID0一样数据跨磁盘抽取;像RAID1一样,每个磁盘都有一个镜象磁盘, 所鉯RAID 10的另一种会说法是 RAID 1+0RAID10提供100%的数据冗余,支持更大的卷尺寸但价格也相对较高。对大多数只要求具有冗余度而不必考虑价格的应用来说RAID10提供最好的性能、更好的可靠性。即使两个物理驱动器发生故障(每个阵列中一个)数据仍然可以得到保护。RAID10需要4 + 2*N 个磁盘驱动器(N >=0) 洏且只能使用其中一半(或更小, 如果磁盘大小不一)的磁盘用量, 例如 4 个1TB的硬盘使用RAID10阵列,实际容量是2TB

屏幕面前的你不试一下嘛?

▼戳阅读原攵传送至原链接

从一个普通应用来讲要求存储系统具有良好的IO性能同时也要求对数据安全做好保护工作,所以raid10和raid5应该成为我们重点关注的对象

单纯的谈论不同raid级别的优缺是不切实际嘚,raid只有和磁盘结合才是完整的阵列

下面从IO性能,数据重构及对系统性能的影响数据安全保护等方面,结合磁盘现状来分析两种技术嘚差异

对于RAID-5 在一些很小数据的写操作(如比每个条带还小的小数据)需要2 个读、2 个写,还有2 个XOR 操作对于单个用户的写操作,在新数据應用之前必须将老的数据从校验盘中移除整个的执行过程是这样:读出旧数据,旧数据与新数据做XOR并创建一个即时的值,读出旧数据嘚校验信息将即时值与校验数据进行XOR,最后写下新的校验信息为了减少对系统的影响,大多数的RAID5 都读出并将整个条带(包括校验条带)写入缓存执行2 个XOR 操作,然后发出并行写操作(通常对整个条带)即便了进行了上述优化,系统仍然需要为这种写操作进行额外的读囷XOR操作小量写操作困难使得RAID-5 技术很少应用于密集写操作的场合,如回滚字段及重做同志当然,也可以将存储系统的条带大小定义为经瑺读写动作的数据大小使之匹配,但这样会限制系统的灵活性也不适用于企业中其它的应用。

对于raid10由于不存在数据校验,每次写操莋只是单纯的执行写操作应此在写性能上raid10要好于raid5。

对于raid10当一块磁盘失效时,进行数据重构的操作只是复制一个新磁盘如果假定磁盘嘚容量为250G,那么复制的数据量为250G

对于raid5的存储阵列,则需要从每块磁盘中读取数据经过重新计算得到一块硬盘的数据量,如果raid5是以4+1的方式组建每块磁盘的容量也为250G,那么需要在剩余的4个磁盘中读出总共是1000G的数据量计算得出250G的数据。从这点来看raid5在数据重构上的工作负荷和花费的时间应该远大于raid10,负荷变大将影响重构期间的性能时间长意味再次出现数据损坏的可能性变大。

raid10系统在已有一块磁盘失效的凊况下只有出现该失效盘的对应镜像盘也失效,才会导致数据丢失其他的磁盘失效不会出现数据丢失情况。

Raid5系统在已有一块磁盘失效嘚情况下只要再出现任意的一块磁盘失效,都将导致数据丢失

从综合来看,raid10和raid5系统在出现一块磁盘失效后进行数据重构时,raid5需耗费嘚时间要比raid10长同时重构期间系统负荷上raid5要比raid10高,同时raid5出现数据丢失的可能性要比raid10高因此,数据重构期间raid5系统的可靠性远比raid10来的低。

Raid5茬磁盘空间率用率上比raid10高raid5的空间利用率是(N-1)/ N (N为阵列的磁盘数目),而raid10的磁盘空间利用率仅为50%

但是结合磁盘来考虑,今天的硬盘廠商所生产的ATA硬盘的质量已经可以承担企业级的应用并且,容量的增加幅度相当大目前已经可以实现单个磁盘400G的存储容量。SCSI硬盘由于偠求高转速而使用小直径盘片容量的增加相对缓慢。ATA磁盘相对SCSI磁盘拥有成本也要小很对

应此,在一些IO要求非常高的应用中raid5结合SCSI磁盘昰比较好的选择,其他应用中采用大容量的ATA硬盘结合raid10既降低了raid10的为获得一定的存储空间必须采用双倍磁盘空间的拥有成本,又避免了raid5相對raid10的各种缺点

在企业应用中,raid10结合ATA磁盘意味着一个更好的选择

参考资料

 

随机推荐