记一次使用 esxi 备份虚拟机
缘由
1. 缺少磁盘映像1
事情的经过是这样的,我在一次出差时,厂家突然要收回借给我们的用来搭建测试环境的硬盘,无奈之下我只能将虚拟机转移到其他服务器上面,但是却遇到了一个极其操蛋的问题,那就生成的 .ovf
模板文件在导入到另一台服务器的时候报错了,提示缺少磁盘映像文件,我百度了一下,网上大部分的文章都是说缺少文件,但是并没有说缺的是什么文件,终于有个人突然提到是因为原虚拟机是由 iso 的,但是新的服务器上面并没有这个镜像,于是就报错了。
解决方法:
重新创建一个 .ovf
模板文件,但是在创建之前,先编辑虚拟机,直接将光盘×掉,防止读取镜像文件。
2. 缺少磁盘映像2
在重新创建不需要光盘的模板文件之后,我赶忙重新导入新的服务器上,但是,这回还是抛出了相同的异常,缺少磁盘映像,于是我和其他人的文件列表做了一下对比,发现我从 esxi 页面上面生成的模板文件只有 .ovf
、.vmdk
和 .mf
文件共三个,少了明明已经勾选的 .mvram
,于是无奈之下下载了专门做 ovf 模板的工具 ovftool
,这个在官网就可以直接下载到。
解决方法:
使用 ovftool
生成相关模板,命令如下
1 | # 根据虚拟机 testvm 生成的模板并下载到 /home/root/ovf 下 |
3. 未知错误
终于在集齐所有需要的文件之后,再次选择了上传,但是,还是没有成功,这回的报错更坑爹,直接说读取不到 key-value,到网上再搜了一整圈才发现,这个页面都有 BUG,官方推出了一个不建议商用的补丁来修复这个问题,补丁地址https://labs.vmware.com/flings/esxi-embedded-host-client
解决方法:
先下载补丁文件,这是一个以 vib
作为后缀名的文件,将他上传到虚拟机的服务器上面(这一步需要现在 esxi 上开启 shell 和 ssh 服务),然后通过 ssh 连接上 esxi,执行一下命令安装
1 | # 这里我将它上传到了 /tmp 下 |
等待重启完成之后,就可以上 web 页面导入 ovf 模板了,我到这里就解决了这个问题了。