浅析5种常见的RAID技术

发布时间 2023-10-30 17:02:29作者: 煜见yk

RAID

 

RAID(Redundant Array of Independent Disks)全称为独立磁盘冗余阵列,简称为磁盘阵列。

 

RAID是指利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组的技术,目的为提升性能或资料冗余,或是两者同时提升

 

最常用的五种RAID为 RAID 0、RAID 1、RAID2、RAID 5、RAID 10

 

RAID 0

 

RAID 0亦称为带区。它将两个以上的磁盘并联起来,成为一个大容量的磁盘。在存放数据时,分段后分散存储在这些磁盘中,因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0既没有冗余功能,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失

 

总结其特点:

  • 最少需要两块磁盘
  • 数据条带式分布
  • 没有冗余,性能最佳(不存储镜像以及校验信息)
  • 不能应用于对数据安全性要求较高的场景

 

RAID 1

 

两组以上的N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,与RAID 0相同。另外写入速度有微小的降低。只要一个磁盘正常即可维持运作,可靠性最高。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但无论用多少磁盘做RAID 1,仅算一个磁盘的容量,是所有RAID中磁盘利用率最低的一个级别。

 

总结其特点:

  • 最少需要两块磁盘
  • 写入速度相较于RAID略有降低
  • 提供数据块冗余
  • 数据安全性好
  • 磁盘利用率最低

 

 

RAID 2

 

这是RAID 0的改良版,以汉明码(Hamming Code)的方式将数据进行编码后分割为独立的比特,并将数据分别写入硬盘中。因为在数据中加入错误修正码(ECC,Error Correction Code),所以数据整体的容量会比原始数据大一些。

RAID 2最少要三台磁盘驱动器方能运作。

 

总结其特点: 

  • 最少需要三块磁盘
  • 有错误修正机制
  • 数据整体容量比原始数据大

 

RAID 5

 

RAID 5是一种储存性能、数据安全和存储成本兼顾的存储解决方案。它使用的是Disk Striping(硬盘分割)技术。

 

RAID 5使用“奇偶校验位”。有效大小是 N-1 个磁盘的大小。由于奇偶校验信息也在 N 个驱动器之间均匀分布,因此避免了每次写入都必须更新奇偶校验磁盘的瓶颈。防止单个磁盘故障,而且访问速度快[2]

 

RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID 5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID 5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5具有和RAID 0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相对单独写入一块硬盘的速度略慢,若使用“回写缓存”可以让性能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。

 

总结其特点:

  • 最少3块磁盘
  • 数据条带形式分布
  • 以奇偶校验作冗余
  • 适合多读少写的情景,是性能与数据冗余最佳的折中方案

 

RAID10

 

先组成RAID 1,然后组成RAID 0

 

RAID 10(又叫RAID 1+0)特点:

  • 最少需要4块磁盘
  • 先按RAID 0分成两组,再分别对两组按RAID 1方式镜像
  • 兼顾冗余(提供镜像存储)和性能(数据条带形分布)
  • 在实际应用中较为常用

 

参考资料:

https://zh.wikipedia.org/wiki/RAID

https://blog.csdn.net/ym01213/article/details/84278542