磁盘阵列方案

将多个硬盘按照不同的规则组合在一起形成各种集群化的数据存储结构,这些存储结构被称为磁盘阵列(Redundant Arrays of Independent Disks,RAID)。

目前磁盘阵列结构有多种,包括 RAID 0、RAID 1、RAID 2、RAID 3、RAID 4、RAID 5、RAID 10/01、RAID 50等。其中RAID 2、RAID 3、RAID 4这三种阵列结构常用于阵列研究,生产环境中常使用的阵列结构为RAID 0、RAID 1、RAID 5和RAID 10/01。

RAID 0

RAID 0阵列结构是所有阵列结构中读写性能最好的,也是所有阵列结构中实现思路最简单的:RAID 0阵列结构没有数据冗余机制和数据恢复机制,它至少需要两个硬盘进行构造。整个RAID 0阵列结构就是将参与RAID 0阵列构建的所有硬盘进行容量累加,从而形成一个更大的、对上层操作系统统一的存储容量。所以RAID 0阵列的存储容量就是这些硬盘的容量进行累加。当需要写入的数据到达阵列控制器,后者会向其下的硬盘设备分发这些数据。这样原来可能只由一个硬盘承担的读写压力就会被分担到多个硬盘上,最终提高了整个阵列的读写性能。RAID 0阵列结构存储速度的优势非常明显,且参与构造阵列的磁盘数量越多阵列速度越快(峰值速度最终会受到总线、外部接口规范、控制芯片制造工艺等因素的限制)。但是RAID 0阵列结构的缺点也很明显:由于阵列结构没有容错机制或者数据恢复机制,当阵列中的一个或者多个磁盘发生故障时,整个阵列结构就会崩溃并且不能恢复。所以在实际应用中,只有那些单位价值不高且每天又需要大量存储的数据才会使用RAID 0阵列结构进行存储,例如日志文件数据。

RAID 1

磁盘镜像阵列或者磁盘冗余阵列。它的构造特点是阵列结构中的每一个磁盘互为镜像。RAID 1阵列控制器将会首先把这个数据做成N个副本(N的数量和阵列结构中物理磁盘的数量相等),实际上镜像副本的单位为扇区或者Flash Page。这些副本会分别存储到阵列结构的各个磁盘中。在进行数据读取时,RAID 1 阵列结构中的某一块磁盘将会作为主要的数据读取源头,当这个源头出现吞吐量瓶颈时,RAID 1阵列控制器会主动到其它镜像磁盘读取数据。所以RAID 1阵列的数据读取性能还是要比单个磁盘的性能要好,但是写入性能却差了很多。

RAID 10

四块硬盘是组建RAID 10阵列结构的最小要求。它们首先被两两分组形成两个独立的RAID 1结构,这也意味着这些硬盘的容量最好是一样的,否则每组RAID 1结构会基于容量最小的那块硬盘确认自己的容量。接着独立工作的两组RAID 1再组成RAID 0阵列结构。

RAID 01

和RAID 10阵列结构相似的阵列结构:RAID 01(或称为RAID 0 + 1),它们的构造区别是,后者首先将若干磁盘以RAID 0的方式进行组织,然后再分组成多个独立的RAID 1结构。

RAID 5

RAID 5阵列基于奇偶校验原理,它的算法核心是异或运算(XOR)。RAID 5阵列结构同一时间内只允许有一块硬盘出现故障,出现故障的硬盘需要立即进行更换。

猜你喜欢

转载自www.cnblogs.com/aixinge/p/9072531.html