中国IDC产业年度大典指定存储网站 中国IT实验室旗下网站
存储世界
 热门搜索:SAN 虚拟化 RAID 容灾 ILM 分层存储 iSCSI SAS
搜索:
 您现在的位置: 中国IT实验室 >> 存储 >> 存储技术 >> 硬盘|阵列 >> 正文
磁盘阵列系统(RAID)技术详解
来源:ChinaItLab 时间:2006-5-18 11:13:29 保存本文 作者:佚名 收藏本站

 

  RAID3和RAID5技术详解

  热插拔

  一些面向高端应用的磁盘镜像系统都可以提供磁盘的热插拔功能。所谓热插拔功能,就是允许用户在不关闭系统,不切断电源的情况下取出和更换损害的硬盘。如果没有热插拔功能,即使磁盘损坏不会造成数据的丢失,用户仍然需要暂时关闭系统,以便能够对硬盘进行更换。现在,使用热插拔技术只要简单的打开连接开关或者转动手柄就可以直接取出硬盘,而系统仍然可以不间断的正常运行。

  校验

  RAID 3和RAID 5都分别使用了校验的概念提供容错能力。简单的说,我们可以把校验想象为一种二进制的校验和,一个可以告诉你其它所有字位是否正确的特殊位。   在数据通信领域,奇偶校验被用来确定数据是否被正确传送。例如,对于每一个字节,我们可以简单计算数字位1的个数,并在字节内加入附加校验位。在数据的接收方,如果数字位1的个数为奇数,而我们使用的又是奇数校验的话,则说明该字节是正确的。同样对偶数校验也是如此。然而,如果数字位1的个数和校验位的奇偶性不一致的话,则说明数据在传送过程中出现了错误。

  RAID系统也采用了相似的校验方法,可以在磁盘系统中创建校验块,校验块中的每一位都用来对其它关联块中的所有对应位进行校验。

  在数据通讯领域,虽然校验位可以告诉我们某个字节是否正确,但是无法告诉我们到底是哪一位出现了问题。这就是说我们可以检测错误,但是不能改正错误。对于RAID,这是远远不够的。固然错误的检测非常重要,但是如果不能对错误进行修复,我们就无法提高整个系统的可靠性。

  举个例子来说,假设我们发现校验块中第10个字节的第5位不正确。如果这个校验块包含的是另外8个数据块的校验信息,那么哪一个数据块才是问题的罪魁祸首呢?也许你可能会想为每一个数据块都建立一个校验块就可以解决问题。但是这种方法很难实现。事实上,RAID主要是借助磁盘控制器的错误报告检测错误位置,并进行修复。如果磁盘控制器在读取数据时没有发出任何“抱怨”,那么系统将会视该数据为正确数据,继续使用。

  RAID 3

  RAID 3采用的是一种较为简单的校验实现方式,使用一个专门的磁盘存放所有的校验数据,而在剩余的磁盘中创建带区集分散数据的读写操作。例如,在一个由4块硬盘构成的RAID 3系统中,3块硬盘将被用来保存数据,第四块硬盘则专门用于校验。这种配置方式可以用3+1的形式表示,具体如图:

  

  在上图中,我们用相同的颜色表示使用同一个校验块的所有数据块,斜线标出的部分为校验块。校验块和所有对应的数据块一起构成一个带区。

  第四块硬盘中的每一个校验块所包含的都是其它3块硬盘中对应数据块的校验信息。RAID 3的成功之处就在于不仅可以像RAID 1那样提供容错功能,而且整体开销从RAID 1的50%下降为25%(RAID 3+1)。随着所使用磁盘数量的增多,成本开销会越来越小。举例来说,如果我们使用7块硬盘,那么总开销就会将到12.5%(1/7)。

  在不同情况下,RAID 3读写操作的复杂程度不同。最简单的情况就是从一个完好的RAID 3系统中读取数据。这时,只需要在数据存储盘中找到相应的数据块进行读取操作即可,不会增加任何额外的系统开销。

  当向RAID 3写入数据时,情况会变得复杂一些。即使我们只是向一个磁盘写入一个数据块,也必须计算与该数据块同处一个带区的所有数据块的校验值,并将新值重新写入到校验块中。例如,当我们向上图中的绿色数据块写入数据时,必须重新计算所有3个绿色数据块的校验值,然后重写位于第四块硬盘的绿色校验块。由此我们可以看出,一个写入操作事实上包含了数据读取(读取带区中的关联数据块),校验值计算,数据块写入和校验块写入四个过程。系统开销大大增加。

  我们可以通过适当设置带区的大小使RAID系统得到简化。如果某个写入操作的长度恰好等于一个完整带区的大小(全带区写入),那么我们就不必再读取带区中的关联数据块计算校验值。我们只需要计算整个带区的校验值,然后直接把数据和校验信息写入数据盘和校验盘即可。

  到目前为止,我们所探讨的都是正常运行状况下的数据读写。下面,我们再来看一下当硬盘出现故障时,RAID系统在降级模式下的运行情况。

  RAID 3虽然具有容错能力,但是系统会受到影响。当一块磁盘失效时,该磁盘上的所有数据块必须使用校验信息重新建立。如果我们是从好盘中读取数据块,不会有任何变化。但是如果我们所要读取的数据块正好位于已经损坏的磁盘,则必须同时读取同一带区中的所有其它数据块,并根据校验值重建丢失的数据。

  当我们更换了损坏的磁盘之后,系统必须一个数据块一个数据块的重建坏盘中的数据。整个过程包括读取带区,计算丢失的数据块和向新盘写入新的数据块,都是在后台自动进行。重建活动最好是在RAID系统空闲的时候进行,否则整个系统的性能会受到严重的影响。

  RAID 3的性能问题

  除了我们在上文讨论过的有关数据写入和降级模式的问题之外,在使用RAID 3的过程中还有其他一些性能上的问题需要引起我们的注意。RAID 3所存在的最大一个不足同时也是导致RAID 3很少被人们采用的原因就是校验盘很容易成为整个系统的瓶颈。   我们已经知道RAID 3会把数据的写入操作分散到多个磁盘上进行,然而不管是向哪一个数据盘写入数据,都需要同时重写校验盘中的相关信息。因此,对于那些经常需要执行大量写入操作的应用来说,校验盘的负载将会很大,无法满足程序的运行速度,从而导致整个RAID系统性能的下降。鉴于这种原因,RAID 3更加适合应用于那些写入操作较少,读取操作较多的应用环境,例如数据库和WEB服务器等。

  RAID 5

  RAID 3所存在的校验盘的性能问题使几乎所有的RAID系统都转向了RAID 5。在运行机制上,RAID 5和RAID 3完全相同,也是由同一带区内的几个数据块共享一个校验块。

  RAID 5和RAID 3的最大区别在于RAID 5不是把所有的校验块集中保存在一个专门的校验盘中,而是分散到所有的数据盘中。RAID 5使用了一种特殊的算法,可以计算出任何一个带区校验块的存放位置。具体如图所示:

 

  注意图中的校验块已经被分散保存在不同的磁盘中,这样就可以确保任何对校验块进行的读写操作都会在所有的RAID磁盘中进行均衡,从而消除了产生瓶颈的可能。

