图解RAID

图解RAID
  RAID是Redundant Arrays of Independent Disks的简称,也就是我们通常所说的磁盘阵列。
  在计算机存储领域,被提问最多的就是什么是RAID?RAID最初是指Reduandant Array of Inexpensive Disk,意思是可以使用廉价的多块磁盘组成阵列,以实现许多昂贵硬盘才拥有的容量和性能。后来演变为Redundant Arrays of Independent Disks,指冗余磁盘阵列。RAID可以用来将多个小容量的磁盘组成一个大容量的磁盘,也可以用来提高读写的性能,最主要的功能是提高冗余功能,即当一个磁盘发生故障时,数据不会丢失,依然可以正常访问。
  最常用的RAID为:
    RAID 0
    RAID 1
    RAID 5
    RAID 1+0(也称为RAID 10)
  下面我们使用图例的方式来展示各个类型RAID的区别。我们会列出各个类型的优点和缺点。

RAID 0



  RAID 0实际上并没有提供任何“冗余”,它只是将“多个磁盘组成一个大容量的磁盘”。使用RAID 0后,多个磁盘可以同时读写,所以提高了磁盘的读写性能。RAID 0至少需要两块磁盘。
  RAID 0的优点:
    1.可以将多个磁盘当成一个大容量的磁盘来使用
    2.读写性能有极大的提高

  RAID 0的缺点:
    1.没有“冗余”意味着如果数据丢失了,将无法恢复
    2.增加了数据的丢失风险,一旦阵列中的一块磁盘故障,整个阵列的数据将无法恢复
    3.不建议将其作为系统盘,也不建议用来保存有价值的数据

RAID 1



  使用RAID 1,写入数据的时候,会同时将数据写入“工作盘”和“镜像盘”,每一个“工作盘”都有一个对应的“镜像盘”。“工作盘”和“镜像盘”保存的数据内容是完全一样的。当“工作盘”发生故障时,可以从“镜像盘”读取数据。显然,使用RAID 1后,磁盘的利用率为50%,即有效存储空间变成原来的一半了。RAID 1至少需要两块磁盘。
  RAID 1的优点:
    1.读取速度有极大的提高(有时甚至比RAID 0更高)
    2.通过镜像的方式提供了“冗余”功能

  RAID 1的缺点:
    1.与RAID 0相比,RAID 1的写速度较低
    2.通过镜像的方式提供“冗余”功能,意味着在“冗余”上花费了很多成本。

RAID 5



  RAID 5使用奇偶校验数据来保障数据的恢复。使用RAID 5后,假设将数据写入磁盘A,则将磁盘A的校验数据保存到磁盘B上。如果磁盘A发生了故障,则可以通过磁盘B上保存的校验数据恢复。显然RAID 5在单个磁盘发生故障时,可以恢复数据。RAID 5至少需要三块磁盘。
  RAID 5的优点:
    1.提供类似RAID 0的读取速度
    2.提供单个磁盘故障的恢复能力

  RAID 5的缺点:
    1.较低的写入速度

RAID 0+1(也称为RAID 01)



  RAID 0+1是将RAID 0和RAID 1有效的组合到了一起。先使用RAID 0将镜像化后的磁盘进行条带化;然后使用RAID 1将磁盘镜像化,分为“工作盘”和“镜像盘”。RAID 0+1至少需要四块磁盘。
  RAID 0+1的优点:
    1.兼容RAID 0和RAID 1的优点,即具有较好的性能和“冗余”

  RAID 0+1的缺点:
    1.因为实现比较复杂,成本是比较高的
    2.类似于RAID 1,磁盘的利用率仅为为50%。例如:4块500GB的磁盘,使用RAID 0+1后,仅有1000GB存储空间可以使用,剩下的1000GB存储空间作为“镜像”。

RAID 1+0(也称为RAID 10)



  RAID 1+0是将RAID 1和RAID 0有效的组合到了一起。先使用RAID 1将磁盘镜像化,分为“工作盘”和“镜像盘”;然后使用RAID 0将镜像化后的磁盘进行条带化。RAID 1+0至少需要四块磁盘。
  RAID 1+0的优点:
    1.兼容RAID 0和RAID 1的优点,即具有较好的性能和“冗余”

  RAID 1+0的缺点:
    1.因为实现比较复杂,成本是比较高的
    2.类似于RAID 1,磁盘的利用率仅为为50%。例如:4块500GB的磁盘,使用RAID 0+1后,仅有1000GB存储空间可以使用,剩下的1000GB存储空间作为“镜像”。

  通常来说,RAID 0+1比RAID 1+0具有更好的容错能力。


参考:
  Standard RAID levels