前一篇文章我们介绍了有关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 �Cxf 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 �Cxf 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的话,进行操作如下: