磁盘阵列--将多个磁盘通过一定的技术整合成一个较大的磁盘,不仅容量上得到提升,更使得磁盘上的数据具有维护,恢复,读取速度变快的功能呢
RAID有不同的常用等级,使得整合后的磁盘具有不同的功能:
==========================================================================================================================================
RAID 0(等量模式)
这种模式下的RAID每个磁盘的型号和容量相同时性能最佳。
上图的意思:将每个磁盘分成大小相同的chunk块,并且每个磁盘的chunk块也都相等,当数据存储时,数据先被切割成chunk块大小的小数据,然后依次交错存放在每个磁盘的chunk中,所以每个磁盘存放的数据是平均的,例如图中200M的数据分配到每个磁盘100M的数据,这样就减轻了一个磁盘存放全部数据的负担,并且磁盘越多性能越好,RAID的容量是每个磁盘的容量总和。
当每个磁盘的容量不相等时,刚开始数据依次交错存放在每个磁盘chunk中,当最小的磁盘空间用完之后,剩下的数据则全部放在最大的磁盘中。
这时候的性能就会变差。
但是RAID 0的危害还是很大的,假如有一个磁盘坏掉,则整个RAID 0将不能使用。
==========================================================================================================================================
RAID 1(映像模式)
RAID 1中的每个磁盘的容量相同时最佳,但是当磁盘容量不同时,则以最小的磁盘为主。
RAID 1模式下,一份数据完整的备份到两个磁盘上,这样整个RAID的容量将会降低50%。
当数据大量写入RAID时,由于一份数据会多次备份,因此写入的效率会变得非常差,优点在于当一块磁盘的数据坏掉之后,另一块的备份数据会起作用,增强了数据的安全性呢
==========================================================================================================================================
RAID 1+0
将RAID 0的高效性和RAID 1的安全性综合考虑就产生了RAID 1+0
如图:磁盘1和磁盘2组合成一组RAID 1,磁盘3和磁盘4也组合成一组RAID 1,最后这两组RAID 1组合成RAID 0,当200M数据写入RAID 1+0时,
RAID 0会将数据分成100M分别写进两个RAID 1中,又经过RAID 1使得每个磁盘备份100M的数据。
这种模式不论数据读写速度和数据安全都得到了极大的提升。
==========================================================================================================================================
RAID 5
这种模式至少需要3个磁盘才能组成这样的磁盘阵列,这种模式和RAID 0类似,也是依次交错写入块,不同的是每一个循环写入过程中会在不同的磁盘写入一个检查数据(partity),它记录着其他磁盘的备份数据,当其中一个磁盘损坏时,可以根据这个检查数据进行恢复。
如上图所示,每一个循环写入过程都会记录一个parity,并且在不同的磁盘,同时由于parity的关系,RAID 5的容量是总磁盘数-1的容量,例如图中就是3-1=2的容量。
RAID 5的另一个问题是允许损坏的磁盘数仅为一个,如果损害的磁盘数大于等于2,则整个RAID失效。
这种模式下读取数据的能力很强,但是在写入数据方面,由于parity的关系,写入数据的时候会计算parity,因此写入数据的效能还另需讨论。
RAID 6和RAID 5的原理上类似,RAID 6增加两个磁盘作为parity的写入,因此RAID 6最多允许两个磁盘的损坏。
==========================================================================================================================================
常见的几种磁盘阵列模式对比:
Linux学习—磁盘阵列RAID
原文地址:http://blog.51cto.com/13570193/2071964