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

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

下载地址(需注册登录)https://my.vmware.com/group/vmware/downloads/details?downloadGroup=OVFTOOL440&productId=974

安装VMware-ovftool-4.4.0-15722219-win.x86_64.msi默认C:\Program Files\VMware\VMware OVF Tool当前目录下运行CMD窗口。

OVF导出

apache
ovftool.exe  vi://root:@192.168.222.8/CentOS7.4  D:\OVF\CentOS7.4-out.ovf

  1. 如导出.ovf目标为目录不带文件名,那出来是一个vm原名的文件夹。
  2. 也可以导出为.ova单文件,ovftool也有格式互转功能。
  3. 如vm带了光驱文件,那iso也会下来,先剔除吧。
  4. 导出过程不可带密码运行,这不如linux版的便利。

部署OVF

vim
ovftool.exe -ds=SSDmx500 -dm=thin -n=CentOS7.4new  "D:\OVF\CentOS7.4-out.ovf"  vi://root:@192.168.222.8

1. -ds为目标存储名,按你的实际填写

2. 使用ovftool.exe部署由vSphere Client出来的ovf成品也相同方式,没毛病!

vSphere Client部署该成品

  1. 直接部署会出现SHA256校验错误,删除.mf文件重来一次即可。
  2. 如部署为该成品的.ova单文件,先解压即可是ovf目录格式,删除.mf文件即可。

linux版本的安装及使用

apache
chmod  +x  VMware-ovftool-4.4.1-16812187-lin.x86_64.bundle

sh  VMware-ovftool-4.4.1-16812187-lin.x86_64.bundle

在大空间存储下创建OVF导出位置

mkdir /opt/OVF

cd  /opt/OVF

导出

apache
ovftool vi://root@192.168.222.8/CentOS7.4   ./CentOS7.4.ovf  

可直接带密码操作

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

带多功能参数的导出

apache
ovftool --powerOffSource -o --X:logFile=./ovf.log   vi://root:'PassWd#9'@192.168.222.8/CentOS7.4  ./CentOS7.4`date +%Y%m%d`.ova 

--powerOffSource   先切断电源关机

-o                 同名覆盖(导出导入)

--X:logFile        输入详细日志

带多功能参数的部署

apache
ovftool --powerOn -ds=SSDmx500 -dm=thin --network='vlan-253' -n=CentOS7.4-new  "CentOS7.4.ovf"  vi://root:'PassWd#9'@192.168.222.8

--powerOn      部署完毕自动开机

-dm=thin       还可以选择Thick(厚置备延迟置零---省略值)   eagerZeroedThick(厚置备置零)

--network      部署选择网卡标签

使用proxy代理

apache
ovftool  --proxy=http://192.168.253.99:8118  vi://root@192.168.222.8/CentOS7.4   ./CentOS7.4proxy.ovf

批量部署

( 有多个ova文件,加个for循环用shell脚本自动部署)

 
bash
#!/bin/bash
filename=` find /opt/ovf/ -name *.ova`
# find all ova template
for ova in $filename
do
/usr/bin/ovftool --X:logFile=./ovflog-`date +%Y%m%d` -ds=SSDmx500 -dm=thin `echo $ova` 'vi://root:'PassWd#9'@192.168.222.8'
continue
done
 

与vcenter的格式

golo
'vi://username:password@pod01-vcenter/POD01(TEST-POD)/host/POD01-CLU01/pod01-clu01-h001.cdscloud.local'

pod01-vcenter    是vcenter的名称;

POD01(TEST-POD)   是数据中心的名称;

host后面接模板部署目标host位置,CLU01代表集群,pod1-clu01-h001.jx.local是集群下的一台宿主机;

需要注意的是,这里的dns要设置好,或者也可用ip地址代替,比如:

apache
     vi://username:password@192.168.1.1/?ip=192.168.100.1'

192.168.1.1是vcenter的地址,192.168.100.1是目标宿主机的ip地址;

这里跟vcenter的连接也可以用http的形式,具体详见官方文档。

注意:

  1. 以上全文验证账户与导出/入过程都使用443目标端口。
  2. 镜像格式转换ovftool  CentOS7.4.ovf  CentOS7.4.ova  (可互转)

参考文献

VMWare OVF Tools · Devops Roadmap

ovftool自动部署/导出ova/ovf模板-xujpxm-51CTO博客

新版本下载地址

https://customerconnect.vmware.com/cn/downloads/#all_products

https://customerconnect.vmware.com/cn/downloads/details?downloadGroup=OVFTOOL443&productId=974

