说说IO(七)- RAID

Raid很基础,但是在存储系统中占据非常重要的地位,所有涉及存储的书籍都会提到RAID。RAID通过磁盘冗余的方式提高了可用性和可高性,一方面增加了数据读写速度,另一方面增加了数据的安全性。

 

RAID 0

 

对数据进行条带化。使用两个磁盘交替存放连续数据。因此可以实现并发读写,但带来的问题是如果一个磁盘损坏,另外一个磁盘的数据将失去意义。RAID 0最少需要2块盘。

 

 

 

 

RAID 1

 

对数据进行镜像。数据写入时,相同的数据同时写入两块盘。因此两个盘的数据完全一致,如果一块盘损坏,另外一块盘可以顶替使用,RAID 1带来了很好的可靠性。同时读的时候,数据可以从两个盘上进行读取。但是RAID 1带来的问题就是空间的浪费。两块盘只提供了一块盘的空间。RAID 1最少需要2块盘。

 

 

 

 

RAID 5 和 RAID 4

使用多余的一块校验盘。数据写入时,RAID 5需要对数据进行计算,以便得出校验位。因此,在写性能上RAID 5会有损失。但是RAID 5兼顾了性能和安全性。当有一块磁盘损坏时,RAID 5可以通过其他盘上的数据对其进行恢复。

 

如图可以看出,右下角为p的就是校验数据。可以看到RAID 5的校验数据依次分布在不同的盘上,这样可以避免出现热点盘(因为所有写操作和更新操作都需要修改校验信息,如果校验都在一个盘做,会导致这个盘成为写瓶颈,从而拖累整体性能,RAID 4的问题)。RAID 5最少需要3块盘。

 

 

RAID 6

 

RAID 6与RAID 5类似。但是提供了两块校验盘(下图右下角为p和q的)。安全性更高,写性能更差了。RAID 0最少需要4块盘。

 

 

 

 

 

RAID 10(Striped mirror)

 

RAID 10是RAID 0 和RAID 1的结合,同时兼顾了二者的特点,提供了高性能,但是同时空间使用也是最大。RAID 10最少需要4块盘。

 

 

 

需要注意,使用RAID 10来称呼其实很容易产生混淆,因为RAID 0+1和RAID 10基本上只是两个数字交换了一下位置,但是对RAID来说就是两个不同的组成。因此,更容易理解的方式是“Striped mirrors”,即:条带化后的镜像——RAID 10;或者“mirrored stripes”,即:镜像后的条带化。比较RAID 10和RAID 0+1,虽然最终都是用到了4块盘,但是在数据组织上有所不同,从而带来问题。RAID 10在可用性上是要高于RAID 0+1的:

 

  • RAID 0+1 任何一块盘损坏,将失去冗余。如图4块盘中,右侧一组损坏一块盘,左侧一组损坏一块盘,整个盘阵将无法使用。而RAID 10左右各损坏一块盘,盘阵仍然可以工作。
  • RAID 0+1 损坏后的恢复过程会更慢。因为先经过的mirror,所以左右两组中保存的都是完整的数据,数据恢复时,需要完整恢复所以数据。而RAID 10因为先条带化,因此损坏数据以后,恢复的只是本条带的数据。如图4块盘,数据少了一半。


RAID 50

RAID 50 同RAID 10,先做条带化以后,在做RAID 5。兼顾性能,同时又保证空间的利用率。RAID 50最少需要6块盘。




总结:

  • RAID与LVM中的条带化原理上类似,只是实现层面不同。在存储上实现的RAID一般有专门的芯片来完成,因此速度上远比LVM块。也称硬RAID。
  • 如上介绍,RAID的使用是有风险的,如RAID 0,一块盘损坏会导致所有数据丢失。因此,在实际使用中,高性能环境会使用RAID 10,兼顾性能和安全;一般情况下使用RAID 5(RAID 50),兼顾空间利用率和性能;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值