尽管事实上RAID 1使用了两个物理硬盘,操作系统却只能分辨出一个逻辑硬盘。因为一个盘上的数据是复制的另一张盘上的,所以一个双硬盘的RAID 1磁盘阵列的存储能力只能达到一张单独盘片的存储能力。
- RAID 0
-RAID 0控制器将数据分成许多小块,然后并行地将它们写到磁盘阵列中的各个硬盘上,并且磁盘阵列中存储空间没有冗余。数据块并行的写到阵列中的各个硬盘上,这提高了性能,但是极大的降低了可靠性。一个striped逻辑驱动器如果阵列当中的任何一个物理硬盘损坏的话就会导致系统无法恢复。举例来说,你有一个双硬盘组成RAID 0磁盘阵列,你的平均故障间隔时间(MTBF)减小为一半。RAID 0磁盘阵列中的任何一个硬盘的故障都将毁掉整个 磁盘阵列系统,并使得逻辑硬盘上的所有数据丢失。
尽管striping模式不存在冗余,但它至少使得整个磁盘阵列的物理驱动器的存储能力最大化。因为采用RAID 0 排列的逻辑驱动器覆盖着每个物理驱动器,磁盘阵列的总存储能力是物理驱动器的存储能力的总和。
- RAID 1+0/0+1
- RAID 1+0和0+1模式是相似的,它们试图同时达到更好的性能和冗余,即综合RAID 0和
RAID 1两种磁盘阵列之长
。但是RAID 1+0
和0+1在处理
镜像和冗余上是有区别的。RAID 1+0是先分别利用两个硬盘组成RAID 1阵列,然后再把这两个阵列以RAID 0模式组合在一起,而RAID 0+1则刚好相反。
无论是RAID 1+0模式还是0+1模式其得到的存储能力是一样的。不管是RAID 1+0 还是0+1,其总的存储能力都是阵列中所有硬盘的存储能力之和的一半。同样是对各自组合方式下的逻辑盘做了镜像副本,因此所有硬盘总的存储能力只有一半是可用的。
RAID 1+0和0+1 磁盘阵列拥有相同的存储能力,同时它们都具备充分的冗余来预防其中一个单独的硬盘故障,但是一旦其中一个硬盘出现故障之后,两种模式的冗余能力就变得不同了:对于RAID 0+1磁盘阵列而言,如果故障硬盘所在的RAID 0模式的另外一个硬盘故障,当然对于这个磁盘镜像没有什么影响,不过如果出现在另外一个RAID 0阵列上,整个磁盘阵列就崩溃了;对于RAID 1+0模式,如果一个RAID 1阵列中的两块硬盘都故障了,那么整个磁盘阵列都会崩溃。因此,对于这两种模式,只要有一个硬盘故障,最好尽快的更换。
- RAID 5 -
RAID 5不是利用镜像而是利用分散奇偶校验冗余数据。在RAID 0阵列中,数据是分散在阵列中的每块硬盘上,而在RAID 5阵列中,奇偶校验数据也是有序排列的。这些奇偶检验数据的索引是交叉分布在阵列中的每块硬盘上。维护这些奇偶检验数据的索引导致RAID 5阵列的性能慢下来,但给了它striped RAID 0阵列所不具备的冗余水平。如果一个硬盘失效,RAID 5磁盘阵列能利用其他物理驱动器的数据、奇偶校检数据和一些简单的二元数学算法来复原。
RAID 5磁盘阵列的存储能力取决于阵列中硬盘的个数。奇偶校检数据索引要求RAID 5阵列中的每个物理硬盘的容量大小是一致的。RAID 5 磁盘阵列中拥有的物理硬盘个数越多,总的存储能力越低,很明显,这是因为奇偶校检数据索引的缘故。我们采用了四块硬盘组成了RAID 5磁盘阵列来做对照试验,所以这个阵列的总容量是其中三块硬盘的容量之和。(不如就放上:RAID 5模式的有效容量是阵列中容量最小的硬盘容量乘上阵列中硬盘数目减去一以后的数,这里硬盘数目要减去一是因为其中有一块硬盘用来存放校验信息。)
最后,RAID 0 阵列提供最高的性能和最有效的可用容量,但是它降低了数据可靠性,这也许使得你在使用多块硬盘组成你的RAID 0 阵列后却还不如单独使用一块硬盘的情况好。RAID 1阵列通过镜像能提供冗余,但是它不能提供任何扩展的性能优势,因为镜像将占去你阵列中硬盘总容量的一半。