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配置文件 朋友们,今天我对你们说,在此时此刻,我们虽然遭受种种困难和挫折,我仍然有一个梦 ...
随机推荐
- Linux系统编程【转】
转自:https://blog.csdn.net/majiakun1/article/details/8558308 一.Linux系统编程概论 1.1 系统编程基石 syscall: libc:标准 ...
- java多线程系列六、线程池
一. 线程池简介 1. 线程池的概念: 线程池就是首先创建一些线程,它们的集合称为线程池. 2. 使用线程池的好处 a) 降低资源的消耗.使用线程池不用频繁的创建线程和销毁线程 b) 提高响应速度,任 ...
- getOutputStream与getWriter方法
getOutputStream方法用于返回Servlet引擎创建的字节输出流对象,Servlet程序可以按字节形式输出响应正文.getWriter方法用于返回Servlet引擎创建的字符输出流对象,S ...
- 前端实现商品sku属性选择
一.效果图 二.后台返回的数据格式 [{ "saleName": "颜色", "dim": 1, "saleAttrList&qu ...
- 卓越的目标检测器Pelee
Densenet的改良—PeleeNET Pelee: A Real-Time Object Detection System on Mobile Devices 论文地址:https://arxiv ...
- LeetCode(34):搜索范围
Medium! 题目描述: 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果 ...
- django----过滤器和自定义标签
模板语法之过滤器 1.default:如果一个变量是false或者为空,使用给定的默认值.否则,使用变量的值.例如: <p>default过滤器:{{ li|default:"如 ...
- Fiddler抓包3-查看get与post请求
前言 前面两篇关于Fiddler抓包的一些基本配置,配置完之后就可以抓到我们想要的数据了,接下来就是如何去分析这些数据. 本篇以博客园的请求为例,简单分析get与post数据有何不一样,以后也能分辨出 ...
- PyCharm Professional破解版和汉化下载地址-new
2018.1版本下载地址 2018.2.1版本下载地址 今天找了很久很多都不能用了,注意破解过程提到的小细节,如果破解完了点击没反应请检查"pycharm.exe.vmoptions&quo ...
- java select 多字段处理查询结果辅助类
接口 ResultSetMetaData 可用于获取关于 ResultSet 对象中列的类型和属性信息的对象 使用示例: ResultSet rs = stmt.executeQuery(" ...