服务器断电瘫痪数据丢失后恢复数据的过程

一、服务器数据恢复故障描述

机房突然断电导致整个存储瘫痪,加电后存储依然无法使用。经过用户方工程师诊断后认为是断电导致存储阵列损坏。
整个存储是由12块日立硬盘(3T SAS硬盘)组成的RAID-6磁盘阵列,被分成一个卷,分配给几台Vmware的ESXI主机做共享存储。整个卷中存放了大量的Windows虚拟机,虚拟机基本都是模板创建的,因此系统盘都统一为160G。数据盘大小不确定,并且数据盘都是精简模式。

二、备份服务器数据

将故障存储的所有磁盘和备份sss数据的目标磁盘连入到一台Windows Server 2008的服务器上。故障磁盘都设为脱机(只读)状态,在专业工具WinHex下看到连接状态如下图所示:(图中HD1-HD12为目标备份磁盘,HD13-HD24为源故障磁盘,型号为HUS723030ALS640):
图一:

使用WinHex 对HD13-HD24以底层方式读取扇区,发现了大量损坏扇区。初步判断可能是这种硬盘的读取机制与常见的硬盘不一样。尝试更换操作主机,更换HBA卡,更换扩展柜,更换为Linux操作系统,均呈现相同故障。与用户方工程师联系,对方回应此控制器对磁盘没有特殊要求。
使用专业工具对硬盘损坏扇区的分布规律进行检测,发现如下规则:
1、损坏扇区分布以256个扇区为单位。
2、除损坏扇区片断的起始位置不固定外,后面的损坏扇区都是以2816个扇区为间隔。
所有磁盘的损坏扇区分布如下表(只列出前3个损坏扇区):


临时写了个小程序,对每个磁盘的损坏扇区做绕过处理。用此程序镜像完所有盘的数据。

三、服务器数据分析

1、分析损坏扇区
仔细分析损坏扇区发现,损坏扇区呈规律性出现。
-每段损坏扇区区域大小总为256。
-损坏扇区分布为固定区域,每跳过11个256扇区遇到一个坏的256扇区。
-损坏扇区的位置一直存在于RAID的P校验或Q校验区域。
-所有硬盘中只有10号盘中有一个自然坏道。

2、分析分区大小
对HD13、HD23、HD24的0-2扇区做分析,可知分区大小为52735352798扇区,此大小按RAID-6的模式计算,除以9,等于5859483644扇区,与物理硬盘大小1049524,和DS800控制器中保留的RAID信息区域大小吻合;同时根据物理硬盘底层表现,分区表大小为512字节,后面无8字节校验,大量的0扇区也无8字节校验。故可知,原存储并未启用存储中常用的DA技术(520字节扇区)。
分区大小如下图(GPT分区表项底层表现,涂色部分表示分区大小,单位512字节扇区,64bit):
图二:

四、重组RAID

1、分析RAID结构
存储使用的是标准的RAID-6阵列,接下来只需要分析出RAID 成员数量以及RAID的走向就可以重组RAID。
-分析RAID条带大小
整个存储被分成一个大的卷,分配给几台ESXI做共享存储,因此卷的文件系统肯定是VMFS文件系统。而VMFS卷中又有存放了大量的Windows 虚拟机。Windows虚拟机中大多使用的是NTFS文件系统,因此可以根据NTFS中的MFT的顺序分析出RAID条带的大小以及RAID的走向。
-分析RAID是否存在掉线盘
镜像完所有磁盘。后发现最后一块硬盘中并没有像其他硬盘一样有大量的坏道。其中有大量未损坏扇区,这些未损坏扇区大多是全0扇区。因此可以判断这块硬盘是热备盘。

2、重组RAID
根据分析出来的RAID结构重组RAID,能看到目录结构。但是不确定是否为最新状态,检测几个虚拟机发现有部分虚拟机正常,但也有很多虚拟机数据异常。初步判断RAID中存在掉线的磁盘,依次将RAID中的每一块磁盘踢掉,然后查看刚才数据异常的地方,未果。又仔细分析底层数据发现问题不是出在RAID层面,而是出在VMFS文件系统上。VMFS文件系统如果大于16TB的话会存在一些其他的记录信息,因此在组建RAID的时候需要跳过这些记录信息。再次重组RAID,查看以前数据异常的地方可以对上了。针对其中的一台虚拟机做验证,将所有磁盘加入RIAD中后,这台虚拟机是可以启动的,但缺盘的情况下启动有问题。因此判断整个RAID处在不缺盘的状态为最佳。

五、验证服务器数据

1、验证虚拟机
针对用户较为重要的虚拟机做验证,发现虚拟机大多都可以开机,可以进入登陆界面。有部分虚拟机开机蓝屏或开机检测磁盘,但是光盘修复之后都可以启动。
部分虚拟机现象开机如下:
图三:

2、验证数据库
针对重要的虚拟机中的数据库做验证,发现数据库都正常。其中有一个数据库,据用户描述是缺少部分数据,但是经过仔细核对后发现这些数据在数据库中本来就不存在。通过查询 master 数据库中的系统视图,查出原来的所有数据库信息如下:
图四:

3、检测整个VMFS卷是否完整
由于虚拟机的数量很多,每台都验证的话,所需的时间会很长,因此我们对整个VMFS卷做检测。在检测VMFS卷的过程中发现有部分虚拟机或虚拟机的文件被破坏。列表如下:
图五:

六、服务器数据恢复成功

1、生成数据
北亚工程师跟客户沟通并且描述了目前恢复的情况。用户经过对几台重要的虚拟机验证后,用户反应恢复的数据可以接受,接着北亚工程师立即着手准备恢复所有数据。
先准备目标磁盘,使用一台dell 的MD 1200加上11块3T的硬盘组成一个RAID阵列。接着将重组的RAID数据镜像到目标阵列上。然后利用专业的工具UFS解析整个VMFS文件系统。
2、尝试挂载恢复的VMFS卷
将恢复好的VMFS卷连接到我们的虚拟化环境中的一台ESXI5.5主机上,尝试将其挂载到的ESXI5.5的环境中。但是由于版本(客户的ESXI主机是5.0版本)原因或VMFS本身有损坏,导致其挂载不成功。继续尝试使用ESXI的命令挂载也不成功,于是放弃挂载VMFS卷。

七、移交数据

由于时间紧迫,先安排北亚工程师将MD 1200 阵列上的数据带到用户现场。然后使用专业工具”UFS”依次导出VMFS卷中的虚拟机。
1、将MD 1200阵列上的数据通过HBA卡连接到用户的VCenter服务器上。
2、在VCenter服务器安装“UFS”工具,然后使用“UFS”工具解释VMFS卷。
3、使用“UFS”工具将VMFS卷中的虚拟机导入到VCenter服务器上。
4、使用VCenter的上传功能将虚拟机上传到ESXI的存储中。
5、接着将上传完的虚拟机添加到清单,开机验证即可。
6、如果有虚拟机开机有问题,则尝试使用命令行模式修复。或者重建虚拟机并将恢复的虚拟机磁盘(既VMDK文件)拷贝过去。
7、由于部分虚拟机的数据盘很大,而数据很少。像这种情况就可以直接导出数据,然后新建一个虚拟磁盘,最后将导出的数据拷贝至新建的虚拟磁盘中即可。
统计了一下整个存储中虚拟机的数量,大约有200台虚拟机。目前的情况只能通过上述方式将恢复的虚拟机一台一台的恢复到用户的ESXI中。由于是通过网络传输,因此整个迁移的过程中网络是一个瓶颈。经过不断的调试以及更换主机最终还是无法达到一个理想的状态,由于时间紧张,最终还是决定在当前的环境迁移数据。

