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


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

生产环境 7

误操作过程

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

恢复思路

  • 硬盘上的机系统重启已经无法启动
  • 硬盘上的数据只是被mv到/mysqlbak 文件夹下,应该还没有被删除
  • 需要通过介质(光盘或者u盘)中的系统启动(非救援模式,救援也无法重新整理整个操作系统的文件结构了,还有可能导致数据丢失)
  • 将硬盘挂在到光盘启动的微型系统上,通过网络拷贝出去

配置光盘内的环境

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

    udast

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

    udast

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

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

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

udast

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

udast

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

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

udast

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

挂载旧硬盘的lvm卷组

带上 -o ro 参数,已只读模式访问硬盘数据,避免损失数据
udast

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

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

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

迁移旧的数据库文件到新的机器上去

参考
/var/lib/mysql 下所有文件(除了ib_logfile* 和 *.err)到新的机器下的/var/lib/mysql/文件夹下

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

chown -R mysql:mysql /var/lib/mysql/* 

更多内容请长按二维码关注(更有不定期发红包活动吆^0^):
致儒先生

转载自:https://www.linuxidc.com/Linux/2016-06/132492.htm

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《生产误操作mv根分区恢复数据过程
本文地址:https://www.zhiletu.com/archives-7270.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微