RAID各级别、软RAID

本文详细介绍了RAID(磁盘阵列)的基本概念、使用场景、提高耐用性和I/O能力的方法,以及不同RAID级别的组织方式,包括RAID-0、RAID-1、RAID-4、RAID-5、RAID-10等。还讨论了软RAID,特别是使用mdadm创建、管理软RAID的实践操作。强调RAID虽然提供冗余,但不能替代数据备份,重要数据仍需定期备份。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0.目录

1.RAID

1.1 什么是RAID

RAID,全称Redundant Array Inexpensive(Independent) Disks。这个名称的由来有一定历史原因,不赘述。现在就直接视为磁盘阵列。

磁盘阵列:将多块磁盘,按一定的方式组合起来,以提高耐用性和IO能力

需要注意的是,RAID有冗余能力提高了耐用性,但取代不了数据备份。因RAID冗余只能保证磁盘坏时数据不受影响,如果数据遭到误删,那和磁盘就没关系了,所以重要数据还是要备份。

1.2 使用场景

1、数据存储在某磁盘上,若该磁盘损坏,则会导致业务终止。
2、磁盘访问密集时,其有限的I/O能力将成为业务瓶颈。

1.3 RAID如何提高磁盘耐用性和I/O能力

RAID耐用性的实现,主要通过磁盘冗余来实现;

RAID使I/O能力的提升,可通过其自带的“CPU”和“内存”(仅供RAID使用),也可理解为是RAID的控制器。

  • 通过其“内存”的异步存取可有效提升I/O能力。如果发生断电等会导致异步存取中断。所以RAID一般配有电池,关机后仍可供电一段时间。
  • 通过其“CPU”,可将需存取的数据切割为多个chunk(即多份相同大小的数据)。按一定策略(即各RAID级别)存储在各磁盘上,读取时再合并各chunk的数据。这样可降低各磁盘的I/O压力,从而提升整体的I/O能力。

1.4 RAID级别

RAID有不同级别,各级别表示的是其组织各磁盘的方式,并非有级别“高低”之分。

RAID级别的设置在BIOS中,而非操作系统。

2.RAID各级别组织方式

2.1 RAID-0

2.1.1 实现方式

RAID-0,也称条带卷。RAID-0实现方式:

这里写图片描述

数据存储方式:
各chunk平均、依次分配存储至各磁盘上,即把整个数据条带化存储了。

2.1.2 指标及分析

指标 产生结果(提升、下降均相对于单硬盘)
I/O能力 提升
耐用性 下降
使用的最少硬盘数 2
可用空间 N*min(Disk1,Disk2……)

分析:

  • I/O能力
    以上述图示为例,如果数据的总大小为9G,每个硬盘仅需吞吐(即I/O)3G的数据,相对于单硬盘,RAID-0的每个硬盘I/O压力明显降低。
    使用更多的磁盘,就会更多地分摊I/O压力。不过并不是添加硬盘越多就越好。因为读取时,控制器需要时间合并各磁盘读来的数据;写入时又要费时间来分割数据。
  • 耐用性
    由RAID-0组织方式,可以看出其无冗余能力。任何一块硬盘损坏,就会造成整个数据的不完整,而多个硬盘出故障的概率又大于单硬盘。所以RAID-0耐用性相对于单硬盘是降低的。
    所以RAID-0不适合存储关键数据。可用于存储非关键的“中间数据”,比如交换分区数据、临时文件系统等。
  • 最少硬盘数
    由RAID-0组织方式,可知其最少使用2块硬盘。
  • 可用空间
    RAID-0可用空间取决于其组成硬盘中最小的那个。因为根据RAID-0写入数据的方式,任何一块盘满,其他硬盘也无法再写入。

2.2 RAID-1

2.2.1 实现方式

RAID-1,也称镜像卷。RAID-1实现方式:

这里写图片描述

数据存储方式:
各chunk,每个硬盘都存一份,如同镜像。

2.2.2 指标及分析

指标 产生结果(提升、下降均相对于单硬盘)
I/O能力 写性能略微下降;读性能提升
耐用性 提升
存储空间利用率 50%以下
使用的最少硬盘数 最少为2,且一般也只用2块硬盘
可用空间 1*min(Disk1,Disk2…)

