故障发生在两块盘组成的一个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启动页面终于出现了,前面的辛苦没有白费,数据完整的迁移成功。

记录一次raid数据恢复及回迁成功的案例的更多相关文章

  1. SAMSUNG某型号一千短信成功记录!对比其他软件恢复不成功的案列!

    Hello! 大家好欢迎再次来到Dr.wonde的博客, 下面谈一下今天的案列,今年11月26号收到了一客户寄来的三星S4手机恢复里面短信, 如下图所示,用其他软件恢复以后,数据为零,没有恢复,,这下 ...

  2. 记录ABAP开发的日常——SAP_PO开发同步接口案例

    前言:在项目中遇到任务PO接口,需求是SRM发送采购订单信息给SAP,SAP根据信息调用BAPI同步数据,在此作为案例记录. 本次接口采用的协议是SOAP,当然也有其他的协议比如REST等等,在此不做 ...

  3. Java事务处理全解析(四)—— 成功的案例(自己实现一个线程安全的TransactionManager)

    在本系列的上一篇文章中我们讲到,要实现在同一个事务中使用相同的Connection对象,我们可以通过传递Connection对象的方式达到共享的目的,但是这种做法是丑陋的.在本篇文章中,我们将引入另外 ...

  4. CentOS 5.5 Nginx+JDK+MySQL+Tomcat(jsp)成功安装案例

    在CentOS 5.5中安装Nginx+jdk+mysql+tomcat是非常容易的.只需yum安装环境包和nginx.解压安装jdk和tomcat.配置profile文件.server.xml和ng ...

  5. 某中国500强企业BI系统成功应用案例

    随着某集团20多年的不断发展发展,现已成为中国500强.中国大企业集团竞争力前25强.中国信息化标杆企业和国家重点火炬高新技术企业.拥有总资产数十亿元.员工数万名,涉足电力.家电.能源.等多个行业,并 ...

  6. next_permutation 和 一个不成功的案例

    一个失败的案例:(POJ 1009) 题目描述 小翔同学的宿舍WIFI添加了密码,密码每天都会变更.而小翔每天都会给蹭网的同学们提供密码提示.现在请你根据密码提示,编写程序破译密码. 已知密码提示给出 ...

  7. Delphi下IOCP开源框架:DIOCP 成功应用案例分享

    首先说明,该项目不是本人的项目,本文转自盒子. 该项目使用的DIOCP版本为1.0,目前diocp为3.5 以下是盒子的原文 ------------------------------------- ...

  8. iNeuOS工业互网平台,在纸业领域的成功应用案例

    目       录 1.      项目背景... 2 2.      项目基本情况... 3 3.      概念解释... 5 1.   项目背景 最终用户是全国第5大纸业集团之一,年浆纸产能40 ...

  9. Raid信息丢失数据恢复及oracle数据库恢复验证方案

    早些时候,有个客户14块盘的磁盘阵列出现故障,需要恢复的数据是oracle数据库,客户在寻求数据恢复技术支持,要求我提供详细的数据恢复方案,以下是提供给客户的详细数据恢复解决方案,本方案包含Raid数 ...

随机推荐

  1. 《JavaScript DOM 编程艺术》

    前几天京东买了一本书,在豆瓣上好评如潮,买下了啃一啃,书名<JavaScript DOM 编程艺术>,在好好深造一下javaScript.一边啃,一边敲.当然应该要做好笔记.一些简单的就看 ...

  2. win8下 msvcr100d.dll文件缺失解决方法

    一.如果在运行某软件或编译程序时提示缺少.找不到msvcp100d.dll等类似提示,您可将从载来的msvcp100d.dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或 ...

  3. android学习3——长宽的单位问题dp,px,dpi

    android设备的单位px,pt,dp,sp 分辨率 先通俗说下分辨率的概念.可以把屏幕想想成一个个正方形格子组成的.如果横向有1280个格子,竖向有720个格子.那么分辨率就是1280*720.这 ...

  4. Animate自定义动画

    在jQuery中出了基本的动画之外,还有用户 可以自定义的函数,Animate() 用于创建自定义动画的函数. apI上指出: 这个函数的关键在于指定动画形式及结果样式属性对象.这个对象中每个属性都表 ...

  5. jQuery中.bind() .live() .delegate() .on()的区别 和 三种方式写光棒事件 动画

    地狱的镰刀 bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数. $("a").bind("click",function(){ ...

  6. Hibernate一对多双向关联映射

    建立多对一的单向关联关系    Emp.java            private Integer empNo //员工编号            private String empName / ...

  7. 使用grunt实现web自动化

    1.grunt作用        实现压缩.编译.单元测试等重复性工作 2.需要安装的软件          第一步:从官网获取nodejs的软件包,直接双击进行安装(windows下) 第二步:打开 ...

  8. JS判断手机当前的系统类型

    <script language="javascript"> window.onload = function () { var n = navigator.userA ...

  9. Visual Studio 2017 ASP.NET Core开发

    Visual Studio 2017 ASP.NET Core开发,Visual Studio 2017 已经内置ASP.NET Core 开发工具. 在选择.NET Core 功能安装以后就可以进行 ...

  10. 用C++11实现C++17的apply(动态数组用作函数参数)

    标题有点错误,apply是用tuple做参数,调用一个函数.这个标题是为了能更好的适配搜索关键字. 动态数组用作函数参数更适合嵌入了脚本环境的C++程序,比如lua或javascript(js). 若 ...