需求:

1.root磁盘120G(这个在做镜像的时候已经做好)

2.需要用到share网络

3.添加500G磁盘并且挂载早虚拟机上面

#!/bin/bash
zone_id=d530fee4-413a-463b-abf5-4fdcf523077b
network_id=96eb15a6-ccd3-4e33-adf0-b5f3e63e2466
serviceofferingid='b1fb445d-2571-4803-a3f5-93f0ad81b245'
templateid='6d2a206a-eecb-4ba2-b6ab-7db8f38a7b00'
diskOffering_id='049de7c5-48db-4f10-83fe-be54ebb61cc7'
centos_ips="172.18.3.114..115,"
cli='cloudmonkey'

function parseIps()
{
ips=`echo $* | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}(\.\.[0-9]{1,3})?"`
#TODO: needs validate ip
for i in `echo $ips`
do
ipPre=`echo $i | cut -d '.' -f -3`
ipStart=`echo $i | cut -d '.' -f 4`
# if $i.contain("..")
if [[ $i == *..* ]]; then
ipEnd=`echo $i | cut -d '.' -f 6`
for ((j=$ipStart; j<=$ipEnd; j++))
do
echo $ipPre.$j
done
# else !$i.contain("..")
else
ipEnd="$ipStart"
echo $ipPre.$ipStart
fi
done
}

function create_vm()
{
centos_iplist=`parseIps $centos_ips`
echo "starting to create centos vm:"
for ip in $centos_iplist
do
a=`echo $ip | cut -d '.' -f 3`
b=`echo $ip | cut -d '.' -f 4`
echo "create haha $a-$b..."
$cli deploy virtualmachine zoneid=$zone_id templateid=$templateid serviceofferingid=$serviceofferingid displayname=haha$a-$b ipaddress=$ip networkids=$network_id
$cli create volume name=haha$a-$b zoneId=$zone_id diskOfferingId=$diskOffering_id
#todo: to attach volume to the vm
volume_id=`$cli list volumes|grep -B1 "name = haha$a-$b" |awk 'NR==1{print }'|awk '{print $3}'`
#echo $volume_id
vm_id=`$cli list virtualmachines|grep "displayname = haha$a-$b" -B15|awk '/^id = /{print}'|awk '{print $3}'`
echo $vm_id

$cli attach volume id=$volume_id virtualmachineid=$vm_id

done
}
create_vm

用cloudmonkey批量创建虚拟机的更多相关文章

  1. VMware workstation批量创建虚拟机和自动化安装操作系统(一)

    一. 简述 作为从事IT行业运维工作的Linuxer,大多情况下需要在测试环境中部署业务系统并进行测试,在没有足够的计算存储网络条件下,使用虚拟机进行虚拟集群的创建和使用,是一种不错的学习和实践方式. ...

  2. VMware workstation批量创建虚拟机和自动化安装操作系统(二)

    一. 简述 在上一篇<VMware workstation批量创建虚拟机和自动化安装操作系统(一)>中,主要介绍了VMware workstation自定义创建虚拟机的过程,和一些其他的有 ...

  3. Vcenter5.5+vmwarePowercli6.5+powershell5批量创建虚拟机

    另存为xxx.ps1 ##########################通过模版批量部署虚拟机以下内容需要人工定义变量####################### #Vcenter的IP $vce ...

  4. KVM 一键批量创建虚拟机

    目录 一.原理 二.基础镜像 2.1.创建基础镜像 2.2. 完善基础镜像 2.3.基础镜像设置权限 3.4 设置 title 3.5.基础镜像XML 三.批量创建机器脚本 四.挂载磁盘多种方式 4. ...

  5. vmrun 批量创建vmware虚拟机

    1 准备模板机 具体步骤如下: 1. 下载镜像安装系统 https://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/ 2. 安装完成配置好IP ,关闭 ...

  6. powercli创建虚拟机步骤及批量创建脚本

    https://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.powercli.cmdletref.doc%2FSet-OSCust ...

  7. 如何在Windows中批量创建VMware的虚拟机

    在最近的工作中,需要创建一批类似的机器.在VMware中创建了模板,然后根据自义向导部署之后,发现可以快速的完成新vm的部署.系统中的计算机名,IP地址都可以自动的完成更新.唯一的缺点是,系统自带的向 ...

  8. 批量创建10个用户stu01-stu10

    1.批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell循环(例如:for,while等),只能用命令及管道实现. ##方法1: [root@server tmp]# ...

  9. 使用Azure REST API创建虚拟机

    Hollis Yao, Shihao Rong  使用REST API创建虚拟机之前,首先要确保Azure订阅中已经建好了"云服务"和"存储账号".如果没有的话 ...

随机推荐

  1. 在学习使用webpack中遇到的错误

    1.局部安装webpack之后使用node_modules/.bin/webpack app/main.js public/bundle.js命令报错      解决方法:      webpack版 ...

  2. css语法和基本知识

    1.CSS全称为“层叠样式表”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小.颜色.字体加粗等. 注:使用CSS样式的一个好处是通过定义某个样式,可以让不同网页位置的文字有着统一的字体 ...

  3. windows10 java环境变量设置

    由于安装的是jdk1.8所以不需要配置classpath了,只需要配置java_home和path即可. 我的电脑 -> 右键属性 -> 高级系统设置 -> 高级 -> 环境变 ...

  4. 除虫记之C#调用C函数出现的诡异错误

     作者:朱金灿 来源:http://blog.csdn.net/clever101 同事反映在在项目中使用C#程序调用我们部门编写的C++模块出现一个诡异错误:在调用A算法失败后,其它算法均不能调 ...

  5. 转型、自助、移动—BI市场的应用盘点

    近几年是数据应用快速增长而又动荡的一年.由于投资热带来的一波2B产业高潮,围绕数据业务的产品层出不穷,无论是通用型的可视化工具,还是带有业务属性的分析产品. 商业智能BI作为一个曾经先于大数据的企业数 ...

  6. 数组、ArrayList、链表、LinkedList

    数组   数组 数组类型 不可重复 无序(线性查找) 可重复(找到第一个即可) 无序(线性查找) 不可重复 有序(二分查找) 可重复(找到第一个即可) 有序(二分查找) 插入 O(N) O(1) O( ...

  7. SublimeText3常用插件及快捷键总结

    SublimeText可谓是前端工程师的代码编辑神器,自从用上它以后一直爱不释手,特别是它强大的插件功能,简直要逆天了.网上也有很多关于SublimeText3的各种插件介绍,其插件功能之多,让人眼花 ...

  8. 表的垂直拆分和水平拆分-zz

    https://www.kancloud.cn/thinkphp/mysql-design-optimalize/39326 http://www.cnblogs.com/nixi8/tag/mysq ...

  9. 根据模板导出Excel报表并复制模板生成多个Sheet页

    因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为  根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...

  10. 熟悉LINUX系统

    常用的Shell命令 当用户登录到字符界面系统或使用终端模拟窗口时,就是在和称为shell的命令解释程序进行通信.当用户在键盘上输入一条命令时,shell程序将对命令进行解释并完成相应的动作.这种动作 ...