记一次从vmdk镜像里面恢复数据的历程
问题描述
- 环境: ESXi 7.0+centos7虚拟机
在一次操作生产服务器时,发生了系统文件丢失,导致重启之后无法进入系统,但是重要哦的文件还在系统中,第一时间应该先对当前系统【创建快照】,创建快照之后就可以【查看vmdk文件】
解决方案一:导出vmdk文件进行打开(废弃)
- 首先需要导出vmdk文件,可以【开启ESXI服务器的ssh功能】,然后使用
scp root@<ESXi_IP>:/vmfs/volumes/datastore_name/vm_name/disk.vmdk /local/path/
拷贝出来,如果文件太大,可以【创建虚拟机】作为临时存放,内网相对快很多 - 打开vmdk文件,试了各种都不能打开,但是也许window系统下有工具能打开
解决方案二:创建虚拟机加载vmdk为第二硬盘
【创建虚拟机】,虚拟机需要自定义分区,主要修改卷组(VG)名称,修改卷组名称,主要是防止逻辑卷名称冲突
启动新的虚拟机,启动成功后,【添加硬盘】,硬盘文件选择需要打开的vmdk文件
进入虚拟机,执行下面命令
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
。