美文网首页
生产误操作mv根分区恢复数据过程

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

作者: zminds | 来源:发表于2016-06-22 10:24 被阅读0次

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

    生产环境 centos7

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

    ## ****恢复思路

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

    ## ****配置光盘内的****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/* 
    

    相关文章

      网友评论

          本文标题:生产误操作mv根分区恢复数据过程

          本文链接:https://www.haomeiwen.com/subject/pnagdttx.html