上一页  [1] [2] [3] 

【责编:Chuan】
相关文章
RAID如何提高数据可用性
存储讲堂:详解四大RAID存储
深度解析RAID类型 全面透视RAID 10优势
让JBOD与软件RAID互补有无
软件与硬件RAID的差异分析
从SAN上拷贝文件到RAID要进行哪些优化
省钱第一 中小学数据存储也能DIY
最新文章
·Scidata国内首推 高效存储消冗系统
·昆腾为Scalar磁带库新增自动化机械系
·希捷发布多款企业级新品 主打固态硬盘
·数据中心SAN 区域布线方案浅谈
·家用NAS网络存储器之十大常用功能
·NETGEAR家用NAS存储产品使用和安装篇
·深度分析:日本地震对硬盘产业究竟影
 文章评论
 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
行业信息关注  

Isilon发布Smart 

HDS存储研发体系与
·深度分析:日本地震对硬盘产业究
·昆腾发布针对NAS市场磁盘备份DXi
·西数首款SAS盘面世 进军传统企业
·思科推动SAN网络市场 营收增长了
·2010年中国云计算规模达3.2亿美元
·Brian Bell:Compellent 100% 融
特别推荐  
08版网络测试工具新鲜出炉
《IT实验室周报》征稿启事
中文Traceroute,路由信息一目了然
北大青鸟IT教育求学培训全攻略
固态硬盘--未来存储之星
中文授权Alexa网站排名查询
存储技术  
  ...
·数据中心SAN 区域布线方案浅谈
·家用NAS网络存储器之十大常用功能
·NETGEAR家用NAS存储产品使用和安装篇
·挽救硬盘数据拯救措施 必杀绝招冷冻法
·云存储vs云备份 整合备份应用与服务
·预算有限 中小企业灾难恢复服务如何选?
·确保安全 备份环境中数据如何加密?
·数据恢复 Hyper-V和VMware虚拟机备份
产品专区  
·Scidata国内首推 高效存储消冗系统
·昆腾为Scalar磁带库新增自动化机械系统
·希捷发布多款企业级新品 主打固态硬盘
·挑战服务器虚拟环境下的存储性能
·苹果派的存储首选 Thecus N2200XXX测试
·三星光存储内置刻录机TS-H663C极致体验
·三星外置刻录机SE-S084F火爆促销
·Intel新款X25-M 120GB性能测评
·硬盘选购技巧
·评论:戴尔会是3PAR的好归宿么?