本文由ilanniweb提供友情赞助,首发于烂泥行天下

想要获得更多的文章,可以关注我的微信ilanniweb。

前一篇文章我们介绍了有关vcenter5.5的安装与配置,这篇文章我们再来介绍下,如何通过vcenter的vm模板来部署虚拟机以及在部署过程遇到问题的解决方法。

一、生成VM模板

要生成vm模板,我们首先要安装好一台虚拟机,在此我安装好了一台centos6.6的机器。如下:

要把一台vm做成模板,需要在vm关机状态下进行操作。如下:

选择虚拟机—“模板”—“转换成模板”。

通过以上两张图的对比,我们可以发现vm在做成vm模板前后的图标是不一样的。这样我们的vm模板就已经生成了。

注意:虚拟机和vm模板之间的转换是非常简单的,两者可以互相转换。

二、vcenter内部部署VM

现在有了vm的模板,如果我们想在此vcenter上快速部署vm的话,我们就可以直接使用此vm模板进行部署了。如下:

注意:以下除非很重要的步骤,否则不会加文字说明的。

注意:如果想自定义vm的话,我们可以在此步骤进行相关的配置。

到此一台新的vm就已经部署成功了,当然该新vm其他的相关参数,还需要我们进行调整。在此我们就不进行介绍了。

三、跨vcenter部署

有时候我们为了测试一台新的vm,需要把该vm导入到其它的vcenter中。这就属于跨vcenter部署vm。

要跨vcenter部署vm,需要我们进行以下操作。

3.1 导出VM模板

首先我们要把vm作为一个模板导出,选中要导出的vm模板。当然导出的不一定是vm模板,也可以是一台vm。

在此我们使用的vm模板,如下:

“文件”—“导出”—“导出OVF模板”:

注意:上图中有关导出文件格式需要我们注意下,我们可以选择单个文件ova格式和文件夹ovf格式。

其中单个文件ova格式其实是ovf格式的一个压缩文件,我们可以通过tar命令或者7zip解压ova格式文件得到ovf格式文件。

因为ova文件携带比较方便(就一个文件),所以在此我们选择导出的是ova格式文件。

到此vm的模板我们已经导出来了。

3.2 解压VM模板文件

为什么要解压vm模板呢?是因为如果不修改vm模板的话,我们在导入vm模板是会提示找不到未能部署OVF包:找不到文件之类的错误信息。如下:

要修改vm模板,我们就要解压vm模板文件vm-mould.ova。ova文件解压后,我们可以得到三个文件xxx.vmdk, xxx.ovf, xxx.mf。

ova文件的解压,我们可以通过7zip、tar两种方法。下面分别介绍下。

3.2.1 tar解压

要使用tar命令进行解压,我们可以把ova文件上传到Linux上,然后在进行解压。如下:

tar –xf test-modle.ova

通过上图,我们可以看到解压后得到xxx.ovf、xxx.vmdk、xxx.mf三个文件。

其中ovf文件表示vm的相关配置,比如内存大小、硬盘大小、网络连接方式等等。此文件类似kvm虚拟化中的xml配置文件。

vmdk文件是vm的硬盘文件。

mf文件主要作用是为验证vm的相关配置是否被恶意篡改。

当然,如果不想上传到Linux系统上进行解压,我们也可以下载tar命令的windows版本。下载连接如下:

http://gnuwin32.sourceforge.net/packages/gtar.htm

下载安装完毕后,ar命令还是不能直接使用的,需要我们手工把tar命令加入到系统的环境变量中。如下:

加入系统变量后,我们再执行解压命令。如下:

tar –xf test-modle.ova

3.2.2 7zip解压

要使用7zip解压,我们必须是在windows平台下的。安装7zip软件,然后进行解压。如下:

通过上图,我们可以看到ova文件解压后,确实得到三个文件test-modle.ovf、test-modle-disk1.vmdk、test-modle.mf。

3.3 修改VM模板文件

修改vm模板文件,其实只需要我们修改ovf文件即可。

在Linux系统下,修改方式如下:

