当前位置: 代码迷 >> VC/MFC >> 稀泥:vcenter通过模板部署vm
  详细解决方案

稀泥:vcenter通过模板部署vm

热度:92   发布时间:2016-05-02 03:47:17.0
烂泥:vcenter通过模板部署vm

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

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

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

一、生成VM模板

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

clip_image001

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

clip_image002

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

clip_image003

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

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

二、vcenter内部部署VM

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

clip_image004

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

clip_image005

clip_image006

clip_image007

clip_image008

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

clip_image009

clip_image010

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

三、跨vcenter部署

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

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

3.1 导出VM模板

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

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

clip_image011

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

clip_image012

clip_image013

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

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

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

clip_image014

clip_image015

clip_image016

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

3.2 解压VM模板文件

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

clip_image017

要修改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

clip_image018

通过上图,我们可以看到解压后得到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命令加入到系统的环境变量中。如下:

clip_image019

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

tar –xf test-modle.ova

clip_image020

3.2.2 7zip解压

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

clip_image021

clip_image022

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

3.3 修改VM模板文件

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

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

vim test-modle.ovf +96

clip_image023

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

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

clip_image024

修改之前。

clip_image025

修改之后。

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

clip_image026

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

clip_image027

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

clip_image028

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

clip_image029

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

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

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

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

3.6 导入VM模板

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

clip_image030

clip_image031

clip_image032

clip_image033

clip_image034

clip_image035

clip_image036

clip_image037

clip_image038

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

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

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

clip_image039

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

clip_image040

clip_image041