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配置文件 朋友们,今天我对你们说,在此时此刻,我们虽然遭受种种困难和挫折,我仍然有一个梦 ...
随机推荐
- mysql数据库导出excel xml等格式文件
http://jingyan.baidu.com/article/ac6a9a5e43a62e2b653eac83.html
- C - Little Jumper (三分)
题目链接:https://cn.vjudge.net/contest/281961#problem/C 题目大意:青蛙能从一个点跳到第三个点,如图,需要跳两次.问整个过程的最大起跳速度中的最小的. 具 ...
- AutoML相关论文
本文为Awesome-AutoML-Papers的译文. 1.AutoML简介 Machine Learning几年来取得的不少可观的成绩,越来越多的学科都依赖于它.然而,这些成果都很大程度上取决于人 ...
- weblogic中部署SSH项目遇到的坑
总结将SSH项目部署到weblogic遇到的坑.项目中是SSH,另外还用到了webservice.quartz等框架.在tomcat部署是可以的,现在总结部署到weblogic遇到的坑. 在这里说一下 ...
- K-means聚类算法原理和C++实现
给定训练集$\{x^{(1)},...,x^{(m)}\}$,想把这些样本分成不同的子集,即聚类,$x^{(i)}\in\mathbb{R^{n}}$,但是这是个无标签数据集,也就是说我们再聚类的时候 ...
- linux系统的休眠与唤醒简介
转自:http://blog.csdn.net/haomcu/article/details/7398703 系统挂起(Suspend)是电源管理(APM&ACPI)的一个特性,给用户带来了很 ...
- Python3学习笔记22-文件读写
读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操 ...
- c# 界面自适应大小
采用在窗体事件SizeChanged里面代码控制大小和位置,达到自动适应窗体大小,这样做调整起来方便. private void FrmMain_SizeChanged(object sender, ...
- JetBrains 授权服务器(License Server URLS)
分享几个已经部署好的在线验证服务器:http://idea.iteblog.com/key.php http://idea.imsxm.com/ http://103.207.69.64:1017 h ...
- ES6的相关信息
ECMAScript 是什么? ECMAScript 是 Javascript 语言的标准.ECMA European Computer Manufactures Association(欧洲计算机制 ...