vim test-modle.ovf +96

我们只需要把ovf文件的96行的vmware.cdrom.iso修改为vmware.cdrom.remotepassthrough。

在windows系统下,修改方式如下:

修改之前。

修改之后。

3.4 验证VM模板文件的sha1值

vm文件修改完毕后,我们还要验证模板文件的sha1值,否则我们在导入vm模板时也是会报错的。

上述我们修改了ovf文件,那么我们只需要验证该文件就行。如果我们还修改了vmdk文件,那么我们也需要验证该文件。

验证完毕后,把得到的sha1值,写到mf文件中即可。注意:mf文件中原来是有ovf和vdk文件的sha1值得。

根据验证平台的不同,我们分别介绍Linux和Windows下的验证方式。

3.4.1 Linux下验证

Linux下的验证比较方便直接使用sha1sum命令进行,然后把验证的ovf文件sha1值写到mf文件中即可。如下:

sha1sum test-modle.ovf

cat test-modle.mf

3.4.2 Windows下验证

windows平台下的验证,我们可以使用微软提供的用于计算文件的MD5和SHA1散列值的工具fciv。文件校验和完整性验证程序fciv是一个命令提示符工具计算并验证文件的加密哈希值。fciv可计算 SHA1或MD5加密哈希值。这些值可以是屏幕上显示或保存为以后使用和验证XML文件数据库。

fciv常用示例如下:

fciv d:\mydir\myfile.exe(计算D盘mydir文件夹下myfile.exe的md5值)

fciv d:\mydir\myfile.exe -sha1(计算D盘mydir文件夹下myfile.exe的sha1值)

下载fciv运行后,解压缩,会提示你放在那个文件夹下。解压的文件夹只包含两个文件fciv.exe、readme.txt。

现在我们开始使用fciv命令验证ovf的sha1值,如下:

fciv test-modle.ovf -sha1

验证后把得到的sha1值写到mf文件中,如下:

3.5 生成ova文件

vm模板文件验证完毕后,我们现在要把ovf、vmdk、mf文件打包成ova文件。

要打包成ova文件,我们目前需要使用tar命令进行打包。如下:

tar -cf test-modle.ova test-modle.ovf test-modle-disk1.vmdk test-modle.mf

注意:上述tar打包命令文件的顺序一定要按照上述格式进行,否则在导入该vm模板时,vcenter会报错。

ovf压缩包对文件顺序的要求是:ovf文件必须是第一个,然后是虚拟机镜像文件(如vmdk),接着是mf文件,再接下来是其他的可选文件(如证书等)。

有关ovf文件的打包,可以参考这个连接:

http://mingjin.thoughtworkers.org/?cat=24

3.6 导入VM模板

vm模版文件修改完毕后,我们选择把该模板导入到新的vcenter中。如下:

到此vm的模板已经被导入进去了。

四、有关一个esxi被多个vc连接

有时候在使用vcenter时,会碰到这样的问题一个esxi会被其他的vcenter使用。此时我们使用的vcenter会显示该esxi节点处于离线状态。如下:

如果要重新连接该esxi的话,进行操作如下:

