vsphere6.7 sdk通过自定义规范部署虚拟机

vsphere6.7 sdk通过自定义规范部署虚拟机-采坑记

1、项目简单描述,之前因项目一直使用vsphere6.5之前版本,所以采用的是vijava版本进行vsphere sdk开发(大家都用这个),但是很可惜在vspher升级为6.7版本之后,vijava对6.7版本的支持不在免费了,出现了vijavaNG6.7商业版本。所以vijava调用vsphere sdk 拜拜。

 

2、vsphere6.7 sdk使用

vsphere虽然出现了6.7版本,但是幸好(也是大趋势)6.7版本出现了restful api调用方式,所以操作虚拟机就灰常简单了,我高兴的使用rest api调用vm api.

3、采坑开始

虚拟机的正常操作:开机、关机、挂载、切换网络等都可以操作,但是诡异的是vmware 未提供虚拟机克隆时静态ip的设置和密码修改,翻遍了api都未找到相关接口。这块客户不同意使用dhcp必须使用静态ip。

无解的情况下,开始研究原生sdk,发现大家还是都通过vijava调用sdk很少用原生sdk去开发相关产品,我没辙公司不愿意出钱购买商业版、客户不同意使用dhcp,我又想用静态ip所以。。。

根据研究:原生sdk克隆虚拟机采用的是clone_task其中最主要的一个参数自定义规范。在使用自定义规范的时候切记,此处是重点:

先说为什么要使用自定义规范,一方面自定义规范可以设置静态Ip、密码最主要的是windows系统的sid重复问题,这个在域账户中很重要。

windows系统:

自定义 Windows 客户机操作系统需要满足以下条件:

必须在 vCenter Server 系统中安装 Microsoft Sysprep 工具。请参见安装 Microsoft Sysprep 工具

虚拟机运行所在的 ESXi 主机必须是 3.5 或更高版本。

在多个 Windows 操作系统上支持自定义客户机操作系统。

linux系统:

自定义 Linux 客户机操作系统要求 Linux 客户机操作系统中已安装 Perl。

在多个 Linux 分发上支持自定义客户机操作系统。

但是经过测试发现,还是不行不管是windows系统还是linux系统,后经研究发现模板未安装vmtools工具,开始安装vmtools工具windows系统安装很简单,cd-dvd引导tool.iso,然后打开电脑打开cd,双击运行exe,toos安装完成。

redhat系统:偶尔有的系统在将tools工具挂载了但是不会自己安装,需要手动安装,手动安装参考:

CentOS7安装VMware Tools

安装依赖包

[root@localhost ~]# yum -y install perl gcc gcc-c++ make cmake kernel kernel-headers kernel-devel net-tools

加载vmware tools 到CentOS7光驱CD-ROM

点击菜单 `虚拟机` ——> `安装VMware Tools(T)...`

将CD-ROM挂载到指定目录

通常情况下都是将设备目录 /dev/crrom 挂载到 /mnt/cdrom 目录,

如果 /mnt 目录下不存在 cdrom 目录则创建
  • 不存在 /mnt/cdrom 则创建
    [root@localhost ~]# mkdir -p /mnt/cdrom
  • 挂载目录
    [root@localhost ~]# mount -t auto /dev/cdrom /mnt/cdrom
    mount: /dev/sr0 is write-protected, mounting read-only

拷贝安装包到用户家目录

[root@localhost ~]# cp /mnt/cdrom/VMwareTools-10.0.5-3228253.tar.gz ~

解除挂载

[root@localhost ~]# umount /dev/cdrom

解压安装包

[root@localhost ~]# tar -zxvf VMwareTools-10.0.5-3228253.tar.gz

安装VMware Tools

复制代码

> 进入到解压后源码目录

[root@localhost ~]# cd vmware-tools-distrib/

> 运行 `vmware-install.pl` 文件

[root@localhost vmware-tools-distrib]# ./vmware-install.pl 

复制代码

然后一路Enter即可

 

ok安装成功。接下来开始测试发现window系统完美设置了自定义静态IP和密码。linux redhat系统完美,centos系统(虽然底层也是redhat),不行ip竟然未设置成功。我头发掉完了。熬夜开始研究最终在一片文章中发现问题

发现以上情况与模板/虚拟机的“客户机操作系统”性质有关。笔者初时在创建CentOS-Temp虚拟机时,“客户机操作系统”选择的是“CentOS4/5/6 (64位)。”后来重新建虚拟机,将“客户机操作系统”性质一项设置为“Red Hat Enterprise Linux 6 (64位)”,虚拟机配置完成后,再转换成模块,便可以从自定义规范部署。

终于完美通过。。。。但是有点遗憾vmware关于linux设置密码没有相关的接口或者设置。有懂的人不吝赐教下。

qq:316681406

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值