生产误操作mv根分区恢复数据过程

2016-06-22  本文已影响0人  zminds

误操作恢复记录(如何挂在其他硬盘的lvm卷)

生产环境 centos7

## ****误操作过程
执行mv * /mysql_back命令,因为要讲mysql自动备份的数据库文件挪到对应文件夹下。但是********执行该命令时所在路径为****/ ****根目录********,导致将系统所有文件都挪到/mysqlbak 文件夹下,系统基本崩溃,除了bash的内建命令cd还能去ls 等/usr/bin系统命令都已经找不到。

## ****恢复思路

## ****配置光盘内的****linux****环境

  1. 通过光盘启动,选择安装Centos7

  2. 选择语言后,进入安装配置界面,不要配置硬盘,只配置网络(方便通过网络将数据拷出)

配置ip地址确保能够访问到接收数据的机器


## ****检查旧硬盘上的文件系统,默认都是****LVM

********按下****Ctrl+Alt+Win+ F2****切换到安装光盘的****Linux****的后台终端界面********
通过查看/dev /dev/mapper 及mount命令可以看到,光盘的linux系统并没有自动将硬盘的lvm识别,并加载,/dev/mapper 只有live-开头的光盘的lvm逻辑卷。

通过pvscan lvscan vgscan 命令可以看到实际上能够检索出lvm卷组,但是当前状态是****inactive****,需要激活 参考文章:Moving a volume group to another system

上图不清楚贴一个 虚拟机模拟环境截图


执行命令激活lvm卷组,并通过lvscan查看逻辑卷已经****active****,查看/dev/多了一个centos目录,并且旧硬盘的逻辑卷root也出现了

生产上的截图可以看出出现在了/dev/mapper 下


## ****挂载旧硬盘的****lvm****卷组
带上 -o ro 参数,已只读模式访问硬盘数据,避免损失数据

## ****检查旧数据完整性,迁移旧数据

可以看到mv命令把大部分数据都移到/mysqlbak 目录下,还有一部分因为权限或者关机的原因没有移动完,因此********有可能数据文件没有丢失,但会有损坏********


检查需要拷贝的数据文件,通过scp或者sftp等方式转移到新的环境,并导入新机器,启动测试数据是否完整。

## ****迁移旧的****mysql****数据库文件到新的机器上去
参考MySQL数据库迁移
/var/lib/mysql 下所有文件(除了ib_logfile* 和 *.err)到新的机器下的/var/lib/mysql/文件夹下

********注意修改权限******** 否则启动时会失败

chown -R mysql:mysql /var/lib/mysql/* 
上一篇下一篇

猜你喜欢

热点阅读