廉价磁盘的可用性和容错能力

在互联网和移动互联网时代,大型网站时代都采用廉价服务器部署服务,因此大型网站都必须具有高性能、高可用技术架构,其中包括web层、应用服务层、数据层、存储层。存储层我们采用廉价磁盘存储数据,数据是一家互联网或移动互联网公司的核心竞争力,如何保证廉价磁盘的可用性和容错能力,是我们必须要关注的核心。

今天我们来介绍一下廉价RAID(磁盘冗余阵列技术)。RAID技术可以通过硬件实现,也通过软件实现,在传统的关系型数据库及文件系统中应用广泛。虽今天NoSQL技术的出现,但并不能扼杀RAID技术的存在,对于大多数大型网站,关系型数据库是必要基础性数据存储方式,因此RAID技术还是又必要学习的。

常用RAID技术有以下几种:

1.RAID 0 假设2个磁盘

数据从内存缓冲区写入磁盘时,根据磁盘数量将数据分成2份,这些数据同时并发写入2块磁盘,使得数据整体写入速度是一块磁盘的2陪。读取时也一样,因此RAID0有极快的数据读写能力。RAID0不做数据备份,2块磁盘中只要有一块损坏,数据完整性酒被破坏,所有磁盘的数据都会被破坏。

2.RAID 1 假设2块磁盘

数据在写入磁盘时,将一份数据同时写入两块磁盘,这样任何一块磁盘损坏都不会丢失数据,插入一块新磁盘就可以通过复制数据的方式自动修复,提高了磁盘容错性,正因为这样的模式数据安全性很高,但是磁盘利用率只有50%。每读一次磁盘只读一块数据,也就是说数据块传速率与单独磁盘的读取速率相同。因为RAID1的校验非常完备,因此对系统的处理能力有很大影响,而这样的实现方法在服务器负载比较大的时候会大大影响服务性能。

3.RAID 10 假设4块磁盘

结合RAID 0 和 RAID 1 两种方案,将所有磁盘平均成两份,数据同时在两份磁盘写入,相当于RAID 1,但是在每一份磁盘里面的2块磁盘上,利用RAID 0 技术并发写入多个磁盘,既提高可靠性又提高性能,不过RAID 10 的磁盘利用率较低,也只有50%,有一半的磁盘用来写备份数据。

4.RAID 3 假设4块磁盘

一般情况下,一台服务器上不会发生同时损坏两块磁盘的情况,在只损坏一块磁盘的情况下,如果能利用其他磁盘的数据恢复损坏磁盘的数据,这样在保证可靠性和性能的同时又大幅提升了磁盘的利用率。

在数据写入磁盘的时候,将数据分成3份,并发写入3个磁盘,并在第4块磁盘纪录校验数据,任何一块磁盘损坏(包括校验磁盘),都可以通过其他3块磁盘的数据修复。

但是在数据修改较多的场景中,修改任何磁盘数据都会导致第4磁盘重写校验数据,频繁写入的后果是第4块磁盘比其他磁盘较容易损坏,需要频繁更换,因此RAID3很少在实战中使用。

5.RAID 5 假设4块磁盘

相比RAID3,RAID5被在实战中更多的使用。

RAID5和RAID3很相似,但是校验数据不是写入第4块磁盘,而是螺旋式写入每个磁盘中。这样校验数据的修改也被平均到所有磁盘上,避免RAID3频繁写入一块磁盘,导致一块频繁损坏,频繁更换。

6.RAID 6 假设5块磁盘

如果数据需要更高的可靠性,在出现同时损坏两块磁盘的情况下,运维人员不能及时发现,或者迟迟没有更换,导致又坏了一块磁盘,仍然需要修复数据,这时可以采取RAID 6方案。

RAID 6 和 RAID 5类似,RAID 6 是在RAID 5的基础设计的,为了进一步加强数据保护,所有数据都只写入前3块磁盘,并螺旋式地在两块磁盘中写入校验数据,使用不同算法生成,允许两块盘故障,并可通过校验数据计算得到故障盘中的数据。RAID 6具有双重校验数据,因此运算负担较大,实现较复杂。通常RAID6读写性能不如RAID5。

 

在相同磁盘数目下(N块磁盘)的情况下,各种RAID技术的比较如下:

个人公众号:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值