分析:

  • I/O能力
    RAID-1各硬盘存储的数据相同,在写入时,数据在所有硬盘上都完整存储才算写入完成,所以虽然每个硬盘的写入压力相同,但RAID-1整体写性能取决于最慢的那个硬盘。相对于单硬盘写性能是略有下降的。
    读性能提升。读取各chunk不一定要在一块硬盘上。比如chunk1在第一块读,chunk2在第二块读等等。从而降低各硬盘读取压力,RAID-1整体读性能提升。
  • 耐用性
    有冗余能力,也是其最大优点。每个硬盘都存储数据,只要不同时损坏,数据即可正常读写。耐用性提升。
  • 存储空间利用率
    有冗余的RAID级别,存储空间利用率都不会是100%。
    RAID-1若使用2块盘,利用率为50%;使用更多则会在50%以下。因各硬盘数据都一样。
  • 使用最少硬盘数
    由其组织方式决定,最少硬盘数为2,且一般就使用2个。如果使用2个以上,除了存储空间利用率降低,写性能也会进一步降低,因为写入数据时要等所有硬盘都写入完毕。
  • 可用空间
    各硬盘存储的数据大小一致,所以只要其中1块硬盘满,其他硬盘均无法继续写入。且各硬盘存储的内容相同。所以可用空间为1*min(Disk1,Disk2…)。

2.3 RAID-4

2.3.1 实现方式

RAID-4实现方式:

这里写图片描述

数据存储方式:
前面硬盘按条带卷存储各chunk,最后一块硬盘作为校验盘,存储前面硬盘数据计算得出的校验码(比如按位计算出的异或值)。如果存储数据的某硬盘损坏,校验盘可和剩下的正常硬盘数据计算,得出损坏盘上的数据1

2.3.2 降级模式

  • 什么是降级模式
    以RAID-4为例,一块硬盘坏了之后,读、写仍是可以执行的。读的话,需要边计算边读,速度会比较慢;写的话,也是边计算边写到没坏的硬盘和校验盘上。
    这种存在坏硬盘的情况下继续工作的状态称为降级模式
  • 降级模式的风险及规避
    显然,降级模式下的读、写操作会增大剩余好硬盘和校验盘的压力。对于RAID-4,处于降级模式时如果再坏一块硬盘(也可以是校验盘),那么就彻底坏了。
    所以在出现硬盘故障时,应暂停使用RAID,换一块新硬盘(一般是热备一块空闲盘)并计算出原来硬盘的数据。这样就和原来状态一样了。
    不过,在计算原来硬盘数据的过程中也有可能出现新的坏盘(概率很小),对于RAID-4,这种情况也就意味着彻底坏了,RAID-4最多允许一块坏盘。

2.3.3 缺陷

RAID-4的一大缺陷:单块盘作为校验盘,任何一个存数据的盘写入数据,校验盘的数据都要跟着变。这大大增加了校验盘的压力,使之成为RAID-4的性能瓶颈。

所以RAID-4不常用。

2.4 RAID-5

2.4.1 实现方式

这里写图片描述

数据存储方式:
RAID-5存储原理与RAID-4相同。不过为了避免RAID-4单个校验盘的压力,RAID-5采用了各硬盘轮流存储校验值的方式

校验数据从第一块盘开始存储,之后各硬盘依次做校验盘,称为左对衬。如上图所示就是左对衬的方式(虚线标出)。相反地,校验数据若从最后一块盘开始,依次向前轮流做校验盘,称为右对称。一般采用左对衬。

2.4.2 指标及分析

指标 产生结果(提升、下降均相对于单硬盘)
I/O能力 提升
耐用性 提升
存储空间利用率 (N-1)/N以下,其中N为硬盘总数
使用的最少硬盘数 最少3个
可用空间 (N-1)*min(Disk1,Disk2…)

分析:

  • I/O能力
    每个硬盘仅存储数据的一部分,所以I/O压力减小,RAID总体I/O能力提升。
  • 耐用性
    同RAID-4,最多允许一块硬盘挂掉,挂掉后即变为降级模式。2块以上挂掉则彻底挂。
  • 可用空间
    最小的一块硬盘满,则RAID-5无法继续存储数据。且校验数据大小相当于其中一块硬盘。所以可用空间为(N-1)*min(Disk1,Disk2…)。

2.5 RAID-10

2.5.1 实现方式

这里写图片描述

数据存储方式:
各硬盘先分组做RAID-1,各组再在更高级别上做RAID-0

2.5.2 指标及分析

指标 产生结果(提升、下降均相对于单硬盘)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值