烂泥:vcenter通过模板部署vm的更多相关文章

  1. MVC5模板部署到mono

    VS2013中的MVC5模板部署到mono上的艰辛历程 2014-10-27 09:30 by FuzhePan, 3954 阅读, 46 评论, 收藏, 编辑 部署环境:CentOS7 + Mono ...

  2. Ansible_使用jinja2模板部署自定义文件

    一.jinja2简介 1.jinja2模板 1️⃣:Ansible将jinja2模板系统用于模板文件,Ansible还使用jinja2语法来引用playbook中的变量 2️⃣:变量和逻辑表达式置于标 ...

  3. 脚本两则--用于快速部署HADOOP,SPARK这些(特别是VM虚拟机模板部署出来的)。。

    感觉可能只是适合我自己的部署习惯吧,且只针对CENTOS6及以下版本,以后有时间,可能还是要改进.. 1,从VM的模块产生的虚拟机,如何快速搞定网络配置? #!/bin/bash #usage:./i ...

  4. 利用模板在RM里部署VM

    Refer to: https://www.azure.cn/documentation/articles/virtual-machines-windows-ps-template/ 过程中遇到的几个 ...

  5. 小脚本一则---CDH的批量部署中,如果是从ESXI的VCENTER的模板生成的虚拟机,如何快速搞定网络网络卡配置?

    当然,在作模板的过程中,我们除了要定义好SELINUX,IPTABLES之后, HOSTS文件维护,用ZOOKEEPER还是RSYNC实现? 都要在前期好好规划.. 脚本如下,一般改成自己的就可以用. ...

  6. 使用ARM模板部署自动扩展的Linux VMSS(1)

    在Azure之前的ASM版本或者经典模式中,用户使用Azure Website,Azure Cloud Service等PAAS服务,可以实现一定程度上的自动扩展(auto scaling),但有着诸 ...

  7. vSphere SDK for Java - 从模板部署虚拟机并配置IP地址

    vSphere for Java类库:vijava    虚拟机配置类 package com.vmware.vcenter_event.VirtualMachine; import com.vmwa ...

  8. VS2013中的MVC5模板部署到mono上的艰辛历程

    部署环境:CentOS7 + Mono 3.10 + Jexus 5.6 在Xamarin.Studio创建的asp.net项目,部署过程非常顺利,没有遇到什么问题:但在VS2013中创建的asp.n ...

  9. 烂泥:使KVM显示VM的IP地址及主机名

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. KVM虚拟化学习已经有一段时间了,现在虚拟化软件比较多,对比了下目前使用比较多的VMware Vsphere.发现在不进入VM系统的情况下,Vspher ...

随机推荐

  1. python问题记录

    今天才python群里看到一个问题 python2.7: L = [x for x in 'hello'] print L print x python3.4: L = [ x for x in 'h ...

  2. Java集合源码分析(五)HashSet<E>

    HashSet简介 HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持.它不保证set 的迭代顺序:特别是它不保证该顺序恒久不变.此类允许使用null元素. HashSet源 ...

  3. 理解Ruby中的作用域

    作用域对于Ruby以及其它编程语言都是一个需要理解的至关重要的基础知识.在我刚开始学习ruby的时候遇到很多诸如变量未定义.变量没有正确赋值之类的问题,归根结底是因为自己对于ruby作用域的了解不够, ...

  4. javascript之八——BOM

    8.1 window对象 BOM的核心对象是window--表示浏览器的一个实例.window有双重角色: 是通过javascript访问浏览器窗口的一个接口: 是ECMAScript规定的Globa ...

  5. android 去掉标题

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FUL ...

  6. Tomcat性能调优方案

    一.操作系统调优 对于操作系统优化来说,是尽可能的增大可使用的内存容量.提高CPU的频率,保证文件系统的读写速率等.经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快.. ...

  7. (转)B-树、B+树、B*树

    B-树 是一种多路搜索树(并不是二叉的): 1.定义任意非叶子结点最多只有M个儿子:且M>2: 2.根结点的儿子数为[2, M]: 3.除根结点以外的非叶子结点的儿子数为[M/2, M]: 4. ...

  8. 谈谈GIS与地理学语言

    二十一世纪初,也就是我们这代人生活的昨天和今天,伴随着"空间觉醒",GIS逐渐被人们所熟知.以地学原理为依托的地理信息系统,在学术界被称为是第三代地理学语言.这个概念首先是由号称是 ...

  9. Python统计学技术环境

    http://www.lfd.uci.edu/~gohlke/pythonlibs/#sympy 1.1. Python 1.1.1. NumPy pip install numpy-1.11.0+m ...

  10. Oracle function real_st_astext,解决ArcSDE中st_astext函数返回字符串结构异常问题

    项目过程中发现在Oracle中调用ArcSDE的st_astext函数返回ST_Geometry类型字段的WKT文本有时空间类型前缀没有返回,例如一个点的经度为113.4,纬度为30.6,调用st_a ...