RAID

开始前先来思考一个问题,如果一个文件的大小超过了一块磁盘的大小,该如何存储?
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),简称磁盘阵列,利用虚拟化存储技术把多个磁盘组合起来,成为一个或多个磁盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。
简单来说,RAID把多个磁盘组合成为一个逻辑磁盘,因此,操作4 C : 9系统只会把它当作一个实体磁盘。
常见 RAID 等级
RAID 0
RAID
假设服务器有 N 块磁盘,RAID 0是数据在从内存缓冲区写入磁盘时,根据磁盘数量将数据分成 N 份,这些数{ h v (据同时并发写入9 6 m j ( [ t c b N 块磁盘,使得数据整体写入速度是一块磁盘的 N 倍;读取的时候也一样,所以在所有的级别j h v A @ % 中,RAID 0的速度是最快的
但是RAID 0不做数据备份,N 块磁盘中只要有一块损坏,数i I & U ] ; =据完整性就被破坏,其他磁盘的数据也都无法使用了。
RAID 1
RAID
RAID 1是数据在写入磁盘时,将一份数据同时写入两块磁盘,这样任何一块磁盘损坏都不会导致数据丢失,插入一块新磁盘就可以通过复制数据的方式自动修复,具有极高K ) Z的可靠$ m D y D $ @ F G性,RAID 1的数据安全性在所有的RAID级别上来说是最好的。但无论用多少磁盘做RAID 1,仅算一个磁盘的容量,是所有RAID中磁盘利用率最低的一个级别。
RAID 1在一些多线程操作系统6 _ T :中能有很好的读取速度,理论上读取速度等于磁盘数量的倍数,与RAID 0相同。写入速度有微小的降低。
RAI^ D U d R B / GD 10
RAID
结合RAID 0和RAID 1两种方案构成了RAID 10,它是将所有磁盘 N 平均分成两份,数据同时在两份磁盘写入,相当于RA{ j g / . p s 4ID 1;但是平分成两份,在U q g X x I每一份磁盘(也就是 N/2 块磁盘)里面,利用RAID 0技术并发读写,这样既提高可靠性又改善性能。不过RAID 10的磁盘利用率较低,有一半的磁盘用来写备份数据。
RAID 3
RAID
RL n $ ! 1 hAID 3 可以在数据写入磁盘的时候c l U + 3 },将数据分成 N-1 份,并发S _ 5 * % Y O % R写入 N-1 块磁盘,并在第 N 块磁盘记录校验数据,这样任何一块磁盘损坏(包括校验数据磁盘),都可以利用其他 N-1 块磁盘的数据修复。
由于数据内的比8 8 W F r + c a特分散在不同的磁盘上,因此就算要读取一小段数据资料都可能需要所有的磁盘进工作,I C l M所以这种规格比较适于读取大量数据时使用。
在数据修改较多的场景中,任何磁盘数据的修改,都会导致第 N 块磁盘重写校验数据。频繁写入的后果是第 N 块磁盘Q & w | Z z 5比其他磁盘更容易损坏,需要频繁更换,所以RAID 3很少在实践中使用。
RAID 5
RAID
相比RAID 3,RAID 5是使用更多的方案。0 g # . ~ T Q *RAID 5和RAID 3很相似,但是校验数据不是写入第 N 块磁盘,而是螺旋式地写入所有磁盘中。这样校验数据的修改也被平均到所有磁盘上d U , ],避免RAIX }D 3频繁写H d _ z A坏一块磁盘的情况。
RAID 5至少需要三块磁盘,RAID 5不是对存储的数据进备份,而是把数据和相对应的奇偶校验信息存储到组成RAID 5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘8 = Z @ ~ ^ 4上。当R# K ~ M ! ; oAID 5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID 5可以理解为D , x K U Z =是RAID 0和RAID 1的折衷方案。
RAID 6
RAID
如果数据需要很高的可靠性,在出现同时损坏两p y @块磁盘的情况下(或者运维管理水平比较落后,坏了一块磁盘但是迟迟L C U w O @ B X没有更换,导致又坏了一块磁盘),仍然需要修复数据,这时候可以使用RAID 6。
与RAID 5相比RAID 6, z / # i m [ u增加第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非 ` } 6 P + O常高,任意两块磁盘同时失效时不会影响数据完整性。- @ Y w Z p转载至—明辰智航云安网络与虚拟化性能管理系统
各种 RAID 技术比较
RAID
RAID