Chinaunix首页 | 论坛 | 博客
  • 博客访问: 411368
  • 博文数量: 157
  • 博客积分: 5010
  • 博客等级: 大校
  • 技术积分: 1975
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-17 15:22
文章分类
文章存档

2013年(19)

2011年(1)

2009年(137)

我的朋友

分类: 服务器与存储

2009-02-22 19:18:31

版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
[问题]
    当RAID损坏,出现数据丢失的情况下,能否通过重建RAID结构来恢复raid数据?
    磁盘阵列环境出现的数据灾难中RAID信息丢失的情况占很大比例,很多工程师都有过这样的经历:按原来的RAID结构重建一下RAID,数据就恢复出来了。这种方式可行吗?
 
[回答](北亚数据恢复中心张宇,)
    RAID的重建大致有几种方式:只创建RAID信息(RAID元信息)、创建RAID时只重新生成校验(只做同步)、创建RAID时填充初始化。
    如果重建的结构与原先的结构不相同(涉及控制器固件、RAID级别、块大小、校验方式、盘序),重建好的RAID LOGICAL DRIVER一定和原先是不一样的,这样贸然加载文件系统,会破坏文件系统结构,导致数据丢失。
    以下假设重建的结构与原先的结构是相同的:
    如果控制器的重建方法是只创建RAID信息,那要看之前的RAID结构是正常的还是降级的,如果是降过级的(已有硬盘下过线),重建好后,因数据是由新数据与部分旧数据组合而成的,文件系统会破坏,且不可逆向恢复。如果之前的RAID结构是完好的,重建RAID不会影响数据,可以将原来的数据完全原样的恢复出来。
    如果控制器的重建方法是创建RAID重新生成校验(即使是后台的),和上面的情况相同,如果硬盘之前就有离线的,这样的重建会破坏数据的一致性。如果之前的RAID状态是ONLINE(GOOD)的,那么这样的重建不会影响数据。
    如果控制器的重建方法是填充数据重建(通常是清0),那无论如何都会破坏数据。
    这样看来,当RAID损坏后重建RAID可以恢复数据的前提是:控制器的设计是不破坏数据的,而且之前的RAID状态是良好的,同时重建的结构和原先的要完全一致。除此之外的重建都有数据风险。
    实际上,多数RAID损坏并不是从良好 一下子到瘫痪的,大多数会通过降级这一步,所以实际上强行重建文件系统无论如何都不是很好的做法,只是降级到瘫痪这段时间内如果数据写入不多,可能重建后修复文件系统只影星降级到瘫痪这段时间内做的改动。
    早期很多基于SCSI的磁盘阵列都会在重建时至少清0前面部分扇区(比如1M,10M等)。目前基于LSI的SAS控制器市场占有率很高,其控制器在重建时往往不会清除数据,但会在后台重新同步数据,也是有风险的。
阅读(1266) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~