当前位置:首页 >> 服务器

磁盘阵列RAID讲解

RAID定义

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

RAID有很多分类,但我只针对常用的四种RAID进行讲解(RAID 0 RAID 1 RAID 5 RAID 10)

RAID 0 (又称为Stripe或Striping--分条)

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

RAID 0 性能及安全性:

性能:读写性能高,随机写性能高

安全:无冗余,无热备盘,无容错性,安全性低

图形表示:

磁盘阵列RAID讲解

RAID 1 (又称为Mirror或Mirroring--镜像)

   RAID 1称为磁盘镜像:把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,具有很高的数据冗余能力,但磁盘利用率为50%,故成本最高,多用在保存关键性的重要数据的场合。RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。

RAID 1 性能及安全性:

性能:读写性能低,随机写性能低

安全:利用复制进行冗余,有热备盘,可容错,安全性高

RAID 1图形表示:

磁盘阵列RAID讲解

RAID 5

分布奇偶位条带。是一种存储性能、数据安全和存储成本兼顾的存储方案,也可理解为是RAID 0和RAID 1的折衷方案。其原理是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。相对于RAID 0,只是多了一个奇偶校验信息。多个数据可对应一个奇偶校验信息。

RAID 5 性能及安全性:

性能:随机和连续写性能低,读性能高

安全:利用奇偶校验进行冗余,可容错,安全性高

RAID 5图形表示:

磁盘阵列RAID讲解

RAID10

RAID 10(RAID 1+0 先做镜像(RAID 1),再做条带(RAID 0))

RAID 01(RAID 0+1 先做条带(RAID 0),再做镜像(RAID 1))

镜像阵列条带。兼顾存储性能和数据安全,提供了与RAID 1一样的数据安全保障,同时具备与RAID 0近似的存储性能。缺点是存储成本高。

RAID 10与RAID 01安全性方面差别:

1、RAID10的情况

这种情况中,我们假设当DISK0损坏时,在剩下的3块盘中,只有当DISK1一个盘发生故障时,才会导致整个RAID失效,我们可简单计算故障率为1/3。(两组硬盘可以同时各坏一个硬盘,也可以一组只坏一个硬盘,但不能同组的硬盘两个硬盘同时损坏)

2、RAID01的情况

这种情况下,我们仍然假设DISK0损坏,这时左边的条带将无法读取。在剩下的3块盘中,只要DISK2,DISK3两个盘中任何一个损坏,都会导致整个RAID失效,我们可简单计算故障率为2/3。(可以同组的硬盘两个硬盘同时损坏,但不能两组硬盘同时各坏一个硬盘)

从数据存储的逻辑位置来看,在正常的情况下RAID01和RAID10是完全一样的,而且每一个读写操作所产生的IO数量也是一样的,所以在读写性能上两者没什么区别。而当有磁盘出现故障时,比如前面假设的DISK0损坏时,我们也可以发现,这两种情况下,在读的性能上面也将不同,RAID10的读性能将优于RAID01。

RAID 10与RAID 01图形表示:

磁盘阵列RAID讲解