简介

vsphere虚拟化实现从模板克隆虚拟机,通过自定义规范管理器实现对虚拟机的主机名、IP地址、网关、dns等的定制。

vsphere自定义规范管理器实现有两种方式,一种是通过vsphere client;另一种通过pyvmomi。

本次我们主要以Centos7.5的定制做主要讲解。

名称版本备注
vCenter5.5.0-218311vCenter Server 5.5 Update 2b
Centos7.5192.168.3.253
pyvmomi6.7.3
python2.7.15

其中centos7.5的模板我们已经提前准备完毕。

参考链接:
1.pyvmomi
2.vCenter与操作系统自定义版本对应
3.Centos7安装
4.VMware vCenter 内部版本号和版本对应关系

第一个链接是本次使用通过pyvmomi操作vsphere的官方实例
第二个链接是当前vCenter自定义规范支持的各操作系统的版本对应
第三个链接是在虚拟化中Centos7安装文档

vsphere client

vsphere client 因为是界面话,操作比较建档。

1.创建自定义规范管理器
在这里插入图片描述
其中域名localhost 主要指的是在本地hosts中搜索域名,如“192.168.3.222 xxx.localhost”中的

2.自定义设置

在这里插入图片描述
其中我们已经将默认的网关及子网掩码设置完毕。

设置时区及dns设置我们在此没有截图,根据实际情况配置即可。

3.从模板部署虚拟机

输入虚拟机名称,选择文件夹、集群、主机、存储等
在这里插入图片描述
选择我们创建的自定义规范Centos7.5
在这里插入图片描述
输入主机名,即hostname;填写IP地址;
在这里插入图片描述
最后虚拟机依次将进行克隆、自定义,直至完成。

到此或许大家认为热乎乎的定制虚拟机已经完成,可结果让大家非常失望:
1.hostname没有设置成功;
2.ip地址也没有设置设置成功,但是网卡里面的配置是OK的(某些情况会多出ifcfg-ether的网卡配置);

为什么呢?
1.我们先来看下vCenter与操作系统自定义版本对应

当前测试环境的vCenter 为5.5u2,可支持的自定义为Centos6.x。因此我使用了一个Centos6.5模板进行克隆,结果证明自定义规范生效。

在这里插入图片描述
2.查看新建的虚拟机日志/var/log/vmware-imc/toolsDeployPkg.log,看出警告识别不了Centos7操作系统版本
在这里插入图片描述
从以上两点,vCenter5.5u2可以支持rhel7,那我们是否可以将Centos7.5的版本号改为rhel7的呢?

我们重新将模板转换为虚拟机并修改Centos7.5的版本信息,再转换成模板:

rm -f /etc/redhat-release && touch /etc/redhat-release && echo "Red Hat Enterprise Linux Server release 7.0 (Maipo)" > /etc/redhat-release

修改完成后,我们再从新从模板自定义克隆虚拟机,最终完美实现主机名和IP的定制,过程耗时大约1分6秒左右。

我们再来看下自定义规范日志:
在这里插入图片描述最终如下图:
1.主机名修改为we123并自动添加至本地hosts

注意:克隆模板时设计到两个名称,一是虚拟机名称,二是域名,三是计算机名称
虚拟机名称在此我们设置的和计算机名称一样,但是域名如果设置为test,搜索域名在hosts中将为we123.test

2.IP地址由原来模板的192.168.3.253 已修改为 192.168.3.254
在这里插入图片描述
由于截图原因导致篇幅较长,pyvmomi实现自定义规范我们在下一篇博文vmware自定义规范定制虚拟机(二)-pyvmomi

参考博文:部署 – 从vSphere 5.5 – 从模板部署Centos 7会忽略自定义

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