八、服务器数据恢复总结

1、故障总结
所有磁盘坏道的规律如下表:

经过仔细分析后得出坏道的结论如下:
-除去SN:YHJ6LEUD上的一个自然坏道外,其余坏道均分布于RAID-6的Q校验块中。
-坏道区域多数表现为完整的256个扇区,正好当时创建RAID-6时的一个完整RAID块大小。
-活动区域表现为坏道,非活动区域坏道有可能不出现,如热备盘,上线不足10%,坏道数量就比其他在线盘少(热备盘的镜像4小时完成,其他有坏道盘大概花费40小时)
-其他非Q校验区域完好,无任何故障。
结论:
通常情况,经如上坏道规则表现可推断,坏道为控制器生成Q校验,向硬盘下达IO指令时,可能表现为非标指令,硬盘内部处理异常,导致出现规律性坏道。
2、数据恢复总结
数据恢复过程中由于坏道数量太多,以致备份数据时花费了很长世间。整个存储是由坏道引起的,导致最终恢复的数据有部分破坏,但不影响整体数据,最终的结果也在可接受范围内。
整个恢复过程,用户方要求紧急,我方也安排工程师加班加点,最终在最短的时间内将数据恢复出来。后续的数据迁移过程中由我方工程师和用户方工程师配合完成。

原文地址:http://blog.51cto.com/sun510/2133673

时间: 2024-10-03 02:01:04

服务器断电瘫痪数据丢失后恢复数据的过程的相关文章

mysql数据丢失后恢复至最新节点

增量备份点-------------错误删除点------------------------------>恢复数据 数据还在持续写入 模拟 1.full back  (3 rows) 3pm   前一天的备份 2,insert 3 rows      5pm   第二天新增数据 3,delete from table   7pm   误操作 4,insert 3 rows      8pm   不断新增数据 5,recovery databases  9pm   恢复数据 /mysqldump

MSSQL ndf文件大小变为0 KB恢复数据的过程

一.故障描述 成都某客户,存储损坏,数据库崩溃.重组存储,恢复数据库文件,发现有四个ndf文件大小变为0 KB.数据库大小约80TB.数据库中有1223个文件,数据库每10天生成一个NDF文件,每个NDF大约500GB,数据库包含两个LDF文件. 二.故障分析 存储损坏,NDF文件大小变为0 KB,根据NDF文件在磁盘上可能存在.可以通过编写数据库扫描碎片程序,扫描数据库碎片.拼接碎片恢复NDF文件,然后修复数据库. 三.恢复过程 1 磁盘扫描,扫描数据库碎片 2 拼接碎片 根据NDF文件的页面

RAID5双盘失效,数据丢失后怎么恢复

RAID5由于本身是很少出现故障的,再加上自身强大的容错能力,导致很多企业在数据备份上不够完善,这就造成RAID数据出现故障就是灾难.因为相关恢复技术涉及到的知识面太广,普通管理员甚至服务器厂商的工程师都无法解决.这里就专门针对raid5双盘失效,数据丢失后恢复的问题提供一个可行方案. RAID5双盘失效后,个人可采取一下措施.第一步是对单个磁盘做全盘备份,并且使每个硬盘的全盘备份都成为一个单独的文件夹:第二步是搜索DBR扇区:第三步是根据DBR参数判断文件记录和校验块.这里我们需要注意,我们找

安全运维之:服务器遭受攻击后的一般处理过程

安全总是相对的,再安全的服务器也有可能遭受到攻击.作为一个安全运维人员,要把握的原则是:尽量做好系统安全防护,修复所有已知的危险行为,同时,在系统遭受攻击后能够迅速有效地处理攻击行为,最大限度地降低攻击对系统产生的影响. 一.处理服务器遭受攻击的一般思路 系统遭受攻击并不可怕,可怕的是面对攻击束手无策,下面就详细介绍下在服务器遭受攻击后的一般处理思路. 1.切断网络 所有的攻击都来自于网络,因此,在得知系统正遭受黑客的攻击后,首先要做的就是断开服务器的网络连接,这样除了能切断攻击源之外,也能保护

