记一次从vmdk镜像里面恢复数据的历程

问题描述

  • 环境: ESXi 7.0+centos7虚拟机

在一次操作生产服务器时,发生了系统文件丢失,导致重启之后无法进入系统,但是重要哦的文件还在系统中,第一时间应该先对当前系统【创建快照】,创建快照之后就可以【查看vmdk文件】

解决方案一:导出vmdk文件进行打开(废弃)

  1. 首先需要导出vmdk文件,可以【开启ESXI服务器的ssh功能】,然后使用scp root@<ESXi_IP>:/vmfs/volumes/datastore_name/vm_name/disk.vmdk /local/path/拷贝出来,如果文件太大,可以【创建虚拟机】作为临时存放,内网相对快很多
  2. 打开vmdk文件,试了各种都不能打开,但是也许window系统下有工具能打开

解决方案二:创建虚拟机加载vmdk为第二硬盘

  1. 【创建虚拟机】,虚拟机需要自定义分区,主要修改卷组(VG)名称,修改卷组名称,主要是防止逻辑卷名称冲突

  2. 启动新的虚拟机,启动成功后,【添加硬盘】,硬盘文件选择需要打开的vmdk文件

  3. 进入虚拟机,执行下面命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #检查激活状态
    #有冲突就不会激活
    [root@localhost ~]# lvscan
    inactive '/dev/centos/swap' [15.75 GiB] inherit
    inactive '/dev/centos/home' [1.93 TiB] inherit
    inactive '/dev/centos/root' [50.00 GiB] inherit
    ACTIVE '/dev/centos/swap' [2.00 GiB] inherit
    ACTIVE '/dev/centos/home' [346.99 GiB] inherit
    ACTIVE '/dev/centos/root' [50.00 GiB] inherit
    #没有冲突会自动激活
    [root@localhost ~]# lvscan
    ACTIVE '/dev/centos/swap' [15.75 GiB] inherit
    ACTIVE '/dev/centos/home' [1.93 TiB] inherit
    ACTIVE '/dev/centos/root' [50.00 GiB] inherit
    ACTIVE '/dev/os/swap' [2.00 GiB] inherit
    ACTIVE '/dev/os/home' [346.99 GiB] inherit
    ACTIVE '/dev/os/root' [50.00 GiB] inherit
    #(可选不建议)如果忘了修改卷组(VG)名称,home目录可以在虚拟机里面修改,其他目录不行
    umount /dev/centos/home #卸载
    lvrename /dev/centos/home /dev/centos/home_old #重命名
    mount /dev/centos/home_old /home
    #挂载需要打开的vmdk之后执行下面的,激活命令
    lvchange -ay /dev/centos/home
    #--可选不建议结束---------
    #挂载目录
    mount /dev/centos/home /mnt/home
    #然后就可以进行拷贝备份了

VMware ESXI常用基础操作

  • 创建快照:选择虚拟机,点击 Actions > Snapshot > Take Snapshot

  • 查看vmdk文件:在左侧菜单,点击Storage>Data_disk>对应的虚拟机服务

    1
    2
    3
    4
    #关键文件内容如下
    server.vmdk # 基础文件
    server-000001.vmdk #创建快照产生,从基础文件开始记录所有新的更改
    server-000002.vmdk #纪录新的改变
  • 开启ESXI服务器的ssh功能:在左侧菜单,点击Host>Manage>Services,里面开启ssh功能。开启后用户名和密码同网页登录esxi界面一样

  • 创建虚拟机:在左侧菜单,点击Virtual Machines>create,选择linux,centos7,在iso里面选择Storage里面的iso镜像,然后就是安装centos的步骤了。设置静态ip和ESXI服务器在同一网段中。

  • 添加硬盘:选择虚拟机,点击 edit > add hard disk 进行添加硬盘。

  • 合并快照磁盘:选择虚拟机,点击 Actions > Snapshot >Snapshot Manager> Consolidate