记录一次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启动页面终于出现了,前面的辛苦没有白费,数据完整的迁移成功。
记录一次raid数据恢复及回迁成功的案例的更多相关文章
- SAMSUNG某型号一千短信成功记录!对比其他软件恢复不成功的案列!
		Hello! 大家好欢迎再次来到Dr.wonde的博客, 下面谈一下今天的案列,今年11月26号收到了一客户寄来的三星S4手机恢复里面短信, 如下图所示,用其他软件恢复以后,数据为零,没有恢复,,这下 ... 
- 记录ABAP开发的日常——SAP_PO开发同步接口案例
		前言:在项目中遇到任务PO接口,需求是SRM发送采购订单信息给SAP,SAP根据信息调用BAPI同步数据,在此作为案例记录. 本次接口采用的协议是SOAP,当然也有其他的协议比如REST等等,在此不做 ... 
- Java事务处理全解析(四)—— 成功的案例(自己实现一个线程安全的TransactionManager)
		在本系列的上一篇文章中我们讲到,要实现在同一个事务中使用相同的Connection对象,我们可以通过传递Connection对象的方式达到共享的目的,但是这种做法是丑陋的.在本篇文章中,我们将引入另外 ... 
- CentOS 5.5 Nginx+JDK+MySQL+Tomcat(jsp)成功安装案例
		在CentOS 5.5中安装Nginx+jdk+mysql+tomcat是非常容易的.只需yum安装环境包和nginx.解压安装jdk和tomcat.配置profile文件.server.xml和ng ... 
- 某中国500强企业BI系统成功应用案例
		随着某集团20多年的不断发展发展,现已成为中国500强.中国大企业集团竞争力前25强.中国信息化标杆企业和国家重点火炬高新技术企业.拥有总资产数十亿元.员工数万名,涉足电力.家电.能源.等多个行业,并 ... 
- next_permutation 和 一个不成功的案例
		一个失败的案例:(POJ 1009) 题目描述 小翔同学的宿舍WIFI添加了密码,密码每天都会变更.而小翔每天都会给蹭网的同学们提供密码提示.现在请你根据密码提示,编写程序破译密码. 已知密码提示给出 ... 
- Delphi下IOCP开源框架:DIOCP 成功应用案例分享
		首先说明,该项目不是本人的项目,本文转自盒子. 该项目使用的DIOCP版本为1.0,目前diocp为3.5 以下是盒子的原文 ------------------------------------- ... 
- iNeuOS工业互网平台,在纸业领域的成功应用案例
		目 录 1. 项目背景... 2 2. 项目基本情况... 3 3. 概念解释... 5 1. 项目背景 最终用户是全国第5大纸业集团之一,年浆纸产能40 ... 
- Raid信息丢失数据恢复及oracle数据库恢复验证方案
		早些时候,有个客户14块盘的磁盘阵列出现故障,需要恢复的数据是oracle数据库,客户在寻求数据恢复技术支持,要求我提供详细的数据恢复方案,以下是提供给客户的详细数据恢复解决方案,本方案包含Raid数 ... 
随机推荐
- 怎样的 Hash 算法能对抗硬件破解
			前言 用过暴力破解工具 hashcat 的都知道,这款软件的强大之处在于它能充分利用 GPU 计算,比起 CPU 要快很多.所以在破解诸如 WiFi 握手包.数据库中的口令 Hash 值时,能大幅提高 ... 
- java初级开发程序员(第四单元)
			1.switch选择结构: 语法: switch(表达式){ case 常量1: //常量可以是整数或字符类型. ... 
- Kafka 0.10.1.1 特点
			1.Consumer优化:心跳线程可作为后台线程,提交offset,剥离出poll函数 问题:0.10新设计的consumer是单线程的,提交offset是在poll中.本次的poll调用,提交上次p ... 
- BZOJ 1009 :[HNOI2008]GT考试(KPM算法+dp+矩阵快速幂)
			这道到是不用看题解,不过太经典了,早就被剧透一脸了 这道题很像ac自动机上的dp(其实就是) 然后注意到n很大,节点很小,于是就可以用矩阵快速幂优化了 时间复杂度为o(m^3 *log n); 蒟蒻k ... 
- Javascript匿名函数
			单独的匿名函数无法运行,就算能运行,也无法调用.解决办法如下: 法1. //把匿名函数赋值给变量 var box=function(){ return "Lee"; }; aler ... 
- [编织消息框架][设计协议]优化long,int转换
			理论部分 一个long占8byte,大多数应用业数值不超过int每次传输多4byte会很浪费 有没有什么办法可以压缩long或int呢? 答案是有的,原理好简单,如果数值不超过int.max_valu ... 
- Angular开发者指南(一)入门介绍
			什么是Angular AngularJS是动态Web应用程序的结构框架. 它允许您使用HTML作为模板语言,并允许您扩展HTML的语法以清晰,简洁地表达应用程序的组件.AngularJS的数据绑定和依 ... 
- Alamofire源码解读系列(四)之参数编码(ParameterEncoding)
			本篇讲解参数编码的内容 前言 我们在开发中发的每一个请求都是通过URLRequest来进行封装的,可以通过一个URL生成URLRequest.那么如果我有一个参数字典,这个参数字典又是如何从客户端传递 ... 
- Java日常总结之LinkedList、ArrayList的效率分析
			前言: 在我们平常开发中难免会用到List集合来存储数据,一般都会选择ArrayList和LinkedList,以前只是大致知道ArrayList查询效率高LinkedList插入删除效率高,今天来实 ... 
- jpush  延迟推送的栗子
			这个 推送是上个月做的, 上线之后没有问题,所以,我就把 这个整套代码 整理一哈,方便以后使用. 首先需求是这样的: 在比赛结束后的 10 钟 开始给 参加比赛的球员 发送消息,告诉他们比赛的信息 ... 
