百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

服务器数据恢复—存储硬盘故障导致业务崩溃的数据恢复案例

sinye56 2024-10-07 14:48 6 浏览 0 评论

服务器存储数据恢复环境&故障:

一台存储上有一组由16块FC硬盘组建了一组raid。存储前面板上的对应10号和13号硬盘的故障灯亮起,存储映射到redhat linux操作系统服务器上的卷挂载不上,业务中断。

服务器存储数据恢复过程:

1、通过存储的管理后台查看当前存储状态,管理后台报告逻辑卷状态失败。再查看物理磁盘状态,发现6号盘状态“警告”,10号和13号盘状态“失败”。在管理后台将当前存储的完整日志状态备份。解析日志获取到关于逻辑卷结构的部分信息。



2、将16块FC盘做好标记后从存储中移除,使用专用工具对16块FC盘进行初步检测, 发现16块盘均能正常识别。检测所有磁盘的SMART状态,发现6号盘的SMART状态为“警告”,和在存储管理后台中的报告一致。

3、将所有磁盘以只读方式进行扇区级别的全盘镜像。在镜像过程中发现6号磁盘的镜像速度很慢,结合之前的检测结果综合判断,6号盘应该存在大量损坏和不稳定的扇区。

4、使用专业设备对6号硬盘进行镜像,在镜像的同时观察镜像的速度和稳定性。经过观察发现6号盘的坏道并不多,但是存在大量读取响应时间长的不稳定扇区。调整6号盘的镜像策略后继续对6号盘进行镜像操作,同时观察镜像情况。6号盘镜像完成,但是之前的镜像策略会自动跳过一些不稳定扇区,所以现在的镜像是不完整的。调整镜像策略,继续镜像被跳过的扇区,直到6号盘所有扇区全部镜像完毕。

5、全部磁盘做完镜像后查看日志,发现在管理后台和SMART状态中均无报错的1号盘也存在坏道,10号和13号盘也存在大量不规则坏道。定位到目标镜像文件并经过分析,发现ext3文件系统的部分关键源数据信息已经被坏道破坏。只能利用6号盘通过同一条带进行xor,并根据文件系统上下文关系手动修复被损坏的文件系统。

6、将所有镜像文件全部展开。根据北亚企安数据恢复工程师对ext3文件系统的逆向研究和对日志文件的分析,获取到16块FC盘在存储中的盘序、RAID块大小、RAID的校验走向和方式等信息。根据上述获取到的信息虚拟重组RAID,RAID重组完成后进一步解析ext3文件系统。和用户后沟通提取出一些oracle的dmp文件并尝试进行恢复。

7、在使用dmp文件进行恢复的过程中,数据库报告imp-0008错误。仔细分析导入dmp文件的日志文件,发现恢复的dmp文件有问题。重新分析raid结构,并进一步确定ext3文件系统被破坏的程度,重新恢复出dmp文件和dbf原始库文件。将恢复出来的dmp文件移交给用户进行数据导入测试,测试过程一切顺利没有发现问题。对恢复出来的dbf原始库文件进行校验检测,所有文件均通过测试。

8、拷贝数据库文件到原数据库服务器作为备份,路径为/home/oracle/tmp/syntong。在根目录下创建了oradata文件夹,并把备份的syntong文件夹拷贝到oradata目录下。更改oradata文件夹及其所有文件的属组和权限。备份原数据库环境,包括ORACLE_HOME下product文件夹下的相关文件。

9、配置监听,使用原机中的splplus连接到数据库。尝试启动数据库到nomount状态,状态查询发现环境和参数文件正常。 尝试启动数据库到mount状态,状态查询也没有问题。启动数据库到open状态,出现报错。


10、经过检测和分析,北亚企安数据恢复工程师判断此故障原因是控制文件和数据文件信息不一致,这是一类由于异常断电或突然关机引起的常见故障。

11、逐个检测数据库文件,没有发现物理损毁。

12、在mount状态下,备份控制文件。查看修改备份的控制文件,取得其中的重建控制文件命令。把命令复制到一个新建脚本文件controlfile.sql中。

13、关闭数据库,删除/oradata/syntong/下的3个控制文件。 启动数据库到nomount状态,执行controlfile.sql脚本。



