RAID参考

写给自己的RAID参考memo.

RAID参考

总是记不住, 记个笔记给自己参考, 主要信息来源于Wikipedia.

RAID的概述

RAID的全称是 独立硬盘冗余阵列RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列Redundant Array of Inexpensive Disks),简称磁盘阵列.

RAID的基本思想就是把多个相对便宜的硬盘组合起来, 成为一个磁盘组, 使得这个磁盘组的性能和容错能力达到甚至超过一个价格昂贵的的磁盘. 根据组合方式的不同, RAID分成多个等级.而根据实现方式的不同, RAID又分为软件RAID硬件RAID.

补充说一下软件RAID和硬件RAID的区别. 价格!价格!价格!硬件RAID动辄就是好几万元, 而软件RAID几乎不需要花费多余的软妹币.硬件RAID贵就贵在它的磁盘阵列卡.磁盘阵列卡上有CPU专门用来进行RAID任务.这样既不会消耗原本系统的I/O总线, 性能就更好. 而且还拥有备份电池和日志等功能.

而软件实现的RAID又分两种, 一种是主板支持就可以, 这是需要消耗系统资源来进行的(CPU的计算, IO总线的资源), 但这种RAID不容易迁移(因为是和主板相关联的) 另一种是硬件辅助型的, 需要一张RAID卡以及配套的驱动程序.

RAID的分级

RAID0

RAID 0

这是RAID0, 简单的说就是将存放数据时, 分段后分散存储在这些磁盘中, 这样读写就可以并行处理.

RAID0是所有的RAID等级中速度最快的, 但是没有冗余和容错的能力.

一张盘损坏, 所有的数据都将丢失.

RAID1

File:RAID 1.svg

这是RAID1, 所有的数据都会N倍存储. 两个以上的磁盘相互做镜像. 读取速度等于硬盘数量的倍数.

是所有RAID等级中可靠性很数据安全性是最高的, 但是无论多少个磁盘做RAID1, 最终都只是一个磁盘的容量, 因此也是所有等级的RAID中利用率最低的.

当主硬盘损坏的时候, 镜像硬盘会代替主硬盘进行工作.

RAID5

File:RAID 5.svg

这是RAID5, 如图所示, 将数据和对应的奇偶校验信息存储到RAID5的各个磁盘上, 这些信息分别存储在不同的磁盘上.

这里的下标 p 是指 Parity ( 同位检查码 ) , 就把它当成是可以恢复损坏信息的神奇数据吧, 当一张盘发生损坏的时候, 可以利用剩下的数据和刚刚说的神奇数据来算出坏掉的信息是什么.

这样看起来, RAID5就像是RAID1和RAID0的折中方案.

最少需要3张盘.

RAID6

File:RAID 6.svg

RAID6是RAID的升级版吧, 用了两张盘来存放神奇数据, 而且是两种不同的算法的神奇数据.

这样即使有两张盘同时损坏了, RAID6还是可以正常工作, 而且数据还是可以被救回来的.

这样算来, RAID6需要最少4个磁盘. 但是相比RAID5, RAID6需要更大的计算量和更多的IO操作, 所以一般都是使用的硬件方式实现RAID6.

RAID 10/01

File:RAID 10.svg

RAID10也是一种常用的, 简单的说就是将RAID1实现的一组当做RAID0的一块盘.

即使每一个RAID1组中的一个磁盘损坏, 整个磁盘阵列仍会正常工作, 但只要任意一个RAID1组的两个磁盘都坏了, 整个阵列就炸了.

File:RAID 01.svg

和上面的相反, 将几个RAID0构建的磁盘当做RAID1的一个磁盘.

当有一个磁盘损坏的时候, 同RAID0组就全玩完了. 所以RAID01的可靠性较低. 一般会选择RAID10而不是RAID01.