Linux服务器遭受攻击后的一般处理过程

安全总是相对的,再安全的服务器也有可能遭受到攻击.作为一个安全运维人员,要把握的原则是:尽量做好系统安全防护,修复所有已知的危险行为,同时,在系统遭受攻击后能够迅速有效地处理攻击行为,最大限度地降低攻击对系统产生的影响. 一.处理服务器遭受攻击的一般思路 系统遭受攻击并不可怕,可怕的是面对攻击束手无策,下面就详细介绍下在服务器遭受攻击后的一般处理思路. 1.切断网络 所有的攻击都来自于网络,因此,在得知系统正遭受黑客的攻击后,首先要做的就是断开服务器的网络连接,这样除了能切断攻击源之外,也能保护

Ubantu 使用extundelete恢复数据

所以在维护系统的时候,要慎之又慎,但是有时难免会出现数据被误删除的情况,在这个时候改如何快速.有效地恢复数据呢?本文我们就来介绍一下Linux系统下常用的几个数据恢复工具. 一.如何使用“rm -rf”命令在Linux系统下,通过命令“rm -rf”可以将任何数据直接从硬盘删除,并且没有任何提示,同时Linux下也没有与Windows下回收站类似的功能,也就意味着,数据在删除后通过常规的手段是无法恢复的,因此使用这个命令要非常慎重.在使用rm命令的时候,比较稳妥的方法是把命令参数放到后面,这样有

务器遭受攻击后的一般处理过程

一.处理服务器遭受攻击的一般思路 系统遭受攻击并不可怕,可怕的是面对攻击束手无策,下面就详细介绍下在服务器遭受攻击后的一般处理思路. 1.切断网络 所有的攻击都来自于网络,因此,在得知系统正遭受黑客的攻击后,首先要做的就是断开服务器的网络连接,这样除了能切断攻击源之外,也能保护服务器所在网络的其他主机. 2.查找攻击源 可以通过分析系统日志或登录日志文件,查看可疑信息,同时也要查看系统都打开了哪些端口,运行哪些进程,并通过这些进程分析哪些是可疑的程序.这个过程要根据经验和综合判断能力进行追查和分

服务器断电导致虚拟机数据丢失怎么恢复?

在服务器运行过程中如果出现意外情况突然断电很容易引起服务器故障,服务器中的硬件设备损坏可以修复或者购买,但是服务器中的数据一旦发生故障丢失,对于企业来说将是不可估量的损失.那么服务器数据一旦丢失就除了痛哭之外别无他法了吗?不是的,下面我将引用一个真实案例为大家讲解意外断电导致服务器数据丢失的数据恢复方法和过程.文中若有歧义之处欢迎探讨..虚拟机数据丢失情况描述因服务器突然断电原因导致Xen Server服务器中一台VPS(即Xen Server虚拟机)不可用,虚拟磁盘文件丢失.硬件环境是Dell

【昊群计算机】服务器数据丢失后如何恢复

数据丢失后准确的定位故障和正确的恢复方案非常重要,下面昊群计算机小编总结硬盘常见故障类型和损坏后现象: 技术支持及维保服务,是指在售后服务或维保合同的基础上,对用户的电脑.服务器.存储.网络设备.机房设备.软件等进行的维护保障服务. 故障类型: 1.分区不小心格式化 2.受外力挤压磕碰 3.硬盘电路板烧伤 4.进水或者大火烧伤 5..件分区删除 6.病毒或者恶意软件破坏 7.通电硬盘有咔咔异响 故障现象: 1.硬盘通电有异响 2.硬盘通电不转动没有反应 3.硬盘分区能够识别打开速度很慢,数据无法