传统的RAID 1.0:

选几个硬盘—>做成RAID 5—>根据容量创建LUN—>映射给主机

1.重建时间随单盘容量的增大而迅速增加

2.性能上,一个LUN的读写只能在一个磁盘组进行,后面加入新的SSD等介质也发挥不了作用

进击的RAID 1.5:

选几个硬盘—>做RAID 5—>选多个RAID 5组成一个池—>切分为相等的小块Extend—>选择Extend组成LUN

1.读写跨越了更多的硬盘,单个LUN可以包含多个RAID,也可以有多种磁盘可以做到自动分层存储。(Automated Tiered Storage management,ATS,是在不同磁盘类型和RAID级别之间迁移数据块的功能,这可满足性能和空间使用之间的适当平衡,并避免所谓的热点)

2.一个磁盘损坏引起的重建还是只在单一RAID中进行,并没有降低重建时间。

彪悍的RAID 2.0:

以下以华为的HVS为例,图文均来自于HVS RAID 2.0+,不同厂家实现RAID 2.0的具体方法和技术参数各有差异,

1、对于系统内部物理硬盘,按介质的性能不同,组成几类存储池

2、将系统内部每个硬盘空间切分成64MB大写逻辑块(Chunk)

3、将来自不同硬盘上的按RAID组成逻辑块组(CKG)

4、 将逻辑块组(CKG)切分成512KB~64MB(默认4MB,大小可配置)的逻辑块(Extent)

5、按需将1-N个更细粒度逻辑块(Extent)组成卷(Volume)/文件(File)

以前基于硬盘来做RAID,现在基于Chuck来做RAID,好处是,

1.重建时间大大减少了,一个Chuck损坏,大小才64MB,几秒即可完成;一个硬盘损坏,重构的也仅是多个有实际数据的Chuck,参与的目标硬盘也较以往更多。

2.每个层次的切分越小,迁移和重构的数据量就会越少,重构时间可以进一步减少;但每个层次的切分越小,管理的开销就增大,可管理的磁盘数目就越少。

当硬盘1损坏,造成CKG0和CKG1的数据损坏,实际有数据的14和16两个Chunk损坏,将随机选择Pool中的空闲Chunk进行重构(黄色方块代表无数据),随机选择的Chunk将保证尽量分布在不同的硬盘上。

随机选择硬盘6的61号Chunk和硬盘8的81号Chunk,数据将从其他成员盘重构到这两个Chunk。

减少重构时间的意义在哪里?

存储系统追求性能和可靠性的平衡,单份校验机制下的存储系统(RAID 6为2份校验,Raid 1+0较特殊),在重构过程中数据没有可靠性保证,如果在重构过程中出现坏盘,数据丢失,不可恢复;所以对于存储系统而言,其可靠性最重要标志为RAID重构时间越小越好。RAID重构时间=数据量/硬盘读写速度,一块2TB,7.2K盘为例,重构写于速度为30M左右,重构时间9小时,业务高峰期时间更长。为了减少重构时间,读写速度不变的情况下,减少写入数据量是重要方法。

至于IBM XIV,他不做RAID,把所有硬盘全部切为1MB大小,利用伪随机算法在不同的节点间保留2个拷贝(有点像RAID 10),因此硬盘故障恢复时间和性能和RAID 2.0是一样的,只是容量利用率最多只有50%

