目录
-
- 一、RAID定义
- 二、RAID技术类型
- 参考链接
一、RAID定义
RAID(Redundant Array of Independent Disks – 独立冗余磁盘阵列) 技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。
组成磁盘阵列的不同方式称为RAID级别(RAID Levels)。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。
二、RAID技术类型
本文仅讨论RAID0,RAID1,RAID5,RAID6,RAID10,RAID50,RAID60
- RAID0(也称为条带集或条带卷)
– RAID 0在两个或以上的磁盘均匀地分割(“条带”)数据,没有奇偶校验信息、冗余或容错。由于RAID 0不提供容错或冗余,因此一个驱动器的故障将导致整个阵列发生故障;由于在所有磁盘上划分数据,故障将导致总数据丢失。这种配置通常以提升速度作为预期目标。RAID 0通常用于提高性能,但它也可以用作从两个或多个物理磁盘创建大型逻辑卷的方法。
-
可以使用不同大小的磁盘创建RAID 0,但每个磁盘添加到阵列的存储空间限制为最小磁盘的大小。例如,如果120 GB磁盘与320 GB磁盘一起条带化,则阵列的大小将为120 GB×2 = 240 GB。但是,某些RAID实现允许剩余的200 GB用于其他目的。
本节中的图表显示了如何将数据分配到两个磁盘上的Ax条带中,其中A1:A2作为第一个条带,A3:A4作为第二个条带,以此类推。一旦在创建RAID 0期间定义了条带大小数组,需要始终保持。由于条带是并行访问的,因此n个驱动器的RAID 0阵列显示为单个大磁盘,其数据速率是单磁盘速率的n倍。性能
n个驱动器的RAID 0阵列提供的数据读写传输速率是单个驱动器速率的n倍,但没有数据冗余。因此,RAID 0主要用于需要高性能且能够承受较低可靠性的应用,例如科学计算或计算机游戏。
桌面应用程序的一些基准测试显示RAID 0性能略优于单个驱动器。RAID 0可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁 盘的性能和吞吐量。RAID 0没有冗余或错误修复能力,成本低,要求至少两个磁盘,一般只是在那些对数 据安全性要求不高的情况下才被使用。RAID 0的工作方式:
如图所示:系统向 三个磁盘组成的逻辑硬盘RADI 0 磁盘组)发出的I/O数据请求被转化为3项操作,其中的每一项操作都对应于一块物理硬盘。我们从图中可以清楚的看到通过建立RAID 0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。
从理论上讲,三块硬盘的并行操作使同一时间内磁盘读写速度提升了3倍。 但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显著显然毋庸置疑。RAID 0的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。
RAID 0具有的特点,使其特别适用于对性能要求较高,而对数据安全不太在乎的领域,如图形工作站等。对于个人用户,RAID 0也是提高硬盘存储性能的绝佳选择。
计算机技术发展迅速,但硬盘传输率也成了性能的瓶颈。怎么办?IDE RAID技术的成熟让我们轻松打造自己的超高速硬盘。在实际应用中,RAID 0硬盘阵列能比普通IDE 7200转ATA 133硬盘快得多,时至今日,在大多数的高端或者玩家主板上我们都能找到一颗PROMISE或者HighPoint的RAID芯片,同时发现它们提供的额 外几个IDE接口。没错,RAID已经近在眼前,难道你甘心放弃RAID为我们带来的性能提升吗?答案当然是否定的!
实用的IDE RAID
RAID可以通过软件或硬件实现。像Windows 2000就能够提供软件的RAID功能,但是这样需要消耗不小的CPU资源,降低整机性能。而硬件实现则是一般由RAID卡实现的,高档的SCSI RAID卡有着自己专用的缓存和I/O处理器,但是对于家庭用户来说这样的开销显然是承受不了的,毕竟为了实现RAID买两个或者更多的HDD已经相当不 容易了。我们还有一种折中的办法——IDE RAID。或许这才是普通人最容易接受的方法。虽然IDE RAID在功能和性能上都有所折中,但相对于低廉的价格,普通用户看来并不在意。
为什么要用RAID 0
RAID 0至少需要两块硬盘才能够实现,它的容量为组成这个系统的各个硬盘容量之和,这几块硬盘的容量要相同,在家用IDE RAID中一般级联两块硬盘,一定要用同型号同容量的硬盘。RAID 0模式向硬盘写入数据的时候把数据一分为二,分别写入两块硬盘,读取数据的时候则反之,这样的话,每块硬盘只要负担一半的数据传输任务,得到的结果也就是 速度的增加。
实现方式:
(1)、RAID 0最简单方式(我觉得这个方式不是它本意所提倡的)
就是把x块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起,形成一个独立的逻辑驱动器,容量是单独硬盘的 x倍,在电脑数据写时被依次写入到各磁盘 中,当一块磁盘的空间用尽时,数据就会被自动写入到下一块磁盘中,它的好处是可以增加磁盘的容量。
速度与其中任何一块磁盘的速度相同,如果其中的任何一块磁盘出现故障,整个系统将会受到破坏,可靠
性是单独使用一块硬盘的1/n。
(2)、RAID 0的另一方式(常指的RAID 0就是指的这个)
是用n块硬盘选择合理的带区大小创建带区集,最好是为每一块硬盘都配备一个专门的磁盘控制器,在 电脑数据读写时同时向n块磁盘读写数据,速度提升n倍。提高系统的性能。
-
RAID 1 (又称为Mirror或Mirroring-镜像)
RAID 1称为磁盘镜像:把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,具有很高的数据冗余能力,但磁盘利用 率为50%,故成本最高,多用在保存关键性的重要数据的场合。RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。
RAID 1有以下特点:
(1)、RAID 1的每一个磁盘都具有一个对应的镜像盘,任何时候数据都同步镜像,系统可以从一组 镜像盘中的任何一个磁盘读取数据。
(2)、磁盘所能使用的空间只有磁盘容量总和的一半,系统成本高。
(3)、只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。
(4)、出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。
(5)、更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。
(6)、RAID 1磁盘控制器的负载相当大,用多个磁盘控制器可以提高数据的安全性和可用性。
RAID 1的工作方式:
如图所示:当读取数据时,系统先从RAID1的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘 上的数据,不会造成用户工作任务的中断。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回 的数据损失。
RAID 1的优缺点
由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而Mirror(镜像)的磁盘空间利用率低,存储成本高。 Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。 -
RAID 5 (可以理解为是RAID 0和RAID 1的折衷方案,但没有完全使用RAID 1镜像理念,而是使用了“奇偶校验信息”来作为数据恢复的方式,与下面的RAID10不同。)
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 以四个硬盘组成的RAID 5为例,其数据存储方式如图4所示:图中,Ap为A1,A2和A3的奇偶校验信息,其它以此类推。由图中可以看出,RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘 上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。
RAID 5 (可以理解为是RAID 0和RAID 1的折衷方案,但没有完全使用RAID 1镜像理念,而是使用了“奇偶校验信息”来作为数据恢复的方式) -
RAID10 也被称为镜象阵列条带。象RAID0一样,数据跨磁盘抽取;象RAID1一样,每个磁盘都有一个镜象磁盘, 所以RAID 10的另一种会说法是 RAID 0+1。RAID10提供100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。对大多数只要求具有冗余度而不必考虑价格的应用来说,RAID10提 供最好的性能。使用RAID10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障(每个阵列中一个),数据仍然可以得到保护。RAID10需要4 + 2*N 个磁盘驱动器(N >=0), 而且只能使用其中一半或更小, 如果磁盘大小不一)的磁盘用量, 例如 4 个 250G 的硬盘使用RAID10 阵列, 实际容量是 500G。
参考链接
https://en.wikipedia.org/wiki/Standard_RAID_levels