我的地盘我做主(一)――RAID

  独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于电脑来说,看起来就像一个单独的硬盘或逻辑存储单元。分为RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50,RAID-60。――维基百科

  OK,今天我们来聊聊RAID,它最大的作用就是做了磁盘的冗余与扩大,也就是将我们计算机的地盘做的更大、更安全一些,保证在计算机使用过程中因磁盘损害而数据不会丢失的一种技术手段,这里需要注意的是他的冗余性只针对物理磁盘的损坏,而对逻辑分区及误删操作无能为力。提到RAID人们都会问一句:RAID几?这个“几”就是RAID的级别,一般来说单RAID有6个级别,而混合RAID有RAID7|10|50等,其中RAID7不是公开的而且非常昂贵。我么现在就来详细的说以下RAID的各个级别:

    RAID0:此级别是将多个(至少两个)磁盘连接起来当一个大磁盘使用,I/O的方式是将数据分割成块,编上号,按照顺序依次的分散存储在每个磁盘上,其I/O速率会有显著提升,理论上是n*disk,不过没有任何冗余能力。值得注意的是大家不要把RAID0和JBOD混淆,JBOD也是将多个磁盘组合成一个大的磁盘来用,但是JBOD的I/O是从第一个开始存,存满第一个再存第二个,它们两个有点类似于电路中的串联和并联,请大家自行体会。

wKiom1UqD6CyTNmHAAA9xcCM5L8273.jpg

    RAID1:此级别是将两个磁盘做为一组,一个用于存放数据,另一个做镜像备份。它的大小取决于最小的那个磁盘,而且不管有几个磁盘,只要是做RAID1那么就只有一个磁盘的容量,其余全是镜像盘,所以RAID1一般只会做成两两一组。它的写性能有所下降,读性能有所提升,但理论上都是1块磁盘的读写速度。

wKioL1UqExWCt4eZAAA9tp6Iy6w043.jpg

    RAID2:这是RAID 0的改良版,以汉明码(Hamming Code)的方式将数据进行编码后分区为独立的比特,并将数据分别写入硬盘中。因为在数据中加入了错误修正码(ECC,Error Correction Code),所以数据整体的容量会比原始数据大一些,RAID2最少要三台磁盘驱动器方能运作。--维基百科

wKiom1UqEnigD27lAACP22dcTmY238.jpg

    RAID3:采用Bit-interleaving(数据交错存储)技术,它需要通过编码再将数据比特分割后分别存在硬盘中,而将同比特检查后单独存在一个硬盘中,但由于数据内的比特分散在不同的硬盘上,因此就算要读取一小段数据资料都可能需要所有的硬盘进行工作,所以这种规格比较适于读取大量数据时使用。--维基百科

wKiom1UqEqqhsHbiAABayZSSzmk072.jpg

    RAID4:此级别是用多个磁盘存取数据,抽出其中一块做校验盘,也就是说这个盘上存放的不是原始数据,而是根据原始数据计算出来的校验和,以三块盘为例:如果其中某块数据盘损坏,能够通过校验盘和另一块数据盘还原回损坏的盘上的数据,但是这种模式会对校验盘造成很大的读取压力。

wKioL1UqFaHD54AIAABdz6RzNtI463.jpg

    RAID5:此级别是对RAID4的一种改进,我们说过4级别会对校验盘产生很大的压力,所以校验盘容易损坏,那么我们就将教研盘分散到各个盘之中,同样以三块盘为例:第一次存放数据:A存,B存,C教研;第二次:A校验,B存,C存;第三次:A存,B校验,C存。以此类推即可。

wKiom1UqFW7iYS2RAABdOpL0bGk500.jpg

    RAID6:与RAID 5相比,RAID 6增加第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实作方式使得RAID 6很少得到实际应用。

wKioL1UqF5TyJRkyAAB-cpzUGxs955.jpg

    RAID10:这是一个混合级别及先做RAID1再做RAID0,能够达到既有冗余有增加读写能力。

wKioL1UqGeGQxQVFAABciAI2EHI063.jpg

    RAID01:同理,先做0后做1,但是01没有10在实际运用中常见,因为多块磁盘中损坏一块磁盘要比两块磁盘中损坏一块磁盘的概率高。

wKiom1UqGSTBLdfVAABehHaR48M585.jpg

    RAID50:这就是先做5后做0啦,这是在实际运用中最常见的一种模式了,经济实惠,方便快捷,可为居家旅行杀人越货之良器。

    

wKiom1UqGiPzsM6bAASTVY0lUk0757.jpg

  好了,这就是几种我们常见的RAID了,下面我们在总结一下他们各自的特点:

wKiom1UqGr6xmG2BAAIoH9O_ypM797.jpg

 看了这么多的理论知识,有些童鞋应该磨刀霍霍了,我们来实际的操作一下,建立一个3G的RAID5(软RAID),并有一个空闲磁盘做替换盘:

    1、我们需要5个1G的磁盘空间,并且都为fd模式

    2、创建RAID5设备/dev/md0

wKiom1UqIiGzNpyHAAINuoaca3g130.jpg

    3、查看/dev/md0

wKioL1UqI8CjxY3TAAJGbbPZQR8609.jpg

    4、格式化并挂载RAID5设备

wKiom1UqI6bATzXsAAL9R_DlLcI381.jpg

   好了,我们的RAID5已经可以使用了,本文到这里就基本结束了,但是RAID还有很多实用的知识及技巧,例如我们提到的软、硬RAID,这些还需要各位童鞋自己去搜集一下相关资料吧。

    希望本文能够给您带来帮助,如有不当之处敬请各位看官指出,拜谢!

你可能感兴趣的:(linux,raid,冗余,磁盘)