RAID 就是一种由多块廉价磁碟构成的冗余阵列,在作业站群系统下是作为一个独立的大型储存装置出现。
RAID 可以充分发挥出多块硬碟的优势,可以提升硬碟速度,增大容量, 提供容错功能够确保资料安全性,易于管理的优点,在任何一块硬碟出现问题的情况下都可以继续工作,不会受到损坏硬碟的影响。
通常我们较为常见的 RAID 有 RAID 0、RAID1、RAID 5 和 RAID10
  RAID 0
定义:
RAID 0,它代表了所有 RAID 级别中最高的储存效能。RAID 0 提高储存效能的原理是把连续的资料分散到多个磁碟上存取,这样,站群系统有资料请求就可以被多个磁碟并行的执行,每个磁碟执行属于它自己的那部分资料请求。这种资料上的并行操作可以充分利用汇流排的带宽,显著提高磁碟整体存取效能。推荐阅读:《香港站群服务器硬碟磁碟型别有哪些》
常见的 RAID 磁碟有哪几种?
工作原理:
站群系统向三个磁碟组成的逻辑硬碟 (RAID0 磁碟组) 发出的 I/O 资料请求被转化为 3 项操作,其中的每一项操作都对应于一块物理硬碟。通过建立 RAID 0,原先顺序的资料请求被分散到所有的三块硬碟中同时执行。从理论上讲,三块硬碟的并行操作使同一时间内磁碟读写速度提升了 3 倍。 但由于汇流排带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量资料并行传输与序列传输比较,提速效果显著显然毋庸置疑。
优缺点:
读写效能是所有 RAID 级别中最高的。
RAID 0 的缺点是不提供资料冗余,因此一旦多用户资料损坏,损坏的资料将无法得到恢复。RAID0 执行时只要其中任一块硬碟出现问题就会导致整个资料的故障。一般不建议企业站群多用户单独使用。
  RAID1
定义:
RAID 1 通过磁碟资料映象实现资料冗余,在成对的独立磁碟上产生互为备份的资料。当原始资料繁忙时,可直接从映象拷贝中读取资料,因此 RAID 1 可以提高读取效能。RAID 1 是磁碟阵列中单位成本最高的,但提供了很高的资料安全性和可用性。当一个磁碟失效时,站群系统可以自动切换到映象磁碟上读写,而不需要重组失效的资料。
工作原理:
RAID1 是将一个两块硬碟所构成 RAID 磁碟阵列,其容量仅等于一块硬碟的容量,因为另一块只是当作资料 “映象”。RAID1 磁碟阵列显然是最可靠的一种阵列,因为它总是保持一份完整的资料备份。它的效能自然没有 RAID0 磁碟阵列那样好,但其资料读取确实较单一硬碟来的快,因为资料会从两块硬碟中较快的一块中读出。RAID1 磁碟阵列的写入速度通常较慢,因为资料得分别写入两块硬碟中并做比较。RAID1 磁碟阵列一般支援 “热交换”,就是说阵列中硬碟的移除或替换可以在站群系统执行时进行,无须中断退出站群系统。RAID1 磁碟阵列是十分安全的,不过也是较贵一种 RAID 磁碟阵列解决方案,因为两块硬碟仅能提供一块硬碟的容量。RAID1 磁碟阵列主要用在资料安全性很高,而且要求能够快速恢复被破坏的资料的场合。
在这里,需要注意的是,读只能在一块磁碟上进行,并不会进行并行读取,效能取决于硬碟中较快的一块。写的话通常比单块磁碟要慢,虽然是并行写,即对两块磁碟的写入是同时进行的,但因为要比较两块硬碟中的资料,所以效能比单块磁碟慢。推荐阅读:《如何优化 WordPress 主机磁碟空间》
优缺点:
RAID1 通过硬碟资料映象实现资料的冗余,保护资料安全,在两块盘上产生互为备份的资料,当原始资料繁忙时,可直接从映象备份中读取资料,因此 RAID1 可以提供读取效能。
RAID1 是硬碟中单位成本最高的,但提供了很高的资料安全性和可用性,当一个硬碟失效时,站群系统可以自动切换到映象硬碟上读/写,并且不需要重组失效的资料。
  RAID 5
