当前位置: 首页 > news >正文

[数据恢复答疑]IBM 的RAID5E和RAID5EE适合我吗?

[关键字] RAID数据恢复 数据恢复 磁盘阵列故障
 
[问题]
    IBM的很多服务器有两种特殊的RAID结构,RAID5E与RAID5EE,这两种RAID结构有什么优点,从专业的RAID数据恢复角度看,这两种结构是否值得推荐?
 
[回答](北亚数据恢复中心张宇, [url]http://www.datahf.net[/url])
 
先转贴一段关于RAID5E与RAID5EE的介绍:
RAID5E & RAID5EE
   RAID5E和RAID5EE是被经常提起的支持两个磁盘故障的技术,IBM的存储系统就是广泛采用这种RAID技术来实现双磁盘容错。它到底是如何实现,包含什么样的功能?

图-1 RAID5E
    RAID5E,是在RAID5中每个 Extent (它是在IBM主机中用于创建RAID的单位) 的后面加入了热备用空间 (Hot Space,如图-1中Extent尾部的HS0、HSr、HSp等) 。如Extent0故障,那么其他剩余Extents的热备份空间将会被用来重建和重新分配数据,并保证剩下的Extents为RAID5的一部分。从而使得即使一个Extent故障,也能马上有热备用磁盘来替换它,并重建RAID5,从而又带来容错力;从而达到所说的支持两个磁盘故障。
    但是,它所能容忍的并不是任何两个磁盘同一时刻故障,可以将它看作是RAID5和在线热备用磁盘(online hot spare drives)的变体。它将I/O操作时的数据分布到所有磁盘,包括热备用磁盘;从而减少了每个磁盘的带宽,带来更高的效率。然而,这也就意味着热备用磁盘不能够被多个阵列共享。
    在RAID5E中,没有专用的热备用磁盘,就像RAID5中没有专门的校验磁盘一样,热备用数据块是分布到所有的磁盘中;从而,对于10个磁盘的RAID5E,每个磁盘的80%被用于存储数据,10%用于存储校验,10%用于热备用。
图-2 RAID5EE
    此外,RAID5EE和RAID5E类似,只是热备用空间被分布在各个Extents中,就像RAID5的检验数据那样分散布置一样;如过某个Extent故障,那么剩余Extent中的热备用空间(如图-2中的HS0, HS1, HS2等),将会被立即用于重建数据,并保证它成为原来RAID5的一部分,从而达到所说的支持两个磁盘故障。
    同RAID5E相比,它不是把热备用空间放到每个Extent的尾部,而是分布在数据块其中,它也不允许任何两个磁盘同一时刻故障。不过,RAID5EE在进行热替换时,其寻址可能会更加方便和灵活。
 
以下是我对这两种结构的看法:
    RAID5E与RAID5EE实际上是优化了的RAID5+HOT SPARE,其目的是让多余出来的热备盘同样参与RAID组,实现在一条RAID总线上更快地并行IO。
    从RAID5E与RAID5EE的构建方式上看,除了可以提供稍快的读写IO外,其他优点并不明显,很多资料上说可以实现更快的重建速度,其实在RAID5E或RAID5EE降级时,控制器要用很复杂的算法(相对而言),实现在线更改RAID级别(由RAID5E或RAID5EE变更为变种的RAID5)。同时,因RAID级别的变更,RAID组里的所有的硬盘都要进行全面读写。而再加入新的盘时,同样又要通过复杂的算法将RAID5变更回原来的RAID结构。所以在我们接触的好多RAID5E或RAID5EE案例中,客户都是没做任何操作,但数据却被破坏了,当然这有可能是控制器固件的故障,但不可否认的是,这种复杂的操作,高负载的IO也是根源之一。
    所以,在IO性能并无特别要求的情况下(RAID5E与RAID5EE的性能提升也并不明显),建议尽可能少用RAID5E或RAID5EE。

相关文章:

  • 【LeeCode】Two Sum
  • Alexnet参数解释
  • es6的常用语法
  • asp.net 点击girdView中的超链接列复制地址--源码--调试成功
  • 定制用户不使用某个帐号
  • 解读sencha touch移动框架的核心架构(一)
  • DataView(2):RowState
  • Spark学习笔记之相关记录
  • Js实现Repeater全选/反选 功能 终极解决方案
  • MySQL主从复制读写分离及奇怪的问题
  • SQL server 2005中新增函数及操作(ZT)
  • 智能分单算法
  • NHibernate.Search 基于Lucene.NET的全文索引
  • mail退信!
  • 在Spring中发现java.lang.ClassCastException: $Proxy1问题解析
  • Angular6错误 Service: No provider for Renderer2
  • Java基本数据类型之Number
  • JS题目及答案整理
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Map集合、散列表、红黑树介绍
  • SegmentFault 2015 Top Rank
  • storm drpc实例
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 官方解决所有 npm 全局安装权限问题
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 浅谈web中前端模板引擎的使用
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 微服务框架lagom
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 小程序测试方案初探
  • 一个JAVA程序员成长之路分享
  • 一个SAP顾问在美国的这些年
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • gunicorn工作原理
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #单片机(TB6600驱动42步进电机)
  • (2)STM32单片机上位机
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (笔试题)合法字符串
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (三)mysql_MYSQL(三)
  • (四) 虚拟摄像头vivi体验
  • (五)MySQL的备份及恢复
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)jQuery 基础
  • (转)大道至简,职场上做人做事做管理
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET CF命令行调试器MDbg入门(一)
  • .Net Web项目创建比较不错的参考文章