前言:谈到数据库一般会谈到存储的raid级别,那么我们今天对几种常用的raid级别做个简单的归类总结。
RAID 0
RAID 0至少需要两块硬盘才能够实现,它的容量为组成这个系统的各个硬盘容量之和,这几块硬盘的容量要相同,在家用IDE RAID中一般级联两块硬盘,一定要用同型号同容量的硬盘。RAID 0模式向硬盘写入数据的时候把数据一分为二,分别写入两块硬盘,读取数据的时候则反之,这样的话,每块硬盘只要负担一半的数据传输任务,得到的结果也就是 速度的增加。
实现方式
RAID 0最简单方式(我觉得这个方式不是它本意所提倡的)就是把x块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起,形成一个独立的逻辑驱动器,容量是单独硬盘的 x倍,在电脑数据写时被依次写入到各磁盘 中,当一块磁盘的空间用尽时,数据就会被自动写入到下一块磁盘中,它的好处是可以增加磁盘的容量。速度与其中任何一块磁盘的速度相同,如果其中的任何一块磁盘出现故障,整个系统将会受到破坏,可靠性是单独使用一块硬盘的1/n。
RAID 0的另一方式(常指的RAID 0就是指的这个)是用n块硬盘选择合理的带区大小创建带区集,最好是为每一块硬盘都配备一个专门的磁盘控制器,在 电脑数据读写时同时向n块磁盘读写数据,速度提升n倍。提高系统的性能。
RAID 1
raid1的特点
RAID 1的每一个磁盘都具有一个对应的镜像盘,任何时候数据都同步镜像,系统可以从一组 镜像盘中的任何一个磁盘读取数据。
磁盘所能使用的空间只有磁盘容量总和的一半,系统成本高。
只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。
出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。
更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。
RAID 1磁盘控制器的负载相当大,用多个磁盘控制器可以提高数据的安全性和可用性。
raid的工作方式
当读取数据时,系统先从RAID1的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘 上的数据,不会造成用户工作任务的中断。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回 的数据损失。raid 1的优缺点
由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而Mirror(镜像)的磁盘空间利用率低,存储成本高。 Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。
RAID 5
容错性:有冗余类型:奇偶校验热备盘选项:有读性能:高随机写性能:低连续写性能:低需要的磁盘数:三个或更多可用容量:(n-1)/n的总磁盘容量(n为磁盘数)典型应用:随机数据传输要求安全性高,如金融、数据库、存储等。
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 以四个硬盘组成的RAID 5为例,其数据存储方式如图所示:图中,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 10
RAID10也被称为镜象阵列条带。象RAID0一样,数据跨磁盘抽取;象RAID1一样,每个磁盘都有一个镜象磁盘, 所以RAID 10的另一种会说法是 RAID 0+1。RAID10提供100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。对大多数只要求具有冗余度而不必考虑价格的应用来说,RAID10提 供最好的性能。使用RAID10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障(每个阵列中一个),数据仍然可以得到保护。RAID10需要4 + 2*N 个磁盘驱动器(N >=0), 而且只能使用其中一半(或更小, 如果磁盘大小不一)的磁盘用量, 例如 4 个 250G 的硬盘使用RAID10 阵列, 实际容量是 500G。
raid01和raid10的区别
RAID 10 和 RAID 01 是两种逻辑方式不同的组合。 RAID 10 是先镜像后条带,即先将硬盘纵向做镜像,然后再横向做条带。在这种情况下,只要不是同一个镜像组中的几块硬盘同时坏掉,RAID组都不会崩溃。即同一个镜像组的硬盘不能同时坏掉。 RAID 01 是先条带后镜像,即先将硬盘横向做条带,然后再纵向做镜像。 在这种情况下,只要不是两个条带上同时有硬盘坏掉,则整个RAID组都不会崩溃。不管发生介质损坏的两块硬盘是否是镜像 盘。即不同条带组的硬盘不能同时坏掉。 RAID 10 和 RAID 01 在性能上基本相同,但RAID 01 发生故障的概率要大于RAID 10 。所以一般情况下都选择RAID 10。
RAID总结
类型 | 读写性能 | 安全性 | 磁盘利用率 | 成本 | 应用方面 |
---|---|---|---|---|---|
RAID0 | 最好(因并行性而提高) | 最差(完全无安全保障) | 最高(100%) | 最低 | 个人用户 |
RAID1 | 读和单个磁盘无分别,写则要写两边 | 最高(提供数据的百分之百备份) | 查(50%) | 最高 | 适用于存放重要数据,如服务器和数据库存储等领域 |
RAID5 | 读:RAID5=RAID0(相近似的数据读取速度) 写:RAID5<对单个磁盘进行写入曹操(多了一个奇偶校验信息写入) |
RAID5<RAID1 | RAID5>RAID1 | RAID5<RAID1 | 是一种存储性能、数据安全和存储成本兼顾的存储解决方案 |
RAID10 | 读:RAID10=RAID0 写:RAID10=RAID1 |
RAID10=RAID1 | RAID10=RAID1 | RAID10=RAID1 | 集合了RIAD0/RAID1的优点,但是空间上使用镜像,而不是类似RAID5的”奇偶校验信息”,磁盘利用率一样是50% |