如何动态地给vSphere虚拟机模板注入信息
在做vSphere自动化安装过程中,遇到这样一个需求:将vCenter Server做成模板,在给用户自动化装好vSphere后,
下载vCenter Server模板并启动虚拟机,然后将vCenter Server的IP返回给用户,用户即可使用vSphere集群。
可是vCenter Server的IP不是固定的,而是在自动化安装vSphere集群请求到来时由网络模块分配并发送过来的,因
此在做vCenter Server模板时是无法写入某个IP的。那如果在vCenter Server虚拟机启动前,将网络模块发送过来的IP
注入到模板的配置文件中,然后vCenter Server虚拟机启动后使用内部命令获取到这个IP给自己配上,这样用户就可
以使用该IP连接vCenter Server了。
这个哥们写了很多VMware相关的技术文章,但还是没有提到这个问题的解决办法,韦哥经过自己琢磨,找到一种方
法:
在vSphere中,每个虚拟机都带有一个后缀名为vmx的文件,这个文件干嘛呢,看这里。在虚拟机启动前,往vmx文
件注入一些信息,shell脚本如下:
echo guestinfo.mgr_ip = "$cluster_ip" >> /vmfs/volumes/$datastore/vcenter_server/vcenter_server.vmx
echo guestinfo.mgr_netmask = "$cluster_netmask" >>/vmfs/volumes/$datastore/vcenter_server/vcenter_server.vmx
echo guestinfo.mgr_gateway = "$cluster_gateway" >>/vmfs/volumes/$datastore/vcenter_server/vcenter_server.vmx
其中cluster_ip,cluster_netmask,cluster_gateway的值就是之后vCenter Server启动后给自己配置的IP信息。然后
在宿主机内启动vCenter Server虚拟机:
#Power VCSA on
vim-cmd vmsvc/getallvms|grep vcenter_server|awk {'print $1'}|xargs vim-cmd vmsvc/power.on
在vCenter Server内部,第一次开机启动时,执行下面的命令提取出之前注入配置文件的IP信息,给自己配上:
cluster_ip=`vmtoolsd --cmd "info-get guestinfo.mgr_ip"`
cluster_netmask=`vmtoolsd --cmd "info-get guestinfo.mgr_netmask"`
cluster_gateway=`vmtoolsd --cmd "info-get guestinfo.mgr_gateway"`
sed -i "s/IPADDR=/IPADDR=$mgr_ip/g" /etc/sysconfig/network/ifcfg-eth0
sed -i "s/NETMASK=/NETMASK=$mgr_netmask/g" /etc/sysconfig/network/ifcfg-eth0
echo "$mgr_gateway" >> /etc/sysconfig/network/routes
完,如果这个方法对你有用,请点个赞,好让韦哥知道真还有人用到。
如何动态地给vSphere虚拟机模板注入信息的更多相关文章
- 华为云计算IE面试笔记-桌面云中的用户组、虚拟机模板、模板虚拟机、虚拟机组和桌面组的关系及区别。发放完整复制和链接克隆虚拟机时,步骤有什么区别,要怎么选择桌面组?
概念解释: 模板虚拟机:FC上创建的裸虚拟机,用于制作不同类型的虚拟机模板. 虚拟机模板:用于创建虚拟机的模板,对裸虚拟机(模板虚拟机)进行配置或自定义安装软件后,转为模板.虚拟机模板类型有完整复制, ...
- python 模板注入
今天学习了python的模板注入,这里自己搭建环境测试以下,参考文章:http://www.freebuf.com/articles/web/136118.html web 程序包括两个文件: fla ...
- 威胁预警|Solr velocity模板注入远程命令执行已加入watchbog武器库,漏洞修补时间窗口越来越短
概述 近日,阿里云安全团队监测到挖矿团伙watchbog更新了其使用的武器库,增加了最新Solr Velocity 模板注入远程命令执行漏洞的攻击方式,攻击成功后会下载门罗币挖矿程序进行牟利.建议用户 ...
- SSTI(服务器模板注入)学习
SSTI(服务器模板注入)学习 0x01 SSTI概念 SSTI看到ss两个字母就会想到服务器,常见的还有SSRF(服务器端请求伪造).SSTI就是服务器端模板注入(Server-Side Templ ...
- 1. SSTI(模板注入)漏洞(入门篇)
好久没更新博客了,现在主要在作源码审计相关工作,在工作中也遇到了各种语言导致的一些SSTI,今天就来大概说一下SSTI模板注入这个老生常谈的漏洞 前言 模板引擎 模板引擎(这里特指用于Web开发的模板 ...
- SSTI服务端模板注入漏洞原理详解及利用姿势集锦
目录 基本概念 模板引擎 SSTI Jinja2 Python基础 漏洞原理 代码复现 Payload解析 常规绕过姿势 其他Payload 过滤关键字 过滤中括号 过滤下划线 过滤点.(适用于Fla ...
- [New Portal]Windows Azure Virtual Machine (11) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (1)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (12) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (2)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
- [New Portal]Windows Azure Virtual Machine (13) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (3)
<Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...
随机推荐
- 关于hadoop学习的思考(一) —— 小的知识点的总结
一.对于CDH的小总结: CDH:是Cloudera公司在Apache开源项目hadoop的基础上发型的,共有五个版本前两个已不再更新,最经的两个分别是CDH4(基于hadoop2.0.0版本演化而来 ...
- Centos 6.5升级openssh到7.5p1版本
centos6自带的ssh版本较低,存在高危漏洞,目前部分服务器需要升级到最新版本(目前是7.5p1). 注:升级ssh存在一定的危险性,一旦不成功可能无法通过远程连接到系统,因此在升级之前最好有远程 ...
- HDu-1247 Hat’s Words,字典树裸模板!
Hat's Words 题意:给出一张单词表求有多少个单词是由单词表里的两个单词组成,可以重复!按字典序输出这些单词. 思路:先建一个字典树,然后枚举每个单词,把每个单词任意拆分两部分然后查找. 目测 ...
- php5.3.3版本前后变化中php-v和sbin/php-fpm -v
重装php-fpm试试,遂去http://php-fpm.org/download/想下载个新版本的php-fpm, 结果发现版本大于5.3.3的PHP内部已经集成了php-fpm,不用再另行安装了. ...
- RocketMQ VS kafka
转自:https://github.com/alibaba/RocketMQ/wiki/rmq_vs_kafka 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用MySQL作为消息存 ...
- BZOJ 2246 [SDOI2011]迷宫探险 ——动态规划
概率DP 记忆化搜索即可,垃圾数据,就是过不掉最后一组 只好打表 #include <cstdio> #include <cstring> #include <iostr ...
- 北京集训TEST13——PA(Goodness)
题目: Description 桌面上放有 n 张卡牌.对于每张卡牌,一面是绿色的,另一面是红色的.卡牌的每一面都标有一个整数.对于卡牌a和卡牌b,卡牌a对卡牌b的好感度为卡牌a绿色面的数与卡牌b红色 ...
- 转:WOM 编码与一次写入型存储器的重复使用
转自:WOM 编码与一次写入型存储器的重复使用 (很有趣的算法设计)——来自 Matrix67: The Aha Moments 大神 计算机历史上,很多存储器的写入操作都是一次性的. Wikiped ...
- linux和windows下分别如何查看电脑是32位的还是64位?
WINDOWS下查看的方法: 方法一. 在开始→运行中输入“winver”,如果您的系统是64位的,会明确标示出“x64 edition”. 方法二.(推荐) 在cmd窗口中输入systeminfo回 ...
- java中执行JS脚本
package 测试包; import javax.script.*; public class SSSSSSSSS { public SSSSSSSSS() { // TODO Auto-gener ...