(内从及图片来自 鸟哥的linux私房菜)

   强烈推荐这本书。

RAID-0

       你有两颗磁盘组成RAID-0 , 当你有100MB 的资料要写入时,每个磁盘会各被分配到50MB 的储存量。

15C51251142A4AFE5D6C2C4654F8334115AF8F0E

    越多颗磁盘组成的RAID-0效能会越好,因为每颗负责的资料量就更低了!

  此外,磁盘总容量也变大了!因为每颗磁盘的容量最终会加总成为RAID-0的总容量

   缺点:由于文件是依次放到每块磁盘中,那么如果有一个磁盘坏了,你的文件也就报废了。

    另外,如果使用不同容量的磁盘来组成RAID-0 时,由于资料是一直等量的依序放置到不同磁盘中,当小容量磁盘的区块被用完了, 那么所有的资料都将被写入到最大的那颗磁盘去。举例来说,我用200G 与500G 组成RAID-0 , 那么最初的400GB 资料可同时写入两颗磁盘(各消耗200G 的容量),后来再加入的资料就只能写入500G 的那颗磁盘中了。此时的效能就变差了,因为只剩下一颗可以存放资料嘛!

 

RAID-1

1972C96590A31F6562DB43114BA0DCC0732AA804

   RAID-1就是一块磁盘完全备份另一块磁盘的数据。他的容量只有一块盘(比如两块500GB的盘,那么做好RAID-1后只有250GB

   当然,由于做的是镜像,所以一块盘破了数据还是在的。

RAID 0+1RAID 1+0

BB7EC52B0FB015309A3F2D76A6B9395564FB0794

       RAID-0 的效能佳但是资料不安全,RAID-1 的资料安全但是效能不佳,那么能不能将这两者整合起来设定RAID 呢?可以啊!那就是RAID 0+1 或RAID 1+0。所谓的RAID 0+1 就是: (1)先让两颗磁盘组成RAID 0,并且这样的设定共有两组; (2)将这两组RAID 0 再组成一组RAID 1。这就是RAID 0+1 啰!反过来说,RAID 1+0 就是先组成RAID-1 再组成RAID-0 的意思。

       

       Disk A + Disk B 组成第一组RAID 0,Disk C + Disk D 组成第二组RAID 0,

        然后这两组再整合成为一组RAID 1。如果我有100MB 的资料要写入,

       则由于RAID 1 的关系, 两组RAID 0 都会写入100MB,但由于RAID 0 的关系,

       因此每颗磁盘仅会写入50MB 而已。如此一来不论哪一组RAID 0 的磁盘损毁,

       只要另外一组RAID 0 还存在,那么就能够透过RAID 1 的机制来回复资料。

       由于具有RAID 0 的优点,所以效能得以提升,由于具有RAID 1 的优点,

       所以资料得以备份。但是也由于RAID 1 的缺点,所以总容量会少一半用来做为备份喔!

RAID 5:

741B1DA26A8D79896305BEA6F6680CFFCEB73CD0

RAID-5 至少需要三颗以上的磁盘才能够组成这种类型的磁盘阵列。这种磁盘阵列的资料写入有点类似RAID-0 , 不过每个循环的写入过程中,在每颗磁盘还加入一个同位检查资料(Parity) ,这个资料会记录其他磁盘的备份资料, 用于当有磁盘损毁时的救援。

记录的同位检查码每次都记录在不同的磁盘,因此,任何一个磁盘损毁时都能够藉由其他磁盘的检查码来重建原本磁盘内的资料喔!不过需要注意的是,由于有同位检查码,因此RAID 5的总容量会是整体磁盘数量减一颗。以上图为例,原本的3颗磁盘只会剩下(3-1)=2颗磁盘的容量。而且当损毁的磁盘数量大于等于两颗时,这整组RAID 5的资料就损毁了。因为RAID 5预设仅能支持一颗磁盘的损毁情况。

在读写效能的比较上,读取的效能还不赖!与RAID-0 有的比!不过写的效能就不见得能够增加很多!这是因为要写入RAID 5 的资料还得要经过计算同位检查码(parity) 的关系。由于加上这个计算的动作, 所以写入的效能与系统的硬体关系较大!尤其当使用软体磁盘阵列时,同位检查码是透过CPU 去计算而非专职的磁盘阵列卡, 因此效能方面还需要评估。

另外,由于RAID 5 仅能支持一颗磁盘的损毁,因此近来还有发展出另外一种等级,就是RAID 6 ,这个RAID 6 则使用两颗磁盘的容量作为parity 的储存,因此整体的磁盘容量就会少两颗,但是允许出错的磁盘数量就可以达到两颗了!也就是在RAID 6 的情况下,同时两颗磁盘损毁时,资料还是可以救回来