[转帖]VMware-ovftool命令行部署与导出镜像的更多相关文章

  1. mysql命令行的导入导出sql,txt,excel(都在linux或windows命令行操作)(转自筑梦悠然)

    原文链接https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/73805962 Mysql导入导出sql,txt,excel 首先我们通过命令行 ...

  2. mysql命令行导入和导出数据

    首先打开命令窗口,输入命令:mysql -h localhost -u selffabu -p 连接成功后,进行下面的操作 MySQL中导出CSV格式数据的SQL语句样本如下: select * fr ...

  3. 在Linux主机使用命令行批量删除harbor镜像

     在Linux主机使用命令行批量删除harbor镜像 脚本使用说明: 此脚本不是万能脚本,根据自身环境要调整很多 能用harbor的域名就不要用IP 脚本前半部分可以套用,后半部分需一步一步试错,结合 ...

  4. 如何使用CLI命令行部署VMware VCSA 6.5

    在本文中,我们讨论如何使用CLI部署VMware vCSA 6.5,vCSA 6.0提供了两种实现类型,向导和脚本化.我们将使用一个名为vcsa-deploy的实用程序进行CLI安装.同样vcsa-d ...

  5. 命令行部署SharePoint2016离线前提条件和添加服务器的Feature

    前言 Sp2016的软件环境要求如下: 服务器场中的数据库服务器的最低要求: 以下各项之一: Microsoft SQL Server 2014 Service Pack 1 (SP1) 的 64 位 ...

  6. netcore命令行部署|跨域问题

    1.在hosting中修改发布端口号,如遇见不识别IP则改成*再用命令行运行 { "server.url": "http://*:8089"} 3.给接口开外网 ...

  7. 【转帖】Linux命令行操作json神器jq

    Linux命令行操作json神器jq https://www.cnblogs.com/chenqionghe/p/11736942.html jq类似一个awk或grep一样的神器,可以方便地在命令行 ...

  8. 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)

    windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15   作者:    我要评论 http://www.jb51.ne ...

  9. 命令行部署KingbaseES流复制+切换测试

    建立系统数据库安装用户组及用户,在所有的节点执行 root用户登陆服务器,创建用户组及用户并且设置密码 groupadd -g 2000 kingbase useradd -G kingbase -g ...

  10. 使用Scrapy命令行工具【导出JSON文件】时编码设置

    Windows 10家庭中文版,Python 3.6.4,virtualenv 16.0.0,Scrapy 1.5.0, 使用scrapy命令行工具建立了爬虫项目(startproject),并使用s ...

随机推荐

  1. Vue 2 和 Vue 3 中 toRefs的区别

    摘要:本文将介绍 Vue 2 和 Vue 3 中 toRefs 函数的不同用法和行为,并解释其在各个版本中的作用. 正文: Vue 是一款流行的 JavaScript 框架,用于构建用户界面.在 Vu ...

  2. 密码加密处理MD5与Salt

    作用:一般用来加密或者签名(校验和) 特点: MD5算法不可逆如何内容相同无论执行多少次md5生成结果始终是一致 生成结果:始终是一个16进制32位长度字符串 //使用MD5 + salt +hash ...

  3. LeetCode DP篇-求子序列问题(1143、300、53、72)

    1143. 最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度. 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情 ...

  4. 云小课|GaussDB(DWS)数据存储尽在掌控,冷热数据切换自如

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: GaussDB( ...

  5. 数仓ETL系统:给强大的“心脏”配上“超级流水线”

    摘要:在数据仓库平台建设过程中,数据的加载.卸载,各层数据模型之间的数据流转,业务规则的实现等等数据加工过程都会以ETL任务的方式实现. 一.前言 在数据仓库平台建设过程中,数据的加载.卸载,各层数据 ...

  6. 在Spark Scala/Java应用中调用Python脚本,会么?

    摘要:本文将介绍如何在 Spark scala 程序中调用 Python 脚本,Spark java程序调用的过程也大体相同. 本文分享自华为云社区<[Spark]如何在Spark Scala/ ...

  7. vue2升级vue3:getCurrentInstance—Composition api/hooks中如何获取$el

    在vue2中,我们进程看到 this.$el 操作.但是在vue3 如何获取组件的当前 dom 元素呢?  可以利用 getCurrentInstance getCurrentInstance Vue ...

  8. Java 全新生态的框架,Solon v1.10.12 发布

    一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,也没有 Servlet,独立的生态.主框架仅 0.1 MB.Helloworld: @Controller public ...

  9. Axure App 垂直滚动

    拖两个动态面版 最外层[动态面板]用来定义显示区域,高度:692 (根据实际来) 里面的[动态面板],用来放内容,高度根据实际情况来,示例中是:1920 如下图所示 里面的[动态面板]添加垂直滚动 外 ...

  10. MySQL 恢复误删除数据

    如图:我们将删除 id=2的数据,并恢复 SHOW BINARY LOGS; You are not using binary logging show binlog events in 'mysql ...