015.Linux系统删根数据恢复
一 场景介绍
|
节点
|
IP
|
数据所在目录
|
备注
|
|
node1
|
172.24.8.51
|
/mysqldb
|
模拟故障机
|
|
node2
|
172.24.8.52
|
——
|
应用数据恢复-集群节点2
|
/dev/sdb1 /mysqldb ext4 defaults 0 0
二 模拟场景
2.1 建立模拟环境
[root@master ~]# mkdir /mysqldb
[root@master ~]# mount /dev/sdb1 /mysqldb
[root@master ~]# mkdir /mysqldb/test
[root@master ~]# mkdir /mysqldb/prod
[root@master ~]# echo 'This is file01!' >>/mysqldb/file01
[root@master ~]# echo 'This is file02!' >>/mysqldb/file02
[root@master ~]# echo 'This is file03' >>/mysqldb/test/file03
[root@master ~]# echo 'This is file04' >>/mysqldb/prod/file04
[root@master ~]# md5sum /mysqldb/file01
[root@master ~]# md5sum /mysqldb/file02
[root@master ~]# md5sum /mysqldb/test/file03
[root@master ~]# md5sum /mysqldb/prod/file04

2.2 执行删除操作
[root@node1 ~]# rm -rf /* #模拟删根
三 应用数据恢复
3.1 卸载应用数据所在盘符
3.2 node2安装相应恢复软件
3.2 查询可恢复数据
[root@backup /]# extundelete /dev/sdb1 --inode 2

3.3 执行恢复
[root@backup ~]# extundelete /dev/sdb1 --restore-all #恢复所有文件
[root@node2 ~]# ll RECOVERED_FILES/

[root@node2 ~]# md5sum RECOVERED_FILES/file01
[root@node2 ~]# md5sum RECOVERED_FILES/file02
[root@node2 ~]# md5sum RECOVERED_FILES/test/file03
[root@node2 ~]# md5sum RECOVERED_FILES/prod/file04

3.4 还原数据
[root@node2 ~]# md5sum RECOVERED_FILES/file01
[root@node2 ~]# md5sum RECOVERED_FILES/file02
[root@node2 ~]# md5sum RECOVERED_FILES/test/file03
[root@node2 ~]# md5sum RECOVERED_FILES/prod/file04
四 系统修复
4.1 进入救援模式

4.2 将相应目录进行备份
[root@node2 tmp]# tar -zcvf /tmp/etc.tar.gz /etc/
[root@node2 tmp]# tar -zcvf /tmp/bin.tar.gz /bin/
[root@node2 tmp]# tar -zcvf /tmp/lib64.tar.gz /lib64/
[root@node2 tmp]# tar -zcvf /tmp/lib.tar.gz /lib/
4.3 node1进入支持网络的救援模式









4.4 查看并激活磁盘分区


# lvchange -a y /dev/VolGroup/LogVol01 #激活lvm分区
# mkdir /delroot #创建用于挂载node1根分区的目录
# mount /dev/VolGroup/LogVol01 /delroot

4.5 恢复相应数据
# scp root@172.24.8.52:/tmp/*.gz /delroot/tmp

# tar -zxvf bin.tar.gz -C /delroot/
# tar -zxvf etc.tar.gz -C /delroot/
# tar -zxvf lib64.tar.gz -C /delroot/
# tar -zxvf lib.tar.gz -C /delroot/

4.6 改变根目录位置
# exit



4.7 修复引导程序
# grub-install /dev/sda

4.8 修复内核
# mkdir /media
# mount /dev/cdrom /media/
# cd /media/Packages/
# rpm -ivh kernel-2.6.32-642.el6.x86_64.rpm --force


4.9 重启并验证


root (hd0,0)
kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=/dev/VolGroup/LogVol01 selinux=0
initrd /initramfs-2.6.32-642.el6.x86_64.img


4.10 修复网络
# rm -rf /etc/udev/rules.d/70-persistent-* #删除网卡rule
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 #修复node1IP
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.24.8.51 #将IP配置为node1正确地址
NETMASK=255.255.255.0
GATEWAY=172.24.8.2
DNS1=223.5.5.5
# vi /etc/sysconfig/network
HOSTNAME=node1 #将主机名修改为node正确主机名
4.11 修复引导grub配置文件
[root@node2 ~]# scp -p /boot/grub/grub.conf root@172.24.8.51:/boot/grub/
五 应用数据恢复至node1
5.1 加载磁盘
5.2 挂载分区
[root@node1 ~]# fdisk -l /dev/sdb #确认加载是否正常
[root@node1 ~]# mount /dev/sdb1 /mysqldb/ #挂载目录
[root@node1 ~]# ll /mysqldb/ #查看数据

