# raid介绍

**什么是RAID？**

RAID，通常称为磁盘阵列。磁盘阵列是由很多块独立的磁盘，组合成一个容量巨大的磁盘组，利用多个磁盘提供数据所产生的加成效果提升整个磁盘系统效能。

**RAID等级**

从实现方式、数据恢复等方面阐述

RAID技术将多个单独的物理磁盘以不同的方式组合成一个逻辑硬盘，根据不同的组织方式可以分为不同的RAID级别。

**RAID 0**

![](https://pic3.zhimg.com/80/v2-966328e1dc9a4ac98d9f657766f9e90f_720w.jpg)

**实现方式**：RAID 0最简单的实现方式就是把多块同样的硬盘串联在一起创建一个大的逻辑硬盘。最大优点就是可以整倍的提高硬盘的容量。如使用了三块10T的硬盘组建成RAID 0模式，那么磁盘容量就会是30TB。**RAID 0数据恢复**：由于不提供数据冗余保护，阵列中某一磁盘发生故障，将导致其中数据丢失，无法恢复。

**应用场景**：RAID 0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用，如视频、音频存储、临时数据缓存空间等。

**最少硬盘数**：创建RAID 0最少需要2块硬盘

**可用容量**：磁盘空间利用率为 100%

**RAID 1**

![](https://pic4.zhimg.com/80/v2-ce32cc051e177ba0b56609147e210fb1_720w.jpg)

**实现方式**：RAID 1使用两组相同的磁盘系统互做镜像，在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘损坏时，镜像硬盘则代替主硬盘工作。

**RAID1数据恢复：**&#x5982;任一磁盘发生损坏，可以马上从镜像磁盘进行数据恢复。如：上图Disk0损坏导致数据丢失，我们可以用新盘替换故障盘，读取Disk1的数据，将其复制到新盘上，从而实现了数据的恢复。

**应用场景：**&#x52;AID 1 应用于对顺序读写性能要求高以及对数据保护极为重视的应用。如：服务器、数据库存储领域。

**最少硬盘数：**&#x521B;建RAID 1最少需要2块硬盘

**可用容量：**&#x5B9E;际可用的硬盘为总硬盘数量的一半

**RAID 3**

![](https://picb.zhimg.com/80/v2-58e09c2807a85cd0544f5d382d5137bc_720w.jpg)

**实现方式：**&#x52;AID 3在阵列中专门有一个磁盘来保存对应分条中其它磁盘数据的奇偶校验信息。如果某一磁盘数据出错或者故障，可以通过对校验信息的计算恢复出故障磁盘的数据信息。

**RAID 3数据恢复：**&#x5982; RAID3 中某一磁盘出现故障，不会影响数据读取，可以通过对剩余数据盘和校验盘的计算重构故障盘上应有的数据。

如：当Disk 0故障，其上面存储的数据A1、A4、B1、B4丢失，数据恢复过程：首先恢复A1，根据同一分条上其它磁盘A2、A3和校验盘上的数据Ap(1-3)，进行异或逆运算，得到应有的数据A1。再用相同方法恢复出A4、B1、B4的数据。

**应用场景：**&#x52;AID 3能够为高带宽的大量读写提供高性能，适用大容量数据的顺序访问应用，如视频编辑、流媒体服务等。

**最少硬盘数：**&#x521B;建RAID 3最少需要3块硬盘

**可用容量：**&#x5B9E;际可用的硬盘=总硬盘数量-1

**★RAID 5**

![](https://pic4.zhimg.com/80/v2-fdebe0396878223cdcc936dfea1bed5a_720w.jpg)

**实现方式：**&#x52;AID 5 校验数据分布在阵列中的所有磁盘上，而没有采用专门的校验磁盘。对于数据和校验数据，它们的写操作可以同时发生在完全不同的磁盘上。

**RAID 5数据恢复：**&#x5F53;RAID 5中某一磁盘故障，在恢复的时候，可利用其它存活磁盘数据进行运算，恢复故障盘上的数据。

**应用场景：**&#x52;AID5 基本上可以满足大部分的存储应用需求，数据中心大多采用它作为应用数据的保护方案。

**最少硬盘数：**&#x521B;建RAID 5最少需要3块硬盘

**可用容量：**&#x5B9E;际可用的硬盘=总硬盘数量-1

**★ RAID 6**

![](https://pic2.zhimg.com/80/v2-80b3553d87318b7b9f2fa7e9ff4c1e09_720w.jpg)

**实现方式：**&#x524D;面的 RAID 等级都只能保护因单个磁盘失效而造成的数据丢失。如果两个磁盘同时发生故障，数据将无法恢复。RAID 6引入双重校验的概念，阵列中同时出现两个磁盘失效时，阵列仍能够继续工作，不会发生数据丢失。

**RAID 6数据恢复：**&#x5F53;有两个磁盘故障时，根据校验数据P和Q(如上图)恢复出丢失的数据。

**应用场景：**&#x52;AID6 主要用于对数据安全等级要求极高的场合。一般是替代 RAID 10 方案的经济性选择。

**最少硬盘数：**&#x521B;建RAID 6最少需要4块硬盘

**可用容量：**&#x5B9E;际可用的硬盘=总硬盘数量-2

**★ RAID 10**

![](https://pic1.zhimg.com/80/v2-08f107737336713088cc0bedc1f2d938_720w.jpg)

**实现方式**：RAID 10是将镜像和条带进行组合的RAID级别，先进行RAID 1 镜像然后做RAID 0。适合应用在速度和容错都比较高的场合。

**典型应用场景：**&#x9002;合数据量大，安全性要求高的场合使用。如：银行、金融等领域。

**最少硬盘数：**&#x521B;建RAID 10最少需要4块硬盘

**可用容量：**&#x5B9E;际可用的硬盘为总硬盘数量的一半

注：在创建RAID组时，要求尽量使用同一厂家的同一型号的硬盘(容量、接口、速率等一致)。

当然，类似的RAID50、RAID60也是类似原理啦。

**RAID数据保护**

从热备盘、数据重构等方面阐述

**热备盘**

**热备(Hot Spare)**：热备盘的作用相当于是在RAID里面再做一个备份，比如说本来RAID里面是只允许坏一个盘的情况下系统和数据依然正常运行，坏两个就不行了，但是加了热备之后就可以同时坏两个盘都没问题，就多了个保险。

热备通过配置热备盘实现。

热备盘要求和RAID组成员盘的容量、接口类型、速率一致，最好采用同一厂家的同型号硬盘。

**重构**

**重构**：RAID阵列中发生故障的磁盘上的所有用户数据和校验数据的重新生成，并将这些数据写到热备盘上的过程。

重构的所有操作都是在不中断系统操作的情况下进行。重建数据时，性能会受到较大的影响。

**注：**

* RAID技术只能解决物理硬盘错误引起的数据丢失问题，比如硬件失效等，而对于非磁盘故障造成的数据丢失会束手无策。比如：人为破坏、病毒、意外删除等情形。

在了解清楚RAID级别后，我们再来讲为什么要用磁盘阵列。

**1、保障数据安全。**&#x65E0;论是机械盘、固态盘，在使用过程中，会有多方面因素造成硬盘损坏，导致数据读取不了。通过阵列，可以避免因个别硬盘损坏导致的数据丢失。

**2、存储空间要求**大。目前市面上常见的硬盘，最大的存储空间为16TB单盘。当所要求存储空间＞16TB时，就需要用到磁盘阵列了。目前常见的磁盘阵列可以轻松达到几百TB-几PB。企业数据集中存储，统一管理，防止数据丢失。

**3、对传输速度要求高。**&#x53D7;限于硬盘速度，单颗硬盘读写速度有限，而SSD不适用重要数据反复读写（原因不再解释，自行某度）。**磁盘阵列可以把多块硬盘叠加，在存储空间叠加的同时，性能也叠加，一台磁盘阵列，轻松达到1GB/S以上的读写速度。**

**4、多人访问、协同制作。**&#x5BF9;应数据有同时访问需求的，可以选用共享阵列，支持Windows、macOS同时访问。可以大大提升工作效率。

**5、灵活权限管理。**&#x5728;大数据时代，数据是无价的。目前部分阵列支持读、写、删除、回收站功能，可以灵活设置权限，防止误删除、恶意删除、恶意访问别人数据等情况。
