什么是RAID?

前言

独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同地方的方法。

RAID技术主要包含RAID 0~RAID 50等数个规范,常见的规范有RAID 0、RAID 1、RAID 3、RAID 5、RAID 6、RAID 10和RAID 50等。

常见RAID级别下的读写原理

1.1  RAID 0(How does RAID 0 work?)

RAID 0又称为条带化(Stripe)或分条(Striping),它代表了所有RAID级别中最高的存储性能。

RAID 0提高存储性能的原理是把连续的数据分散到多个硬盘上存取。这样,系统有数据请求就可以被多个硬盘并行的执行,每个硬盘执行属于它自己的那部分数据请求。

这种数据上的并行操作可以充分利用总线的带宽,显著提高硬盘整体读写性能。

如图1-1所示,系统向三块硬盘组成的逻辑硬盘(RAID 0硬盘组)发出的I/O数据请求被转化为同时对三块硬盘进行I/O操作。

通过建立RAID 0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。三块硬盘的并行操作在理论上使同一时间内硬盘读写速度提升了3倍。

虽然由于总线带宽等多种因素的影响,实际的提升速率会低于理论值,但是大量数据并行传输与串行传输比较,提速效果显著。


1.2  RAID 1(How does RAID 1 work?)

RAID 1又称为镜像(Mirror或Mirroring),它能最大限度的保证用户数据的可用性和可修复性。RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。

如图1-2所示,系统向两块硬盘组成的逻辑硬盘(RAID 1硬盘组)发出I/O数据请求。

通过建立RAID 1,向硬盘Disk 0写入数据时,系统会同时把用户写入Disk 0的数据自动复制到Disk 1上。读取数据时,系统先从源盘Disk 0读取数据,如果读取数据成功,则系统不去读取镜像盘Disk 1上的数据;如果读取源盘数据失败,系统自动转而读取镜像盘上的数据。这种情况下不会造成用户工作任务的中断。


1.3  RAID 5(How does RAID 5 work?)

RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。

为保障存储数据的可靠性,采用循环冗余校验方式,并将校验数据分散存储在RAID组的各成员盘上。当RAID组的某个成员盘出现故障时,通过其他成员盘上的数据可以重新构建故障硬盘上的数据。

如图1-3所示,P0为D0、D1和D2的奇偶校验信息,P1为D3、D4和D5的奇偶校验信息,以此类推。RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID 5的成员盘上,并且奇偶校验信息和相对应的数据分别存储于不同的硬盘上。

当RAID 5的一个硬盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息可以恢复被损坏的数据。


1.4  RAID 10(How does RAID 10 work?)

RAID 10是将镜像和条带进行两级组合的RAID级别,即RAID 0+RAID 1的组合形式,第一级是RAID 1,第二级是RAID 0。

RAID 10是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。

如图1-4所示,Disk 0和Disk 1组成一个子组0,Disk 2和Disk 3组成一个子组1,子组内的硬盘互为镜像。

系统向硬盘发出I/O数据请求时,原先顺序的数据请求按照RAID 0的方式,被分散到两个子组中并行执行,同时通过RAID 1的方式,系统在向硬盘Disk 0写入数据的同时把数据自动复制到硬盘Disk 1上,向硬盘Disk 2写入数据的同时把数据自动复制到硬盘Disk 3上。


02常用RAID级别的比较

在进行RAID级别选择时,需考虑到以下三点:

  • 可靠性
  • 读写性能
  • 硬盘利用率

不同RAID级别的可靠性、读写性能和硬盘利用率不同。各RAID级别的对比分析如表1-1所示。

表1-1 各RAID级别比较

RAID策略配置可参考以下意见:

建议对于核心业务(如运营商的计费等系统或金融A类在线交易系统等),性能层RAID策略配置为RAID 6(8D+2P)。对于非核心业务,性能层RAID策略配置为RAID 5(8D+1P)。

容量层(NL-SAS)的RAID策略推荐配置为RAID 6。

表1-2 表1 存储池保护级别

觉得本文有用,请转发、点赞或点击“在看”聚焦技术与人文,分享干货,共同成长更多内容请关注“数据与人”

为您推荐

发表评论

您的电子邮箱地址不会被公开。