开发者社区> 余二五> 正文

记录一次raid故障后的恢复和回迁数据全过程

简介:
+关注继续查看

  故障发生在两块盘组成的一个raid0上,其中的一块盘亮黄灯,被raid卡踢出后,raid崩溃,下面就把当时抢救数据的整个过程进行介绍。

   由于硬盘是两块SAS 300G的硬盘,先把硬盘从机器中拔出来,然后通过SAS HBA的方式直连到win的环境下,并在磁盘管理中将硬盘标记为脱机状态,以保证操作过程中是只读的,保护原始数据的安全。

   在将两个硬盘底层所有扇区都镜像出来后,通过文件系统分析盘序和条带大小,使用软件虚拟重组的方式将原始raid环境搭起来后,再进一步解析ntfs文件系统后终于看到了数据,这时候新的问题出现了,如果直接把数据拷贝出来,那么原始的系统和应用都需要重新部署,而且因为没有了软件服务商的支持,实施起来有一定的难度,于是想着把搭起来的raid再完整的迁移到新的raid环境中,就可以做到和损坏前一样。这样一来就可以节省大量时间。

   由于有了前车之鉴,所以在新的raid环境上吸取了上次的教训,决定使用三块盘组建raid5,即使有一块硬盘出现故障离线,raid也可以处于降级状态,不会立刻崩溃,给了使用者替换新硬盘的机会。

   在安装了支持raid5的新raid卡和插了新硬盘后创建了一个raid5的卷,现在开始研究怎么把做出来的数据迁移过去

   因为服务器前面板由raid卡来管理,所以直接插个新盘上去是不会在系统下直接识别的,需要在raid卡下创建raid后才可以使用,而且限于单盘容量的问题,不能采用这个方案,于是研究别的办法。因为服务器前面板有个DVD光驱,而且现在的服务器光驱和主板都是采用sata通道连接,所以可以把机盖打开使用上面的sata口,连接一块sata硬盘,在pe或者linux live cd模式下就可以回迁数据了,而且这是速度最快的方法。但是在我们准备实施的时候发现这个机器使用的sata不是标准大小接口类型,而是mini sata,因为手里没有现成的转接卡,所以这个办法也不行,其实在数据量不大的时候也可以使用USB方式去做,但是因为现在绝大部分服务器的usb还停留在USB2.0 速度太慢,对于大数据量,时间上不可接受。

   最后的最后我们绝对使用一种新奇的办法回迁数据----走网络。

   这时候需要先启动个linux live cd 一般我们都使用linux system rescue cd,在linux启动完成后ifconfig配置下服务器的ip,然后我们将做出来的数据放在一个win 2008 r2的机器上,在win环境下开启nfs服务(默认是关闭的)“服务管理器--角色--添加角色--勾选文件服务—勾选网络文件系统服务进行安装,第一次安装完成之后需要重启一下计算机”

wKiom1jkizjw8mvNAAFOBZaFbiI382.jpg-wh_50 

   重启完成后我们对存放镜像数据的文件夹进行操作,右键—NFS共享标签页里面勾选共享此文件夹,然后有个重点是在权限里面勾选允许根目录访问,访问类型选择读写。

wKioL1jki0vyu7wVAAIA4YH8Hdo147.jpg-wh_50 

   Win端的设置完成后,我们再看下linux端的设置,ifconfig查看当前网络配置

wKiom1jki17gNMLPAAIOOG4jJvE901.jpg-wh_50 

    因为我们需要分配个ip给他,在这里我们分配网卡“enp4s0”,ip地址分配成10.3.12.3 子网掩码为255.0.0.0,使用如下命令:ifconfig enp4s0 10.3.12.3 255.0.0.0 然后再使用ifconfig查看ip地址

 wKiom1jki3DCRFTIAAENBrZDQqo710.jpg-wh_50

   配置好ip之后,查看一下网络是否连同,命令:ping 10.1.1.1 ,

  再查看10.1.1.1机器上的NFS共享的目录是否能够访问,命令:showmount –e 10.1.1.1,

wKioL1jki32g3BqBAADeGSPjgaA150.jpg-wh_50 

   源机器和目标机器现在已经连接通,在linux创建一个目录mkdir /mnt/bysjhf

     创建好之后,我们将镜像出来的数据挂载到linux下新创建的文件夹下mount 10.1.1.1:/data /mnt/bysjhf –o nolock

     挂载好之后,查看一下挂载点信息df –k

 wKiom1jki5LzBvnHAAO6ZRNnPmc696.jpg-wh_50

   确定已经挂载好之后,进入这个文件夹,查看一下文件夹里的镜像文件:

     root@sysresccd /mnt/bysjhf % ls

     并查看硬盘及分区信息:fdisk –l

 

wKioL1jki8-C0NmRAABoXiWFMhE693.jpg-wh_50

wKiom1jki9WSYE2JAAJ0RFLX35o425.jpg-wh_50

 

   确认好源设备和目标设备之后,进行镜像操作:

  dd if=/mnt/bysjhf/data.img of=/dev/sda bs=10M

wKioL1jki_eRWQTOAAB7o2pIk6w140.jpg-wh_50 

    在千兆网环境下NFS的速度能够跑到70M/S,这已经是一个很理想的速度,在等待dd完成后,我们重启ibm X3650服务器,并选择raid引导,期待的windows启动页面终于出现了,前面的辛苦没有白费,数据完整的迁移成功。





本文转自 张宇 51CTO博客,原文链接:http://blog.51cto.com/zhangyu/1913059,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
线上故障快速定位及恢复(下)
线上故障快速定位及恢复(下)
78 0
线上故障快速定位及恢复(上)
线上故障快速定位及恢复(上)
92 0
smartctl定位磁盘故障信息
​ Smartctl(S.M.A.R.T 自监控,分析和报告技术)是用于查看和检测磁盘硬件信息的工具,可以打印SMART自检和错误日志,启用并禁用SMRAT自动检测,以及初始化设备自检。服务器环境中,一般磁盘都是通过RAID卡挂载,如果配置了直通模式,则可以直接使用smartctl查询磁盘信息,如果非直通模式则需要调用raid卡对应接口才可以查询
19403 0
磁盘阵列故障数据恢复常规思路--谈数据恢复心得
在服务器磁盘阵列出现故障以后,一般情况下会采用两种方法来处理:一是设备厂家对故障设备进行处理及恢复,比如更换坏件、重配Raid等;二是找专业的数据恢复公司来处理,先把重要数据恢复出来,然后才进行硬件设备维修。
1064 0
Raid信息丢失数据恢复及oracle数据库恢复验证方案
早些时候,有个客户14块盘的磁盘阵列出现故障,需要恢复的数据是oracle数据库,客户在寻求数据恢复技术支持,要求我提供详细的数据恢复方案,以下是提供给客户的详细数据恢复解决方案,本方案包含Raid数据恢复和oracle数据库的恢复验证。
908 0
存储数据恢复方法_infortrend ESDS RAID6故障导致数据丢失恢复方案书
[用户单位]XXX影音制作公司 [数据恢复故障描述] 一台infortrend ESDS-S12F-G1440存储,内接12块2TB硬盘组成RAID6,整个RAID6的所有空间划分给一个LUN,映射到WINDOWS系统上。
1286 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
微信SQLite数据库损坏恢复实践
立即下载
数据库异地备份及不还原快速查询备份集最佳实践
立即下载
基于日志trace的智能故障定位系统
立即下载
相关实验场景
更多