`
和你在一起
  • 浏览: 682865 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

说说IO(七)- RAID

 
阅读更多

 

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

 

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 6RAID 5类似。但是提供了两块校验盘(下图右下角为pq的)。安全性更高,写性能更差了。RAID 0最少需要4块盘。

 

 

 

 

 

RAID 10Striped mirror

 

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

 

 

 

需要注意,使用RAID 10来称呼其实很容易产生混淆,因为RAID 0+1RAID 10基本上只是两个数字交换了一下位置,但是对RAID来说就是两个不同的组成。因此,更容易理解的方式是“Striped mirrors”,即:条带化后的镜像——RAID 10;或者“mirrored stripes”,即:镜像后的条带化。比较RAID 10RAID 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块盘。




总结:

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

 

 

2
4
分享到:
评论

相关推荐

    说说IO:IO原理与解析.zip

    内容概要:IO的分层;...RAID;三分天下 适用人群:Java开发人员 使用场景:想学习JavaIO以及在IO开发中遇到瓶颈 目标:通过本教程的讨论与解析,更加深刻的理解和认识IO,熟练的操作IO,避免踩坑,陷入误区。

    阿里巴巴公司 DBA 笔试题(上)

    3. **随意说说你觉得 Oracle 最有意思的部分或者最困难的部分** - 个人对 Oracle 技术的看法,比如查询优化、性能调优等。 4. **为何要选择做 DBA** - 个人职业规划和发展方向,对数据库管理的兴趣和热情。

    阿里巴巴公司DBA笔试题.doc

    3. **随意说说你觉得 Oracle 最有意思的部分或者最困难的部分** - **最有趣的部分**: Oracle 的强大功能和灵活性。 - **最困难的部分**: 复杂的配置和调优。 4. **为何要选择做 DBA 呢?** - DBA 的职业挑战性、...

    阿里巴巴公司DBA笔试题

    3. **随意说说你觉得oracle最有意思的部分或者最困难的部分** - 最有意思的部分可能是复杂的查询优化技巧。 - 最困难的部分可能是理解Oracle内部的工作机制。 4. **为何要选择做DBA呢?** - DBA工作提供了挑战性...

    数据库DBA笔试题

    5. 对 raid10 和 raid5 有何认识:raid10 和 raid5 是两种常用的磁盘阵列技术,能够提高数据的可用性和安全性。 综合随意类 1. 你最擅长的是 oracle 哪部分?:可以根据个人兴趣和擅长回答。 2. 喜欢 oracle 吗?...

    据说是阿里巴巴公司DBA笔试题

    5. 对 raid10 和 raid5 有何认识:raid10 和 raid5 是两种常见的磁盘阵列技术,用于提高存储性能和可用性 综合随意类 1. 你最擅长的是 Oracle 哪部分?:根据个人兴趣和经验,选择擅长的 Oracle 领域 2. 喜欢 ...

Global site tag (gtag.js) - Google Analytics