esxi
来源:互联网 发布:linux 开启snmp 编辑:程序博客网 时间:2024/06/04 18:30
准备
OVF模板准备
- 安装 centos 6.8
- 初始化
- 部署vmware tools
- ovf 文件制作
#!/bin/bashmycpu=$1mymem=$2mydisk=$3if $1 || $2 || $3;then echo "需要输入三个参数!" echo "例如如果想新建一个1核心1GB20GB的ovf,输入 ./xx 1 1 20" exitfiecho $mycpu $mymem $mydiskovfFileName="$mycpu.$mymem.$mydisk.ovf"mfFileName="$mycpu.$mymem.$mydisk.mf"cp -f $mydisk.ovf $ovfFileNamesed -i "s:mycpu:$mycpu:g" $ovfFileNamesed -i "s:mymem:$mymem:g" $ovfFileNameopenssl dgst -sha1 $ovfFileName > $mfFileNameopenssl dgst -sha1 $mydisk.vmdk >> $mfFileName
部署
一台虚拟机作为中转
- 资料打过去
- dnsmasq服务器
看看哪个机器上面跑哪些虚机
#!/usr/bin/env python#coding:utf-8import jsonmental_server_type = { 'cpu': 42, 'mem': 200}# target,初始化一百台服务器machines = []for i in range(50): a = {} a['cpuused'] = 0 a['memused'] = 0 a['yw'] = [] a['yw2'] = [] machines.append(a)# IP地址编号def main(): with open("./info2.txt") as f: ip_bianhao = 10 for line in f: #print line info = line.replace("\r", "").replace("\n", "").split(",") yw_name = info[0] yw_instance_type = info[2] yw_instance_count = int(info[1]) instance_used_cpu = int(yw_instance_type.split(".")[0]) instance_used_mem = int(yw_instance_type.split(".")[1]) instance_used_disk = int(yw_instance_type.split(".")[2]) for number in range(0,yw_instance_count): guest_name = yw_name + "+" + str(instance_used_cpu) +"." + str(instance_used_mem)+"."+ str(instance_used_disk) for machine in machines: if machine['cpuused'] + instance_used_cpu < mental_server_type['cpu'] and machine['memused'] + instance_used_mem < mental_server_type['mem'] and guest_name not in machine['yw']: machine['yw'].append(guest_name ) machine['yw2'].append(guest_name + "+" +str(ip_bianhao) ) ip_bianhao = ip_bianhao + 1 machine['cpuused'] += instance_used_cpu machine['memused'] += instance_used_mem breakmain()# 直接打印print "*"*60for machine in machines: if machine['memused'] !=0: print machine# 详细打印print "*"*60cpu_used_total = 0mem_used_total = 0instance_total = 0for machine in machines: if machine['memused'] !=0: cpu_used_total += machine['cpuused'] mem_used_total += machine['memused'] instance_total += 1print """一共消耗cpu: %s, mem: %s, instnaces: %s"""%(cpu_used_total,mem_used_total,instance_total)# 直接打印print "*"*60i = 1for machine in machines: if machine['memused'] !=0: print "-"*30 + "打印第%s服务器的虚拟机列表"%i + "-"*30 for item in machine['yw2']: #print item item2 = item.split("+") result = "%s-IP%s,%s"%(item2[0],item2[2],item2[1]) print result i += 1
在中转机器上执行OVF部署操作
- 批量部署脚本
- 每台机器上面执行
#!/bin/shcat create.txt | while read linedo echo $line vmname=`echo $line | awk -F, '{print $1}'` vmsize=`echo $line | awk -F, '{print $2}'` echo /vmfs/volumes/datastore1/vmware-ovftool/ovftool -dm=thin -ds=datastore1 '--net:bridged=VM Network' "--name=$vmname" http://192.168.0.88:1280/ovf/${vmsize}.ovf 'vi://root:fOgLnr1D@192.168.0.216'done
部署完成后, 获取mac地址ip地址列表
#!/bin/shecho '' > /tmp/dhcp.txtvim-cmd vmsvc/getallvms | grep vmx > /tmp/vmx.txtcat /tmp/vmx.txt | while read linedo vmid=`echo $line | awk '{print $1}'` vmname=`echo $line | awk '{print $2}'` vmip=`echo $vmname | awk -F\- '{print $NF}'` vmip=`echo $vmip | awk -FP '{print "192.168.0."$NF}'` vmmac=`vim-cmd vmsvc/device.getdevices $vmid | grep macAddress | awk -F\" '{print $2}'` echo "$vmid $vmname $vmip $vmmac" echo "dhcp-host=$vmmac,$vmip" >> /tmp/dhcp.txtdonecat /tmp/dhcp.txt
打扫战场
TO BE CONTINUE
0 0
- esxi
- esxi
- esxi
- esxi
- esxi
- esxi
- esxi
- esxi
- esxi
- esxi
- esxi
- esxi
- ntp esxi
- ESXI系统升级
- ESXi常用命令
- nagios ESXI
- esxi gui
- Esxi激活
- 机器学习之-分类性能指标-准确率-召回率-ROC曲线
- ZARCHIVE_WRITE(限制用于Z表)
- FFMPEG 图像拉伸缩放及数据格式转换
- 软件测试面试题
- C#学习心得
- esxi
- 关于.net连接mysql时配置文件要怎么写
- 【设计模式】面向对象原则
- 微信小程序开发过程中总结的注意事项
- 包围球的计算
- <感受2>
- 最容易懂得红黑树
- Android多渠道打包实战
- 读《Redis入门指南》2