码迷,mamicode.com
首页 > 其他好文 > 详细

OvF tool之自动化搭建测试环境

时间:2015-03-20 18:24:16      阅读:2194      评论:0      收藏:0      [点我收藏+]

标签:

开放式虚拟机格式(OVF,Open Virtualization Format),OVF规范是由VMware和一些其他的公司创建的开方式标准。OVF规范已经被提交给分布式任务管理组(DMTF, Distributed Management Task Force),DMTF 是一家非营利性的业界成员合作组织,目的是推动系统管理领域的互通性和标准化。DMTF已经发布了OVF规范1.0.0。按照VMware的说法,OVF具有以下好处:

  • 独立于虚拟化平台,更好的灵活性;
  • 下载虚拟器件时,具有更好的体验;
  • 更容易的企业软件交付;
  • 可为特定平台进行增强,且因为可扩展故更容易采用虚拟化中的新技术。

VMware在其网站上有一个可供下载的OVF工具,它是一个转换程序,支持OVF包的导入/导出。你可以创建OVF包并发布给别人,同时你也可以将OVF包部署在你没有OVF工具的vSphere基础架构中。不过,OVF工具可以让你通过命令行完成这些操作。

OVF一般有几个部分组成,分别是ovf文件、mf文件、cert文件、vmdk文件和iso文件。OVF(Open Virtualization Format:开放虚拟化格式 )和OVA(Open Virtualization Appliance:开放虚拟化设备),两者包含所有用于部署虚拟机的必要信息。这两种包封装格式都是由DMTF(Distributed Management Task Force)所定义的。两者之间的主要区别是在包的描述和封装。OVF包构造了必要的几个文件(具体见上描述),所有这些在定义和部署的虚拟机必须用到的。相比之下,OVA包是一个单一的文件,所有必要的信息都封装在里面。OVF文件使用.ovf文件扩展名,同时一个OVF描述符,一个XML文件,用来描述打包的虚拟机。OVF还包含元数据和一个或更多的磁盘映像。或者,它也可能包含证书和其他附文件。而OVA文件则采用.tar文件扩展名,包含了一个OVF ??包中所有文件类型。这样OVA单一的文件格式使得它非常便携。 

我们公司的端到端的视频解决方案在搭建测试一整套系统时,通常都是基于在UCS server上搭建EXSi,然后创建虚拟机再到部署具体的系统。搭建测试系统如果开发提供ovf文件,那就直接部署,如果是提供安装包,那需要预先安装操作系统,那也可以选择已经安装好的CentOS ovf,然后在此基础上再安装软件。现在测试的系统开发一般是直接部署ovf文件,这样有统一的操作系统和软件版本,而且也节省了很多人力物力。在2011年搭建一个CMS(content management system)时那会是以安装包的方式进行,操作系统有centos,redhat等可选,版本也有多个可选,当时搭建好系统就是运行不起来,花了一周多时间debug,最后发现安装的centos是中文操作系统。所以用deploy ovf的方式完全可以避免很多问题,组里的人员保持相同的测试环境。

在vCenter里面导入导出ovf或ova非常方便,直接在vCenter GUI里面操作,

最近搭建的这套视频解决方案,有13个VM,那在vCenter里面deploy ova也要进行13此操作,比较耗时。利用ovftool的脚本可以进行自动化部署,非常方便。但是昨天犯了一个很大的错误,同事用ovftool搭建好的一套系统,我修改了必要的参数后直接运行,没想到悲剧发生了同事的一整套环境完全被擦除,被我的系统给覆盖了。很多测试数据都没了,研究下来是因为我的脚本里VM的hostname和同事环境的一样,vCenter里面不允许vm的hostname重复,以及ovftool里面有一个参数是overwrite,如果有重名的VM会强制删除。如果没有该参数,那脚本会直接运行失败,提示原因。

今天花了一天时间才恢复好,记住教训,自动化确实是一把双刃剑。另外,vCenter和host如果不在一个网段,deploy ova的时候速度比较慢。

下面是脚本的sample,可以参考看。

 

#PAM _HOSTNAME="mos-pam1"

_IP0=$_PAM1IP 

_SUBNET0=‘255.255.255.0‘ 

_GATEWAY0=‘10.74.15.1‘ 

_PEER0=$_PAM2IP 

_PEER1=$_PAM3IP 

_DATASTORE=‘S11‘

_VCADDR=‘vi://Administrator:Cisco123@10.79.56.183/MOS/host/10.74.15.250‘ 

_NETWORK1="mgmt" 

_DEPLOYMENT=MOS_SMALL_VM 

_DEVICEMODE=Standard

ovftool --acceptAllEulas \ --noSSLVerify \ --datastore=$_DATASTORE \ --name=$_HOSTNAME \ --net:"Network for adapter 1"=$_NETWORK1 \ --powerOffTarget \ --overwrite \ --powerOn \ --deploymentOption=$_DEPLOYMENT \ --prop:device-mode=$_DEVICEMODE \ --prop:peer0=$_PEER0 \ --prop:peer1=$_PEER1 \ --prop:hostname=$_HOSTNAME \ --prop:domain=$_DOMAIN \ --prop:ip0=$_IP0 \ --prop:subnet0=$_SUBNET0 \ --prop:gateway0=$_GATEWAY0 \ --prop:dns0=$_DNS0 \ --prop:dns1=$_DNS1 \ --prop:dns2=$_DNS2 \ --prop:ntp0=$_NTP0 \ --prop:ntp1=$_NTP1 \ --prop:ntp2=$_NTP2 \ --prop:ext-dns-ip=$_EXTDNSIP \ --prop:ext-dns-key=$_EXTDNSKEY \ --prop:ext-dns-algo=$_EXTDNSALGO \ $_PAMIMAGE \ $_VCADDR &

 

OvF tool之自动化搭建测试环境

标签:

原文地址:http://www.cnblogs.com/yatingyang/p/4353893.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!