5.3 确认验证
[root@node1 ~]# md5sum /mysqldb/file01
[root@node1 ~]# md5sum /mysqldb/file02
[root@node1 ~]# md5sum /mysqldb/test/file03
[root@node1 ~]# md5sum /mysqldb/prod/file04

015.Linux系统删根数据恢复的更多相关文章
- Linux 系统其他重要文件
其他重要目录 /usr /usr/local 通过源码安装,没有特别指定,就在这个文件下用户自编译软件存放地方 /usr/src 源代码程序 + 内核源代码程序存放目录 /var /var/log/m ...
- Linux 系统的目录结构_【all】
Linux系统的目录结构 /:最大根目录,存放系统程序 /etc: 加载配置文件好服务启动命令,系统配置文件 /etc/exports /etc/hosts /bin:binaries 存放命令 /s ...
- 《手把手教你构建自己的 Linux 系统》学习笔记(10)
目录 /etc/fstab 文件的作用是什么? Linux 内核的图形化启动是怎么回事? Linux 系统中的文件名是否以大小写来进行区别? 「GRUB 中无法找到硬盘」怎么解决? 「GRUB 及配置 ...
- Linux系统使用lvm扩展根分区
Linux系统使用lvm扩展根分区 背景:买的云主机虚拟机封装镜像是40G的系统盘,后期适用不规范或者其他需求需要扩展系统盘,而非挂载在一个盘至新建目录. 1.原本目录磁盘等信息: 2.使用vgdis ...
- Linux 系统常用管理命令(精简笔记)
Linux是一套免费使用和自由传播的类Unix操作系统,下面的笔记是我从鸟菜中摘抄出来的重要命令,并进行了一定的排版,摒弃了一些用不到的乱七八糟的命令,目的是在生产环境中能够快速的定位并查询需要命令的 ...
- 探索 Linux 系统的启动过程
引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...
- Linux /dev目录详解和Linux系统各个目录的作用
Linux /dev目录详解(转http://blog.csdn.net/maopig/article/details/7195048) 在linux下,/dev目录是很重要的,各种设备都在下面.下面 ...
- 【夯实Mysql基础】MySQL在Linux系统下配置文件及日志详解
本文地址 分享提纲: 1. 概述 2. 详解配置文件 3. 详解日志 1.概述 MySQL配置文件在Windows下叫my.ini,在MySQL的安装根目录下:在Linux下叫my.cnf,该文件位于 ...
- Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件
Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件 朋友们,今天我对你们说,在此时此刻,我们虽然遭受种种困难和挫折,我仍然有一个梦 ...
随机推荐
- 7、完整版的strcpy函数
char * strcpy( char *strDest, const char *strSrc ) { assert( (strDest != NULL) && (strSrc != ...
- android 解决子线程进行UI操作
Android确实不允许在子线程中进行UI操作的,但我们有时必须在子线程里去执行一些耗时的任务,然后根据任务的执行结果来更新相应的UI控件. Android提供了一套异步消息处理机制,可以解决子线程中 ...
- Linux的capability深入分析(2)【转】
转自:https://blog.csdn.net/wangpengqi/article/details/9821231 rpm -ql libcap-2.16-5.2.el6.i686 /lib/l ...
- 获取静态 selected的当前的value的值
<!DOCTYPE html><html><head><script>function checkField(val){alert("输入值已 ...
- C# 使用Win32 API将1个EXE程序嵌入另1个程序中
已经干到天快亮了,就不废话直接贴点儿代码吧 ; ; /// <summary> /// 查找窗口 ///第一个参数是窗口的标题,第二个参数可直接用 null ///通过窗口的标题查找对应的 ...
- 001_linux下的log
如果愿意在Linux环境方面花费些时间,首先就应该知道日志文件的所在位置以及它们包含的内容.在系统运行正常的情况下学习了解这些不同的日志文件有助于你在遇到紧急情况时从容找出问题并加以解决. 以下介绍的 ...
- (常用)time,datetime,random,shutil(zipfile,tarfile),sys模块
a.time模块import time 时间分为三种形式1.时间戳 (时间秒数的表达形式, 从1970年开始)print(time.time())start_time=time.time()time. ...
- nagios系列(一)centos6.5环境部署nagios服务端
nagios软件安装包存放目录:/home/oldboy/tools nagios服务安装目录:/usr/local/nagios 1.配置yum源 echo "------ step 1: ...
- eclipse:刪除空行
ctrl+F:選擇正則,輸入:^\s*\n ,點擊 replace all.
- 几种常用的Interpolator(插值器)的动画效果
在实现动画的非线性变化的方法中,常用的一种是为动画添加插值器以改变视图的属性值,从而实现理想的动画效果.Interpolator使用相对简单,下面就只给出一些提供的插值器的默认效果. 在代码中:直接调 ...