RAID 2.0的更多相关文章

  1. RAID 2.0 技术(块虚拟化技术)

    RAID 2.0 技术(块虚拟化技术) RAID 2.0 技术(块虚拟化技术),该技术将物理的存储空间划分为若干小粒度数据块,这些小粒度的数据块均匀的分布在存储池中所有的硬盘上,然后这些小粒度的数据块 ...

  2. RAID磁盘阵列0、1、5、10

    raid0:(又称为Stripe或Striping--分条) (一句话:raid0 用多个磁盘串联起来成一个大磁盘,容量为几个的总和.优点:容量大,速度快.缺点:数据不安全) 即Data Stripp ...

  3. Raid(0/1/5/10)

    一.Raid需要的硬盘数量 1.raid 0:     最少1块硬盘(但是1块盘没有意义,至少2块才有实际意义) 2.raid 1:     最少2块硬盘 3.raid 5:     最少3块硬盘 4 ...

  4. 图解RAID 0, RAID 1, RAID 5, RAID 10

    RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失 ...

  5. RAID 0、1、5、1+0总结

    RAID(Redundant Array Of Independent Disk,独立磁盘冗余阵列),可以提供比普通磁盘更快的速度.更高的安全性,生产环境中服务器在安装时一般都会做RAID,RAID的 ...

  6. Liu Junqiao:Raid 0 1 5 6 特性

    Raid工作原理及优缺点 Raid工作原理及优缺点Raid 0Raid 1Raid 5Raid 6Raid 1 0Raid 5 0Raid 6 0 Raid 0 特点 采用剥离,数据将在几个磁盘上进行 ...

  7. 什么是RAID?RAID有什么用?RAID原理

    什么是RAID 硬盘是个很脆弱的东西,它经常会坏掉.所以,为了保证服务器可靠耐用,硬盘必须时时刻刻保持可用.所以有了RAID这个东西.它的目的是将好几个硬盘合并在一起,就算硬盘坏了一个,剩下还有好几个 ...

  8. Raid与DAN、SAN、NAS基础

    一. 磁盘基本知识 1. Raid分类 Raid磁盘阵列是由多个磁盘组合成的磁盘组,可将数据分割成许多区段,分别存放在各个磁盘上:同时利用不同排列技术,可提高磁盘性能和数据安全性.下列简单介绍几种Ra ...

  9. 关于raid的理解

    缘起 公司部署业务的时候,6块盘需要做raid,以前还没有用过所以不知道,临时才去百度看了一下相关知识. 部署 当前可以用软raid与硬raid,软raid系统上建立,占用CPU与IO资源;硬RAID ...

随机推荐

  1. Java编程规范整理

    分享一份网友整理的编程过程中的命名规范 包命名 包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反. 由一组以"."连接的标识符构成,通常第一个标识符为 ...

  2. MAVEN:::::: maven-dependency-plugin (goals "copy-dependencies", "unpack") is not supported

    zhuan:http://elan1986.iteye.com/blog/1537967 <!--add by wangquanjun 20140529-->            < ...

  3. python之--输入输出

    python之输出 用print加上字符串,就可以向屏幕上输出指定的文字.用代码实现如下: >>> print "i love baby!" i love bab ...

  4. javascript 字符串转数字

    //把str转换为数字的方式,想起很久以前的一个面试题,说字符转数字的方式有哪些,现在想了想 var str1='4.88',str2='4.8xx'; console.log(parseInt(st ...

  5. 算法练习之:Doubles

    Doubles Time Limit: 1000MS Memory Limit: 65536KB Problem Description As part of an arithmetic compet ...

  6. 【codeforce 219D】 Choosing Capital for Treeland (树形DP)

    Choosing Capital for Treeland Description The country Treeland consists of n cities, some pairs of t ...

  7. struts2结合生成验证码

    import java.util.Arrays; /** * 工具类,生成随机验证码字符串 * @version 1.0 2012/12/01 * @author shiyz * */ public ...

  8. Wide character in print at a2.pl line 返回json 需要encode_utf8

    centos6.5:/root/test#cat a2.pl use Net::SMTP; use LWP::UserAgent; use HTTP::Cookies; use HTTP::Heade ...

  9. 【HDOJ】3047 Zjnu Stadium

    带权并查集. /* 3047 */ #include <iostream> #include <string> #include <map> #include &l ...

  10. 【CF】142 Div.1 B. Planes

    SPFA.注意状态转移条件,ans的求解需要在bfs中间求解.因为只要到了地点n,则无需等待其他tourist.还是蛮简单的,注意细节. /* 229B */ #include <iostrea ...