需求:

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. Code Signal_练习题_extractEachKth

    Given array of integers, remove each kth element from it. Example For inputArray = [1, 2, 3, 4, 5, 6 ...

  2. python-备忘录模式

    源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 一个成熟的软件应当允许用户取消不确定的操作或者从错误的状态中恢复过来.复制,粘体 ...

  3. wagon-maven-plugin实现自动打包部署到服务器

    1.在maven中添加依赖 <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/wagon-maven-plugin --> ...

  4. Spring AOP 中@Pointcut的用法

    Spring Aop中@pointCut的用法,格式:execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? nam ...

  5. SSL certificate problem: unable to get local issuer certificate 的解决方法

    今天在进行微信开发获取微信Access_Token时,使用到了php的curl库, 在敲完代码后获取token失败,经过各种排查错误,到了下面这一步 SSL certificate problem: ...

  6. Textarea输入字数限制(兼容iOS&安卓)

    最近在做一个微信公众号的页面,其中有对textarea做输入字数限制,而且需要兼容iOS和安卓手机,下面直接贴代码: <!DOCTYPE html> <html lang=" ...

  7. ActiveReports 报表中 RDF 文件解析

    AcitveReport 提供两种报表模板,XML(RPX)模板和Code-Based 模板.两者都可以用于设计报表. 但是 RDF 格式文件我们大多不是很了解.许多客户在提到 RDF 格式时显得无所 ...

  8. 怎么给SharePoint得视图设置多个过滤条件? How to set multiple complex filter conditions to the SharePoint list view ?

    平时会很容易遇到需要给视图设置复杂得过滤条件,如果是一两个条件还好多,如果条件超过四个,会比较麻烦,很容易会出现逻辑不清,或者没有按照你得意愿来过滤数据得问题. 解决方案: 设置计算列,calcula ...

  9. Nodejs搭建wss服务器

    首先使用OpenSSL创建自签名证书: #生成私钥key文件 openssl genrsa > /path/to/private.pem // #通过私钥文件生成CSR证书签名 openssl ...

  10. oracle EBS rtf报表不能输出模板样式

    1.需要定义中文的数据定义 2.缺少文件 cd $ADMIN_SCRIPTS_HOME prefs.ora 3.查看文档  文档 ID 1059712.1 (1)请求模版显示不出来 解决:模版定义中模 ...