[转帖]VMware-ovftool命令行部署与导出镜像
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导出
- ovftool.exe vi://root:@192.168.222.8/CentOS7.4 D:\OVF\CentOS7.4-out.ovf
- 如导出.ovf目标为目录不带文件名,那出来是一个vm原名的文件夹。
- 也可以导出为.ova单文件,ovftool也有格式互转功能。
- 如vm带了光驱文件,那iso也会下来,先剔除吧。
- 导出过程不可带密码运行,这不如linux版的便利。
部署OVF
- 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部署该成品
- 直接部署会出现SHA256校验错误,删除.mf文件重来一次即可。
- 如部署为该成品的.ova单文件,先解压即可是ovf目录格式,删除.mf文件即可。
linux版本的安装及使用
- 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
导出
- ovftool vi://root@192.168.222.8/CentOS7.4 ./CentOS7.4.ovf
可直接带密码操作
- ovftool vi://root:'PassWd#9'@192.168.222.8/CentOS7.4 ./CentOS7.4.ovf
带多功能参数的导出
- 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 输入详细日志
带多功能参数的部署
- 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代理
- ovftool --proxy=http://192.168.253.99:8118 vi://root@192.168.222.8/CentOS7.4 ./CentOS7.4proxy.ovf
批量部署
( 有多个ova文件,加个for循环用shell脚本自动部署)
- #!/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的格式
- '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地址代替,比如:
- vi://username:password@192.168.1.1/?ip=192.168.100.1'
192.168.1.1是vcenter的地址,192.168.100.1是目标宿主机的ip地址;
这里跟vcenter的连接也可以用http的形式,具体详见官方文档。
注意:
- 以上全文验证账户与导出/入过程都使用443目标端口。
- 镜像格式转换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命令行部署与导出镜像的更多相关文章
- mysql命令行的导入导出sql,txt,excel(都在linux或windows命令行操作)(转自筑梦悠然)
原文链接https://blog.csdn.net/wuhuagu_wuhuaguo/article/details/73805962 Mysql导入导出sql,txt,excel 首先我们通过命令行 ...
- mysql命令行导入和导出数据
首先打开命令窗口,输入命令:mysql -h localhost -u selffabu -p 连接成功后,进行下面的操作 MySQL中导出CSV格式数据的SQL语句样本如下: select * fr ...
- 在Linux主机使用命令行批量删除harbor镜像
在Linux主机使用命令行批量删除harbor镜像 脚本使用说明: 此脚本不是万能脚本,根据自身环境要调整很多 能用harbor的域名就不要用IP 脚本前半部分可以套用,后半部分需一步一步试错,结合 ...
- 如何使用CLI命令行部署VMware VCSA 6.5
在本文中,我们讨论如何使用CLI部署VMware vCSA 6.5,vCSA 6.0提供了两种实现类型,向导和脚本化.我们将使用一个名为vcsa-deploy的实用程序进行CLI安装.同样vcsa-d ...
- 命令行部署SharePoint2016离线前提条件和添加服务器的Feature
前言 Sp2016的软件环境要求如下: 服务器场中的数据库服务器的最低要求: 以下各项之一: Microsoft SQL Server 2014 Service Pack 1 (SP1) 的 64 位 ...
- netcore命令行部署|跨域问题
1.在hosting中修改发布端口号,如遇见不识别IP则改成*再用命令行运行 { "server.url": "http://*:8089"} 3.给接口开外网 ...
- 【转帖】Linux命令行操作json神器jq
Linux命令行操作json神器jq https://www.cnblogs.com/chenqionghe/p/11736942.html jq类似一个awk或grep一样的神器,可以方便地在命令行 ...
- 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)
windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15 作者: 我要评论 http://www.jb51.ne ...
- 命令行部署KingbaseES流复制+切换测试
建立系统数据库安装用户组及用户,在所有的节点执行 root用户登陆服务器,创建用户组及用户并且设置密码 groupadd -g 2000 kingbase useradd -G kingbase -g ...
- 使用Scrapy命令行工具【导出JSON文件】时编码设置
Windows 10家庭中文版,Python 3.6.4,virtualenv 16.0.0,Scrapy 1.5.0, 使用scrapy命令行工具建立了爬虫项目(startproject),并使用s ...
随机推荐
- Java中ArrayList的遍历与删除元素方式总结
在Java编程中,我们经常需要对数据结构进行遍历操作,并根据业务需求删除部分元素.而数组列表(ArrayList)是集合类中的一种,它可以动态地添加和删除元素,非常适合在程序中使用.本篇博客将总结Ar ...
- vue部署项目报错导致空白页解决
在nginx上部署项目出现空白页并报错 解决方法: 在vue的vue.config.js文件中 改成:module.exports = {publicPath: './'}
- BugBuilder: 高质量大规模缺陷库自动构建方法
摘要:本文提出并开发了高质量大规模缺陷库全自动构建方法BugBuilder,自动从版本控制系统中的人为编写的补丁中提取完整且精准的缺陷修复补丁. 本文分享自华为云社区<BugBuilder: 高 ...
- 华为云张昆:支持全场景全业务,GaussDB加速企业数字化转型
云.AI.5G等技术驱动,数据库行业迎来新的需求,云数据库也在不断演进升级.依托华为云与华为云Stack,通过全栈软硬件优化,华为云GaussDB进行了进阶与革新,以统一的架构,支持关系型与非关系型的 ...
- 3个轻量级物联网新品实验,带您深度体验IoT开发
摘要:一键创建实验环境,开发者通过实验手册指导,快速体验华为云IoT服务,在云端即可实现云服务的实践.调测和验证等开发流程. 本文分享自华为云社区<物联网云上实验上新,带您深度体验华为云IoT服 ...
- 列举GaussDB(DWS)常见的查询时索引失效场景
摘要:使用GaussDB(DWS)时,有时为了加快查询速度,需要对表建立索引.有时我们会遇到明明建立了索引,查询计划中却发现索引没有被使用的情况.本文将列举几种常见的场景和优化方法. 本文分享自华为云 ...
- Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
Caused by: java.lang.NoClassDefFoundError: javax/servlet/Filter at java.lang.Class.getDeclaredMethod ...
- 无法访问Docker 里的 mysql, redis
[root@centos-linux jimmy]# firewall-cmd --state not running [root@centos-linux jimmy]# sysctl net.ip ...
- python os模块 高频函数(未完待续)
os.listdir 返回目录下所有的文件,包括文件和文件夹 例如:当前文件夹下为: >>> import os >>> os.listdir() ['Annota ...
- FOR ALL ENTRIES IN 与 INNER JOIN 内表
1.区别 FOR ALL ENTRIES IN 与 INNER JOIN 内表,目的都是通过内表找数据库表与之对应的数据,但是有区别. 1.1.写法 FOR ALL ENTRIES IN " ...