VMware虚拟机的导出可以通过web页面和命令行导出两种方法,分别是通过web页面导出和通过命令行导出;
导出
导入
注:通过web页面导出只能导出占用硬盘较小的虚拟机,一般导出数据超过16G在web页面就会因为超时而断开

vim-cmd vmsvc/getallvms 命令可查看ESXI宿主机上目前运行的虚拟机名称以及存储目录,然后df -h 命令查看具体目录名称,进入到对应虚拟机目录下,通过sftp等工具将该目录的所有文件全部拷贝出来,传输到要想导入的ESXI主机目录下(建立在datastore目录下,目录名自定义)
OVFtool导出相对方法一导出的数据总量会更小,但是压缩数据也会花费不少的时间,也是官方推荐使用的导出方法之一
通常情况下,通过ovf导出虚拟机时,会将虚拟机的配置文件、磁盘文件和其他相关文件打包成一个压缩文件。这个压缩文件的格式通常是tar和gzip格式,也可以是其他格式,具体取决于您选择的导出工具和选项。
压缩虚拟机数据可以减小导出文件的大小,提高传输效率,但同时也会增加导出和导入的时间,因为需要进行压缩和解压缩操作。如果您的网络带宽较大,可以选择不压缩数据以减少导出和导入时间。
具体步骤
[root@xxj] vmware -v
VMware ESXi xxx
| ESXi / vCenter 版本 | 推荐 OVF Tool 版本 | 说明 |
|---|---|---|
| vSphere / ESXi 8.0 | OVF Tool 4.6.2+ | 需 TLS 1.2 支持 |
| vSphere / ESXi 7.0 | OVF Tool 4.4.x ~ 4.6.x | 稳定兼容 |
| vSphere / ESXi 6.7 | OVF Tool 4.3.x ~ 4.4.x | 支持 vSphere 6.x 系列 |
| vSphere / ESXi 6.5 | OVF Tool 4.2.x | TLS1.0/1.1 默认可用 |
| vSphere / ESXi 6.0 | OVF Tool 4.1.x | 较旧版本仍可用 |
| vSphere / ESXi 5.5 以下 | OVF Tool 3.x 系列 | 不支持现代证书加密 |
下载对应linux bundle版本
在Linux安装这个工具(我的是esxi7.0)
./VMware-ovftool-4.4.2-17901668-lin.x86_64.bundle -i VMware-ovftool-4.4.2-17901668-lin.x86_64.bundle
安装完成之后ovf`tool命令就可以使用了
[root@nginx50 tmp]# ovftool --help
Usage: ovftool [options] <source> [<target>]
最后使用命令
导出
ovftool vi://root@vm_ip/vm_name vm_name.ovf
导入
ovftool -ds=cl-storage-1 -n="Cloudvm_2074586_with_inject" /tmp/test.ovf vi://root@vm_ip
#部分选项解释
-ds=cl-storage-1:指定虚拟机磁盘所在的数据存储。
--net:'Network 1=VM Network':指定虚拟机网络的配置。
--name/-n ="Cloudvm_2074586_with_inject":指定虚拟机的名称
注:导入前需打开目标esxi主机的ssh连接(Secure Shell 和 ESXi Shell,参考方法1通过web面导出),否则会连接失败
在导出虚拟机前需要先关机,关机时在设置里移除网卡和iso,否则导入时会有报错发生
更多详细OVFtool参数参考:
Run VMware OVF Tool From the Command Line
Command-Line Options