CentOS Rescure救援模式恢复数据记录

一.一个核心业务服务器,系统盘出现故障,症状如下:

  1. 所有命令不能用
  2. 下图是事后在事故机器查到的日志

 

EXT4-fs error (device sda7): __ext4_get_inode_loc: unable to read inode block - inode=10360871, block=41419170

EXT4-fs error (device sda7) in ext4_reserve_inode_write: IO failure

 

EXT4-fs error (device sda5): __ext4_get_inode_loc: unable to read inode block - inode=916412, block=3670091

[sda] Unhandled sense code

 

EXT4-fs error (device sda3): __ext4_get_inode_loc: unable to read inode block - inode=654842, block=2621519

[sda] Unhandled sense code

 

EXT4-fs error (device sda5): __ext4_get_inode_loc: unable to read inode block - inode=916412, block=3670091

end_request: critical target error, dev sda, sector 194228744

end_request: critical target error, dev sda, sector 194228752

3)让机房值班把把硬盘灯拍照发来,第一块和第二块做了raid1用做系统,

结合上面的日志得出结论,系统盘有坏道。

 

  • 处理方法:

 

  1. 进单用户模式修复系统各分区

 

按e

空格输入1 并回车,然后按b

结果出现如下图

 

才知道事情坏了,连单用户都进不去了。还好核心数据在另一个盘里,于是让机房值班人员把最第三和第四块(数据盘,做的raid1)换到另一台机器上(准备用这台机器做核心服务机器),做完后,重启系统,还好核心数据还可以用,接下来和研发人员一同部署新环境

但是程序和程序的配置还在事故机器的/opt下 取掉报警盘让重启机器,结果还是起不来,看来只能用救援模式来把核心程序及配置找回来,于是让机房准备系统盘,并把参考文档发给机房

 

  • 稍等一会儿会出现要不要设置网络,一般来说网络没问题就不用设置了,我这里选择YES

遇到eth1 配置成172.16.213.168 255.255.255.0

 

 

  • 原系统挂载路径/mnt/sysimage,如果想获得原系统root环境,执行行命令:chroot /mnt/sysimage 即可。

 

五.这里可以执行fakd诊断,当然我们这里直接进入shell 命令行

 

开始把数据传到备份机上

Fdisk -l

接下来修复各个分区

Fsck -y /dev/sda2

Fsck -y /dev/sda3

Fsck -y /dev/sda4

Fsck -y /dev/sd5

Fsck -y /dev/sda7

幸好,各分区修复时没有报错,数据也都回到了,接下来建目录,把各分区挂到新建目录下

然后用scp 拷贝数据到备份服务器上,这就是要配置网络的原因

至此核心程序也都拷贝到备用机上,同时研发也把环境搭建起来,把配置拷贝过去就可以开服,事故机器经过修复分区后,也能开起,只是数据读写很慢

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值