esxi中利用ovf模板迁虚拟机

在用esxi部署虚拟机后,有时候可能需将上面部署好的虚拟机迁移到其他地方,可以利用导出ovf模板方式进行迁移。

什么是OVF-开放虚拟机格式文件

OVF 是一种虚拟机打包和分发格式,具有独立于平台、高效、可扩展且开放的特点。 OVF 格式提供了完整的虚拟机规范,包括所需虚拟磁盘和所需虚拟硬件配置(包括 CPU、内存、网络连接和存储)的完整列表。管理员无需干预或只需进行极少干预,即可快速置备 OVF 格式的虚拟机。

OVF包结构的组成部分一般包含如下组件:

  • 一个以.ovf 为扩展名的OVF描述文件;
  • 可选的以.mf为扩展名的清单文件;
  • 可选的.cert为扩展名的证书文件;
  • 可选的磁盘镜像文件;
  • 可选的附加的资源文件,例如ISO镜像。

一个OVF包如果存储在单一文件中,则以TAR格式存储,该文件的扩展名就是.ova(开放虚拟器件或应用)。而如果以一组文件的模式提供,那么就是上述标准的OVF包结构,包含了以.ovf 为扩展名的OVF描述文件、以.mf为扩展名的清单文件以及磁盘镜像文件等组成的文件组。

导出OVF

将虚拟机导出为 OVF 格式
官方参考: https://docs.vmware.com/cn/VMware-Workstation-Pro/12.0/com.vmware.ws.using.doc/GUID-D1FEBF81-D0AA-469B-87C3-D8E8C45E4ED9.html

  • 导出的文件大小是实际使用的空间大小,并不是设置虚拟机置备时的大小。
  • 只有关闭电源才可以进行该虚拟机导出操作。

导出OVF的操作步骤如下:

esxi虚拟机内部传输文件 esxi虚拟机导出ovf_服务器


选择要导出的虚拟机,点击“文件”—“导出为OVF”。

esxi虚拟机内部传输文件 esxi虚拟机导出ovf_服务器_02


选择OVF文件的保存位置,输入OVF文件名,点击“保存”

使用ovftool 命令导出为OVF模板

ESXi虚拟机导出为OVF模板
参考URL: https://blog.bwcxtech.com/posts/3a03f4dc/

ESXI6.0之后管理为WEB,OVF导出/部署是个渣渣,如果虚拟机文件过大,一般会报网络异常中断而失败,可使用官方ovftool工具解决,快而方便,支持linux和Mac OSX,可脚本操作,批量处理等。

  1. Web Client导出。ESXI6.7 http导出下载会自动中断,只能换下一个方法。
  2. 安装vCenter Server,这个很麻烦,这里不做讲解。
  3. vSphere Client(6.5后不支持了)跳过。
  4. 如果安装过VMware Workstation就简单多了,如下VMware Workstation安装目录有一个OVFTool文件夹,有个 ovftool.exe

在windows如已经安装vmware workstation,有个OVFTool目录直接可使用。如Workstation版本较老,那还是建议安装新版本的独立工具包,README.txt中能看到版本号。

esxi虚拟机内部传输文件 esxi虚拟机导出ovf_esxi虚拟机内部传输文件_03


使用方法

ovftool vi://root:@10.168.1.63/你的虚拟机名字 D:\sso.ova

可直接带密码操作

ovftool  vi://root:'PassWd#9'@192.168.222.8/CentOS7.4   ./CentOS7.4.ovf

vi:// : 全称”VMware Infrastructure“,用来和数据中心通信的命令行选项,最早是ESX 3版本的一个术语。

根据自己的ESXI主机IP,虚拟机名称,导出目录进行输入。

部署OVF

ovftool.exe -ds=SSDmx500 -dm=thin -n=CentOS7.4new  "D:\OVF\CentOS7.4-out.ovf"  vi://root:@192.168.222.8
  1. -ds为目标存储名,按你的实际填写
ovftool中密码含有特殊字符的处理办法

如果你的密码有特殊字符,不能直接用这个命令,要把用户名密码都带到命令中,而且还要转换特殊字符的编码变成url编码

ovftool.exe -v 查看当前版本号

如果你的密码有特殊字符,不能直接用这个命令,要把用户名密码都带到命令中,而且还要转换特殊字符的编码变成url编码,比如我的密码中#的编码就是%23,$的编码是%24.
整个命令变成.\ovftool.exe vi://root:Huawei12%23%24@192.168.2.101/cluster01.2.21 f:/centos7
\

如果还不行,建议 你把esxi密码改个简单的试试!

导入OVF文件

点击“文件”—“打开”,选择一个OVF文件,点击“打开”
输入OVF文件导入后的虚拟机名称、选择虚拟机的存放位置,点击“导入”
导入OVF文件需要较长的时间,请耐心等待,OVF文件导入后,就可以在虚拟机列表中看到OVF文件转换的虚拟机了

如果克隆的centos服务器:
1、克隆虚拟机,克隆前需关闭虚拟机
2、克隆之后的网卡问题解决,其中需要修改HWADDR和UUID
/etc/sysconfig/network-scripts/ifcfg-ens32
uuid获取:用命令 nmcli con show 获取
mac地址获取:从虚拟机的属性里获取

参考

ESXi虚拟机导出为OVF模板
参考URL: https://blog.bwcxtech.com/posts/3a03f4dc/