ovftool自动部署/导出ova/ovf模板
2016-04-26 00:13
330 查看
一、简介
OVF(Open Virtualization Format)是多家虚拟化厂商和硬件厂商共同定义的一个虚拟设备的规范,ovf格式的虚拟设备(其实就是一些文件)可以被多家虚拟化软件设备并import到虚拟化环境,比如VMware、XenServer、VirtualBox等等。OVF一般有几个部分组成,分别是ovf文件、mf文件、cert文件、vmdk文件和iso文件。OVF(Open Virtualization Format:开放虚拟化格式 )和OVA(Open Virtualization Appliance:开放虚拟化设备),两者包含所有用于部署虚拟机的必要信息。现在很多软件厂商经常将一个应用直接打包成ovf或ova格式的虚拟设备提供给用户导入到虚拟化环境,比如VMware、Riverbed等等很多公司都有产品通过这种方式发布,这方便了用户部署。
VMware提供ovf、ova模板的部署和导出功能,在手动部署的时候有时会出现无法部署或者部署过程中出错的情况,尤其在大文件部署的时候突然中断很是让人头疼,这里介绍一个工具:ovftool。
官网提供多个版本的下载,建议在linux和mac上使用,具体下载链接见后面。
二、安装
已linux 版本为例:
下载下来之后,直接sh 运行即可:
ovftool安装完即可用,其userguide文档里提供了很多可选参数,下面是我实际使用过程中用的一个语法,基本包含了可能会用到的几个参数::
多个网卡可以用--net指定源和目标portgroup,格式类似--net:source-portgroup=target-portgroup:
例如:
--net:vlan10-pod01-Test-Private=vlan11-pod01-Test-Private
多个网卡使用多个--net指定。
参数详解:--X:logLevel:定义log的级别;--X:logFile:定义log文件位置,以日期的格式命名;--noSSLVerify:跳过vSphere连接的SSL认证;--acceptAllEulas:接受所有用户的licenses;-dm(--diskMode): 磁盘类型,一般选用thin置备,如果不加此参数,默认硬盘厚置备类型;-vf(--vmFolder):模板部署的目标目录(即文件夹),我这里假设要部署到Templates目录下面;-ds(--datastore):模板部署的目标存储位置vi:// : 全称”VMware Infrastructure“,用来和数据中心通信的命令行选项,最早是ESX 3版本的一个术语。格式:”username:password@vcenter名称/数据中心名称/host/指定host“;也可以只指定到cluster。其中:
/data/template/centos/MyTest-CentOS6.5-64bit-V1.ova是ova文件的位置;
pod01-vcenter是vcenter的名称;
POD01(TEST-POD)是数据中心的名称;
host后面接模板部署目标host位置,CLU01代表集群,pod1-clu01-h001.jx.local是集群下的一台宿主机;
需要注意的是,这里的dns要设置好,或者也可用ip地址代替,比如:
这里跟vcenter的连接也可以用http的形式,具体详见官方文档。
四、模板导出
导出成ova/ovf模板的常用命令:
-o(--overwrite):如果导出的文件名已存在,强制重写;
--powerOffSource:确保VM在被导出之前处于关机的状态
--machineOutput:以机器可读的格式输出ovftool的信息;
另外需要注意的一点是ovftool导出的文件权限问题,默认是600,建议改成644。
五、自动部署
如果有多个ova文件,自动部署的时候简单点的加个for循环用shell脚本即可,例如:
https://www.vmware.com/support/developer/ovf/ovf410/ovftool-410_userguide.pdf
另外ovftool可在VMware官网下载,下载之前需要先注册账号,下载链接如下:
https://my.vmware.com/cn/web/vmware/details?downloadGroup=OVFTOOL410&productId=491
OVF(Open Virtualization Format)是多家虚拟化厂商和硬件厂商共同定义的一个虚拟设备的规范,ovf格式的虚拟设备(其实就是一些文件)可以被多家虚拟化软件设备并import到虚拟化环境,比如VMware、XenServer、VirtualBox等等。OVF一般有几个部分组成,分别是ovf文件、mf文件、cert文件、vmdk文件和iso文件。OVF(Open Virtualization Format:开放虚拟化格式 )和OVA(Open Virtualization Appliance:开放虚拟化设备),两者包含所有用于部署虚拟机的必要信息。现在很多软件厂商经常将一个应用直接打包成ovf或ova格式的虚拟设备提供给用户导入到虚拟化环境,比如VMware、Riverbed等等很多公司都有产品通过这种方式发布,这方便了用户部署。
VMware提供ovf、ova模板的部署和导出功能,在手动部署的时候有时会出现无法部署或者部署过程中出错的情况,尤其在大文件部署的时候突然中断很是让人头疼,这里介绍一个工具:ovftool。
官网提供多个版本的下载,建议在linux和mac上使用,具体下载链接见后面。
二、安装
已linux 版本为例:
下载下来之后,直接sh 运行即可:
root@ubuntu:~# sh VMware-ovftool-4.1.0-2459827-lin.x86_64.bundle三、OVA、OVF模板部署
ovftool安装完即可用,其userguide文档里提供了很多可选参数,下面是我实际使用过程中用的一个语法,基本包含了可能会用到的几个参数::
root@ubuntu:~# ovftool --X:logLevel=verbose \ --X:logFile=/root/deploy_log-`date +%Y%m%d` \ --noSSLVerify --acceptAllEulas \ -dm=thin -vf=Templates \ -ds=POD01-VOL /data/template/centos/MyTest-CentOS6.5-64bit-V1.ova \ 'vi://username:password@pod01-vcenter/POD01(TEST-POD)/host/POD01-CLU01/pod01-clu01-h001.cdscloud.local'如果ova/ovf模板网卡里带portgroup,一块网卡用参数:-nw或者--network后跟目标网络;
多个网卡可以用--net指定源和目标portgroup,格式类似--net:source-portgroup=target-portgroup:
例如:
--net:vlan10-pod01-Test-Private=vlan11-pod01-Test-Private
多个网卡使用多个--net指定。
参数详解:--X:logLevel:定义log的级别;--X:logFile:定义log文件位置,以日期的格式命名;--noSSLVerify:跳过vSphere连接的SSL认证;--acceptAllEulas:接受所有用户的licenses;-dm(--diskMode): 磁盘类型,一般选用thin置备,如果不加此参数,默认硬盘厚置备类型;-vf(--vmFolder):模板部署的目标目录(即文件夹),我这里假设要部署到Templates目录下面;-ds(--datastore):模板部署的目标存储位置vi:// : 全称”VMware Infrastructure“,用来和数据中心通信的命令行选项,最早是ESX 3版本的一个术语。格式:”username:password@vcenter名称/数据中心名称/host/指定host“;也可以只指定到cluster。其中:
/data/template/centos/MyTest-CentOS6.5-64bit-V1.ova是ova文件的位置;
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的形式,具体详见官方文档。
四、模板导出
导出成ova/ovf模板的常用命令:
ovftool -o \ --powerOffSource \ --acceptAllEulas \ --machineOutput \ --X:logLevel=verbose \ --X:logFile=log.log \ --noSSLVerify \ "vi://username:password@pod01-vcenter/POD01(TEST-POD)/vm/MyTestVM" /root/MyTestVM.ova参数介绍:
-o(--overwrite):如果导出的文件名已存在,强制重写;
--powerOffSource:确保VM在被导出之前处于关机的状态
--machineOutput:以机器可读的格式输出ovftool的信息;
另外需要注意的一点是ovftool导出的文件权限问题,默认是600,建议改成644。
五、自动部署
如果有多个ova文件,自动部署的时候简单点的加个for循环用shell脚本即可,例如:
#!/bin/bash filename=`find /data/template/ -name *.ova` # find all ova template for ova in $filename do /usr/bin/ovftool --X:logLevel=verbose --X:logFile=/root/ovflog-`date +%Y%m%d` --noSSLVerify --acceptAllEulas -dm=thin -vf=Templates -ds=POD1-Template `echo $ova` 'vi://username:password*@MyVC/POD1(MyDC)/host/CLU01/pod1-clu01-h001.jx.local' continue done以下是目前的官方文档链接:
https://www.vmware.com/support/developer/ovf/ovf410/ovftool-410_userguide.pdf
另外ovftool可在VMware官网下载,下载之前需要先注册账号,下载链接如下:
https://my.vmware.com/cn/web/vmware/details?downloadGroup=OVFTOOL410&productId=491
相关文章推荐
- 在 Linux 上安装 VMware 工具
- 设计模式之行为型模式 - 调用行为的传递问题
- [div+css]晒晒最新制作专题推广页模板
- 把Chrome OS安装在VMWare下及Chrome OS的关键特性和一些截图
- 企业云 2.0:VMware 眼中的企业 IT 的未来
- Windows 8虚拟机不能全屏的解决方法
- 2008大学生入党申请书 模板
- 解决ie动态修改link样式,import css不刷新的问题
- VMware Workstation 5.5.3 Build 34685 汉化补丁
- IMAIL多语言模板两套Outlook&Gmail模板下载
- css import与link的区别
- 在PHP中使用模板的方法
- 深入解析php模板技术原理【一】
- Flex include和import ActionScript代码
- Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
- 在ASP中不用模板生成HTML静态页直接生成.html页面
- 基于HTML模板和JSON数据的JavaScript交互(移动端)
- C#模板方法模式(Template Method Pattern)实例教程
- javascript文本模板用法实例
- 关于Asp代码与页面的分离模板技术第1/3页