恢复服务器安装信息被破坏了,服务器存储瘫痪数据恢复成功案例-服务器数据恢复…

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

大家好,又见面了,我是你们的朋友全栈君。

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

机房突然断电导致整个存储瘫痪,加电后存储依然无法使用。经过用户方工程师诊断后认为是断电导致存储阵列损坏。

整个存储是由12块日立硬盘(3T SAS硬盘)组成的RAID-6磁盘阵列,被分成一个卷,分配给几台Vmware的ESXI主机做共享存储。整个卷中存放了大量的Windows虚拟机,虚拟机基本都是模板创建的,因此系统盘都统一为160G。数据盘大小不确定,并且数据盘都是精简模式。

f1125abc6fe6a91fa26f831b2c11b7c6.png

59aaf9773167715ed2006c1d26444441.png

二、服务器数据恢复备份数据

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

图一:

5832afb5f527b5dc97d1d7d6f8e4be85.png

使用WinHex 对HD13-HD24以底层方式读取扇区,发现了大量损坏扇区。初步判断可能是这种硬盘的读取机制与常见的硬盘不一样。尝试更换操作主机,更换HBA卡,更换扩展柜,更换为Linux操作系统,均呈现相同故障。与用户方工程师联系,对方回应此控制器对磁盘没有特殊要求。

使用专业工具对硬盘损坏扇区的分布规律进行检测,发现如下规则:

1、损坏扇区分布以256个扇区为单位。2、除损坏扇区片断的起始位置不固定外,后面的损坏扇区都是以2816个扇区为间隔。

所有磁盘的损坏扇区分布如下表(只列出前3个损坏扇区):

51fe21b0ecfae3130a2cdd7b69640ead.png

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

三、服务器数据恢复故障分析

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):

图二:

2dbed04a0ea6f50ac1589d003a2f48ad.png

四、重组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、验证虚拟机;针对用户较为重要的虚拟机做验证,发现虚拟机大多都可以开机,可以进入登陆界面。有部分虚拟机开机蓝屏或开机检测磁盘,但是光盘修复之后都可以启动。部分虚拟机现象开机如下:

图三:

fff0ea802bf0746d659e82c02bdb8579.png

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

图四:

0bf329628d757247f4abcf33296c058e.png

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

图五:

19b9a480135ea9e8d6bc9b256ddb4362.png

六、恢复数据

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、故障总结;所有磁盘坏道的规律如下表:

364e8b095a386207aa8a18541d1364f5.png

经过仔细分析后得出坏道的结论如下:

-除去SN:YHJ6LEUD上的一个自然坏道外,其余坏道均分布于RAID-6的Q校验块中。

-坏道区域多数表现为完整的256个扇区,正好当时创建RAID-6时的一个完整RAID块大小。

-活动区域表现为坏道,非活动区域坏道有可能不出现,如热备盘,上线不足10%,坏道数量就比其他在线盘少(热备盘的镜像4小时完成,其他有坏道盘大概花费40小时)

-其他非Q校验区域完好,无任何故障。

结论:

通常情况,经如上坏道规则表现可推断,坏道为控制器生成Q校验,向硬盘下达IO指令时,可能表现为非标指令,硬盘内部处理异常,导致出现规律性坏道。

2、数据恢复总结;数据恢复过程中由于坏道数量太多,以致备份数据时花费了很长世间。整个存储是由坏道引起的,导致最终恢复的数据有部分破坏,但不影响整体数据,最终的结果也在可接受范围内。

整个恢复过程,用户方要求紧急,我方也安排工程师加班加点,最终在最短的时间内将数据恢复出来。后续的数据迁移过程中由我方工程师和用户方工程师配合完成。

【编辑推荐】

【责任编辑:武晓燕 TEL:(010)68476606】

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151263.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • elementuitable样式更改_elementui下拉框

    elementuitable样式更改_elementui下拉框表格样式修改(表头高、表头边框、表格内边框、表格行高)//控制表头高度.el-table/deep/.el-table__headerth{padding:0;height:40px;line-height:40px;//表头边框设置border:solid#cccccc;border-width:1px0px0px1px;}//添加表格行边框.el-table/deep/td{border:solid#cccccc;border-width:1px0

  • RNN:timestep、inputsize、Batchsize的区别「建议收藏」

    近期读了一些关于LSTM的文章,但仍旧很难理解,关键就是不懂输入、输出是什么,相比于图像处理的CNN,RNN特别抽象。昨晚花了很大的精力去理解“遗留状态”这个概念,现在终于明白了一些,关键在timestep这个概念。关于timestep我们看到的所有的RNN结构图,其实都是在一个timestep中的,而不是整个序列。(这句话很简单,但真的是花了很长时间才领悟到的)以下引用自知乎回答:[我的…

  • Maven 配置环境变量后无法立刻生效「建议收藏」

    Maven 配置环境变量后无法立刻生效「建议收藏」    最近在系统学习Maven,在解压完Maven,并配置环境变量后,在黑窗口用mvn-n查询不到。   仔细研究后发现,我在配置环境变量之前就打开了黑窗口,导致无法查到最新的,所以只要重新打开黑窗口就能查到了。…

  • 记录一次C#使用JWT单点登录

    记录一次C#使用JWT单点登录好久没更新了,最近确实比较忙,现在弄完后,第一时间来记录一下最近学到的一些东西JWT单点登录一、简单介绍 JWT全称是JSONWebToken,是一种是目前最流行的跨域身份验证解决方案。为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,该token也可直接被用于认证,也可被加.

  • linux发送邮件命令_java实现邮件发送功能

    linux发送邮件命令_java实现邮件发送功能第一步,安装mail服务检测系统是否安装了mail服务[root@centos8~]#rpm-qf/usr/bin/mailerror:file/usr/bin/mail:Nosuchfileordirectory刚开始我的系统就没有mail服务,使用“yum-yinstallmailx”安装时有一只报错,提示“Error:Failedtodownloadmetadataforrepo‘appstream’:Cannotprepareinterna

    2022年10月20日
  • MGN网络详解以及代码分析「建议收藏」

    MGN网络详解以及代码分析「建议收藏」MGN网络详解以及代码分析最近阅读了云从科技最新的关于REID的论文以及相关的博客和代码,算法是基于MGN,关于网络的部分,这里记录一些自己的学习笔记。以下是我参考的博客和代码的网址博客:https://blog.csdn.net/Gavinmiaoc/article/details/80840193代码:https://github.com/Gavin666Github/reid-m…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号