总的来说是一个取巧的法子,已运用在正式环境
一、方案实现原理
Esxi虚拟机在启动的时候会将最新的vmdk文件锁住,不可更改复制最新的vmdk文件,而快照可以生成最新的vmdk文件,Esxi只会锁最新的vmdk文件,也就是说生成一个最新的临时快照,那么临时快照的vmdk文件就会被锁住无法复制移动,但是原来的vmdk文件就相当于解锁,可以移动复制。
Esxi复原时会记住当前快照次数,若无此快照对应的vmdk则不给复原虚拟机,而快照次数存储在vmx文件中
按照以上原理得出以下的步骤图:
(原虚拟机情况:其中01、02、03为镜像vmdk文件,vm6为总的vmdk文件,而vm6.vmx记录快照次数)
在下图中方框内为虚拟机内的文件,首先处理RVM1(我把ESXI称为RootVM,因为他就是虚拟机的根)下的VM6虚拟机,步骤处理完成,则完成同Esxi下的虚拟机克隆。
(以此为基础即可做到vm热克隆)
使用克隆的虚拟进行OVF文件导出,使用OFV导入到新的RVM2进行Esxi虚拟机之间的克隆,以下为步骤图。
切记:此方法适用于Esxi版本向上兼容,如果高版本向低版本导入虚拟机可能会出现问题,因为笔者当前为低版本向高版本克隆虚拟机,所以尝未试高版本向低版本虚拟机导入。
二、实际步骤
1.复制文件到新文件夹
从原VM中复制文件到新文件夹中,以下截图我已创建临时快照,其中临时快照为002.vmdk,也就是当未创建临时快照时001.vmdk文件是被lock锁住的无法复制移动。
2.新建临时快照,解锁001.vmdk文件
新建快照后会形成新的vmdk文件,也就是第一步中的002.vmdk文件,而001.vmdk文件解锁,由于我首先复制了vmx文件,所以副本vm只会记住只有1次快照,即只会记得只有001.vmdk文件而无002.vmdk文件。
切记若是新建了临时快照再去复制vmdk文件和vmx文件,会报缺少最新的vmdk文件无法复原,按照当下场景例子:首先新建临时快照然后再去复制vmx、vmdk、001.vmdk文件,复原时会报缺少002.vmdk文件,这是因为vmx已记录临时快照记录,想要复原就需要把对应时刻vmx记录的所有vmdk文件。
3.注册虚拟机
经过以上步骤,最开始原vm文件已经全部复制到新的文件夹中。
直接点击注册虚拟机即可完成同Esxi下克隆虚拟机,需要注意其网络IP需要改变,不的话会导致IP冲突。
同时对虚拟机重命名,克隆的虚拟机与原虚拟机名字相同。重命名副本vm防止与原vm混淆。
最后一定需要开机虚拟机,验证并能正常开机
同Esxi虚拟机热克隆成功,开始对虚拟机进行Esxi之间vm热克隆(原vm并未关机,只是副本vm关机,所以相对于原vm确实是热克隆)
4.关闭副本vm电源导出OVF文件
导出有两种方法,第一种依赖于浏览器本身的下载去导出,缺点就是导出大vmdk文件浏览器会因为连接超时断开,所以推荐使用第二种。(其中VMware Workstation Pro是提供这个工具的,在下载目录的中的OVFTool文件夹中,也可以另外下载)
OVFTool下载地址如下,直接复制到浏览器即可:
第一种方法:使用浏览器自带的下载功能
右键副本vm导出。
总共三个文件:vmdk文件、ovf文件以及mf文件。相比于直接复制vmdk文件,三个文件的体量较小,非常合适小vm迁移工作
第二种方法:使用OVFTool工具
使用命令导出需要依靠OVFTool工具导出,缺点就是工具需要去官方网站下载。
使用命令行进入工具目录输入命令即可,例子有两个选择一个执行即可(若密码存在特殊字符请将密码使用URL编码并凭借再root:后,xxxxx部分为密码):
命令解读:使用root账户连接,回车后会提示输入密码,192.177.9.1是EXSI的ip地址,后面的pachong是要导出的虚拟机的名字。最后面的D:是你要备份的ovf模板系统的目录。直接备份到D:根目录下面
导出成功后会有提示
5.导入文件到新Esxi中
与导出一样也有两种方法,第一种方法也是依靠浏览器上传,第二种方法就是依靠OVFTool工具导入,两种导入后的虚拟机是一样的,只不过第二种方法的缺点就是工具需要下载
第一种方法:使用Esxi自带的上载功能
不同于导出,第一种方法也可以完成大vm的导入,不会像导出因为超时导致导出失败。
点击虚拟机选择创建/注册虚拟机
选择从OVF或OVA文件部署虚拟机
点击下一页,输入虚拟机名称,直接打开导出的文件夹,将所有的文件拖动到其中,mf文件也需要拖动到其中(mf文件未显示不重要,因为导出的时候存在mf文件,所以保险一点将所有文件拖动到其中)。
接下来选择对应测存储盘,然后默认即可,选择完成下发近期任务会弹出两个对应的任务,一个是Import VApp任务,一个是上载磁盘任务,等待其完成即可
第二种方法:使用OVFTool工具
使用终端进入到工具目录,使用以下命令。
-ds是vmware EXSI主机存储目录的名称,-dm=thin是硬盘精简置备的意思,-n是新虚拟机的名称(虚拟机名字最好是英文,不要使用IP地址)。后面的是D盘下面的ovf文件系统,最后的是root账户以及EXSI主机的ip地址,xxxx是经过URL编码的密码。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/8393.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~