zoukankan      html  css  js  c++  java
  • 如何动态地给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


    完,如果这个方法对你有用,请点个赞,好让韦哥知道真还有人用到。

  • 相关阅读:
    Java 基础 泛型
    Hibernate 注解
    Head Fisrt Android Development读书笔记(7)Database Persistent
    ruby中的Enumerable的使用
    [置顶] 从small到safe,形容词的学问
    Silverlight中DomainDataSource的一种Debug方法
    [置顶] 从高中一次半夜不冲厕所的经历谈程序
    [置顶] 视频网站:一炷香后即将为您播放精彩内容
    Android. Handling some SQLite issues
    查找ruby方法(以rails为例)
  • 原文地址:https://www.cnblogs.com/woshiweige/p/4518423.html
Copyright © 2011-2022 走看看