RAID技术学习小结

1.RAID

       RAID,独立冗余磁盘阵列。在早期的时候它被称为Redundant Arrays of Inexpensive Disks,即“廉价冗余磁盘阵列”;后来发现真的让这样的设备达到很高的性能,其廉价的作用已显现不出来。因此,将'Inexpensive' 改为 'Independent',就是我们现在称的“独立冗余磁盘阵列”。独立磁盘冗余阵列是把相同的数据分别存储在多个硬盘的不同地方,并做好备份,不至于使数据损失,即它拥有冗余和容错的功能。它的作用通俗的说就是:组合多个设备同时完成一个任务。RAID技术的实现是分级别的。不同的RAID级别仅代表磁盘组织方式不同,并没有级别高低之分。


2.各个等级的RAID

(1)RAID 0

      条带技术,将数据并行存储在磁盘上,因此有很高的数据传输性能。但由于其没有冗余能力,也就没有容错能力,所以数据一旦损坏就无法修复。所以说,RAID0只是单纯提高性能,数据安全性很低。

RAID技术学习小结_第1张图片

总结:

  性能提升:读,写
  冗余能力(容错能力):无
  空间利用率:nS
  至少需要2块盘

(2)RAID 1

       镜像技术,就是将数据存储在多个磁盘上,然后在产生备份。读取数据时,即可从原有的磁盘上读取,也可从镜像备份磁盘中读取,但是写的就不能了。当一个磁盘损坏时,还可使用镜像备份将原来的数据还原回来。这就使它有了冗余能力,所以其需要的磁盘数会是RAID0存储相同数据的两倍(由于需要镜像)。

RAID技术学习小结_第2张图片

总结:

  性能表现:写性能下降,读性能提升
  冗余能力(容错能力):有
  空间利用率:1/2
  至少需要2块盘

(3)RAID 2

使用的是海明码,待补充

(4)RAID 3

待补充

(5)RAID 4

      校验码技术,同样也是将数据条带化并分布于不同的磁盘上,但他需要使用一块磁盘作为校验盘,将数据存储盘的循环冗余校验码都放到这块盘上。当有一个磁盘损坏时,可通过校验盘和其他的数据盘来还原损坏的数据。因此,它也具有冗余容错能力。但是如果损坏了两块或两块以上磁盘,数据将无法修复。因此,这项技术较少使用。

RAID技术学习小结_第3张图片

总结:

  性能表现:读,写提升
  冗余能力:有
  空间利用率:(n-1)/n
  至少需要3块盘

(6)RAID 5

       RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和 相对应的数据分别存储于不同的磁盘上,其中任意N-1块磁盘上都存储完整的数据,也就是 说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此当RAID5的一个磁盘发生损坏 后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID还会自动 利用剩下奇偶校验信息去重建此磁盘上的数据,来保持RAID5的高可靠性。

RAID技术学习小结_第4张图片

总结:

  性能表现:读,写提升
  冗余能力:有
  空间利用率:(n-1)/n
  至少需要3块盘

(7)RAID 6

(8)RAID 0 + 1

将RAID0和RAID1一块使用,先用条带化再用镜像技术,就是将条带的数据磁盘,镜像成另外一组数据一样的磁盘。同组可以损坏多个,但不同组中不能损坏存放同样数据的。

RAID技术学习小结_第5张图片

总结:

 性能表现:读,写提升
 冗余能力:有
 空间利用率:1/2
 至少需要4块盘

(9)RAID 1 + 0

     先镜像,再条带。即先将数据的盘镜像备份,再进行条带。这个是两个存储一样数据的盘一组,把组条带化。这样就不能让同组的两个磁盘都损坏,损坏就无法还原了。
RAID01和RAID10没有什么好坏之分,只是其应用场所不同。

RAID技术学习小结_第6张图片


3.软件REID与硬件RAID

      硬件磁盘阵列,即硬件RAID,是通过磁盘阵列卡来完成RAID功能。磁盘阵列卡上面有一块专门的芯片在处理RAID任务,因此在性能方面会比较好。如果使用的硬件RAID,很 多磁盘阵列的操作(比如RAID 5的同为检查码计算)并不会重复消耗原本系统的IO总线,理论上性能会较佳。另外目前一般的中高端的磁盘阵列卡都支持热插拔,即在不关机的情况下更换损坏的磁盘,对于系统的复原与数据的可靠性方面非常好用。但是一般来说,一块磁盘阵列卡的价格还是比较高的。

      由于RAID有很多优秀的功能,然后硬件磁盘阵列卡造价稍高,因此就发展出利用软件来仿真磁盘阵列的功能,这就是所谓的软件RAID。软件磁盘阵列主要是通过软件来仿真数组的任务,因此会损耗较多的系统资源,比如说CPU的运算与IO总线的资源等等。如果要做软件RAID,可以使用mdadm这个工具组件,madadm不仅可以使用磁盘为单位,还是使用分区为单位,也就是在做软件RAID,可以将某个分区当做是一块磁盘。


学习资料参考于:

http://dongld.blog.51cto.com/4234800/1153492

你可能感兴趣的:(RAID技术学习小结)