定义:
RAID 5 是 RAID 0 和 RAID 1 的折中方案。RAID 5 具有和 RAID0 相近似的资料读取速度,只是多了一个奇偶校验资讯,写入资料的速度比对单个磁碟进行写入操作稍慢。同时由于多个资料对应一个奇偶校验资讯,RAID5 的磁碟空间利用率要比 RAID 1 高,储存成本相对较低,是目前运用较多的一种解决方案。
工作原理:
RAID5 把资料和相对应的奇偶校验资讯储存到组成 RAID5 的各个磁碟上,并且奇偶校验资讯和相对应的资料分别储存于不同的磁碟上,其中任意 N-1 块磁碟上都储存完整的资料,也就是说有相当于一块磁碟容量的空间用于储存奇偶校验资讯。因此当 RAID5 的一个磁碟发生损坏后,不会影响资料的完整性,从而保证了资料安全。当损坏的磁碟被替换后,RAID 还会自动利用剩下奇偶校验资讯去重建此磁碟上的资料,来保持 RAID5 的高可靠性。
做 RAID5 阵列所有磁碟容量必须一样大,当容量不同时,会以最小的容量为准。 最好硬碟转速一样,否则会影响效能,而且可用空间=磁碟数 n-1,RAID5 没有独立的奇偶校验盘,所有校验资讯分散放在所有磁碟上, 只占用一个磁碟的容量。
  RAID10
定义:
RAID10也被称为镜象阵列条带。象RAID0一样,资料跨磁碟抽取; 象RAID1一样,每个磁碟都有一个镜象磁碟, 所以RAID 10的另一种会说法是 RAID 0+1。RAID10提供100% 的资料冗余,支援更大的卷尺寸,但价格也相对较高。对大多数只要求具有冗余度而不必考虑价格的应用来说,RAID10提供最好的效能。使用RAID10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障(每个阵列中一个),资料仍然可以得到保护。RAID10需要4 + 2*N 个磁碟驱动器(N >=0), 而且只能使用其中一半 (或更小, 如果磁碟大小不一) 的磁碟用量, 例如 4 个 250G 的硬碟使用 RAID10 阵列, 实际容量是 500G。
实现原理:
RAID10 其实结构非常简单,首先建立 2 个独立的 RAID1,然后将这两个独立的 RAID1 组成一个 RAID0,当往这个逻辑 RAID 中写资料时,资料被有序的写入两个 RAID1 中。磁碟 1 和磁碟 2 组成一个 RAID1,磁碟 3 和磁碟 4 又组成另外一个 RAID1; 这两个 RAID1 组成了一个新的 RAID0。如写在硬碟 1 上的资料 1、3、5、7,写在硬碟 2 中则为资料 1、3、5、7,硬碟中的资料为 0、2、4、6,硬碟 4 中的资料则为 0、2、4、6,因此资料在这四个硬碟上组合成 RAID10,且具有 RAID0 和 RAID1 两者的特性。
虽然 RAID10 方案造成了 50% 的磁碟浪费,但是它提供了 200% 的速度和单磁碟损坏的资料安全性,并且当同时损坏的磁碟不在同一 RAID1 中,就能保证资料安全性。假如磁碟中的某一块盘坏了,整个逻辑磁碟仍能正常工作的。
当我们需要恢复 RAID10 中损坏的磁碟时,只需要更换新的硬碟,按照 RAID10 的工作原理来进行资料恢复,恢复资料过程中站群系统仍能正常工作。原先的资料会同步恢复到更换的硬碟中。
目前常用的 RAID 是这几种,在实际应用中,应当根据多用户的资料应用特点和具体情况,综合考虑可用性、效能和成本来选择合适的 RAID 等级。推荐相关阅读:《站群服务器容错性对站群服务器正常执行有什么影响》