14、重建控制文件完成后,直接启动数据库,仍然报错,需要进一步处理。



执行恢复命令:



做介质恢复,直到返回报告。

15、尝试open数据库。

SQL>alter database open resetlogs;

16、数据库启动成功。把原来temp表空间的数据文件加入到对应的temp表空间中。

17、对数据库进行各种常规检查,没有任何错误。

18、进行emp备份。全库备份完成,没有报错。

19、将应用程序连接到数据库,在应用层面验证数据。

20、经过验证,用户方确认数据完整有效,认可数据恢复结果。

相关推荐

Linux基础知识之修改root用户密码

现象:Linux修改密码出现:Authenticationtokenmanipulationerror。故障解决办法:进入单用户,执行pwconv,再执行passwdroot。...

Linux如何修改远程访问端口

对于Linux服务器而言,其默认的远程访问端口为22。但是,出于安全方面的考虑,一般都会修改该端口。下面我来简答介绍一下如何修改Linux服务器默认的远程访问端口。对于默认端口而言,其相关的配置位于/...

如何批量更改文件的权限

如果你发觉一个目录结构下的大量文件权限(读、写、可执行)很乱时,可以执行以下两个命令批量修正:批量修改文件夹的权限chmod755-Rdir_name批量修改文件的权限finddir_nam...

CentOS「linux」学习笔记10:修改文件和目录权限

?linux基础操作:主要介绍了修改文件和目录的权限及chown和chgrp高级用法6.chmod修改权限1:字母方式[修改文件或目录的权限]u代表所属者,g代表所属组,o代表其他组的用户,a代表所有...

Linux下更改串口的权限

问题描述我在Ubuntu中使用ArduinoIDE,并且遇到串口问题。它过去一直有效,但由于可能不必要的原因,我觉得有必要将一些文件的所有权从root所有权更改为我的用户所有权。...

Linux chown命令:修改文件和目录的所有者和所属组

chown命令,可以认为是"changeowner"的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。当只需要修改所有者时,可使用...

chmod修改文件夹及子目录权限的方法

chmod修改文件夹及子目录权限的方法打开终端进入你需要修改的目录然后执行下面这条命令chmod777*-R全部子目录及文件权限改为777查看linux文件的权限:ls-l文件名称查看li...

Android 修改隐藏设置项权限

在Android系统中,修改某些隐藏设置项或权限通常涉及到系统级别的操作,尤其是针对非标准的、未在常规用户界面显示的高级选项。这些隐藏设置往往与隐私保护、安全相关的特殊功能有关,或者涉及开发者选项、权...

完蛋了!我不小心把Linux所有的文件权限修改了!在线等修复!

最近一个客户在群里说他一不小心把某台业务服务器的根目录权限给改了,本来想修改当前目录,结果执行成了根目录。...

linux改变安全性设置-改变所属关系

CentOS7.3学习笔记总结(五十八)-改变安全性设置-改变所属关系在以前的文章里,我介绍过linux文件权限,感兴趣的朋友可以关注我,阅读一下这篇文章。这里我们不在做过的介绍,注重介绍改变文件或者...

Python基础到实战一飞冲天(一)--linux基础(七)修改权限chmod

#07_Python基础到实战一飞冲天(一)--linux基础(七)--修改权限chmod-root-groupadd-groupdel-chgrp-username-passwd...

linux更改用户权限为root权限方法大全

背景在使用linux系统时,经常会遇到需要修改用户权限为root权限。通过修改用户所属群组groupid为root,此操作只能使普通用户实现享有部分root权限,普通用户仍不能像root用户一样享有超...

怎么用ip命令在linux中添加路由表项?

在Linux中添加路由表项,可以使用ip命令的route子命令。添加路由表项的基本语法如下:sudoiprouteadd<network>via<gateway>这...

Linux配置网络

1、网卡名配置相关文件回到顶部网卡名命名规则文件:/etc/udev/rules.d/70-persistent-net.rules#PCIdevice0x8086:0x100f(e1000)...

Linux系列---网络配置文件

1.网卡配置文件在/etc/sysconfig/network-scripts/下:[root@oldboynetwork-scripts]#ls/etc/sysconfig/network-s...

取消回复欢迎 发表评论: