首页 > 代码库 > 记录一次raid故障后的恢复和回迁数据全过程
记录一次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服务(默认是关闭的)“服务管理器--角色--添加角色--勾选文件服务—勾选网络文件系统服务进行安装,第一次安装完成之后需要重启一下计算机”
重启完成后我们对存放镜像数据的文件夹进行操作,右键—NFS共享标签页里面勾选共享此文件夹,然后有个重点是在权限里面勾选允许根目录访问,访问类型选择读写。
Win端的设置完成后,我们再看下linux端的设置,ifconfig查看当前网络配置
因为我们需要分配个ip给他,在这里我们分配网卡“enp4s0”,ip地址分配成10.3.12.3 子网掩码为255.0.0.0,使用如下命令:ifconfig enp4s0 10.3.12.3 255.0.0.0 然后再使用ifconfig查看ip地址
配置好ip之后,查看一下网络是否连同,命令:ping 10.1.1.1 ,
再查看10.1.1.1机器上的NFS共享的目录是否能够访问,命令:showmount –e 10.1.1.1,
源机器和目标机器现在已经连接通,在linux创建一个目录mkdir /mnt/bysjhf
创建好之后,我们将镜像出来的数据挂载到linux下新创建的文件夹下mount 10.1.1.1:/data /mnt/bysjhf –o nolock
挂载好之后,查看一下挂载点信息df –k
确定已经挂载好之后,进入这个文件夹,查看一下文件夹里的镜像文件:
root@sysresccd /mnt/bysjhf % ls
并查看硬盘及分区信息:fdisk –l
确认好源设备和目标设备之后,进行镜像操作:
dd if=/mnt/bysjhf/data.img of=/dev/sda bs=10M
在千兆网环境下NFS的速度能够跑到70M/S,这已经是一个很理想的速度,在等待dd完成后,我们重启ibm X3650服务器,并选择raid引导,期待的windows启动页面终于出现了,前面的辛苦没有白费,数据完整的迁移成功。
本文出自 “张宇(数据恢复)” 博客,请务必保留此出处http://zhangyu.blog.51cto.com/197148/1913059
记录一次raid故障后的恢复和回迁数据全过程