[管理篇6]使用Linux Shell管理OpenStack的虚拟机——批量创建、开启、关闭虚拟机
2015-06-07 11:33
756 查看
在很多情况下,我们可以在OpenStack的horzion组件中对虚拟机进行管理,包括创建、删除、重启、关闭等操作,但是在实际工作过程中,我们可能需要对虚拟机进行批量操作,批量创建、批量关闭、批量重启等,那么我们该怎么非常便利的管理那么多虚拟机呢?
也许你会说,Horzion本身有批量创建虚拟机的选择
而且也有批量重启的操作,
但是如果执行过该操作会发现,如果我批量创建15个虚拟机,尽管我的VM名称为aa ,系统会自动创建一个aa-uuid(自己生成的唯一标识)的VM名称,在生成完VM之后,我们还需要人工手动修改VM名称。
而且虽然可以勾选项进行批量重启和删除,但是如果数量并不是连续的,而且不再同一页,岂不也是麻烦,而且好像还没有批量关闭和批量开启的操作吧。
那么用什么办法可以解决这个问题呢?Linux Shell使用就非常方便,其实只需要掌握一些循环的基本命令,掌握一些OpenStack的组件命令,就可以完成这个操作。
1、循环函数
我们既可以进行规律循环,也可以进行指定循环,这样我们并不需要掌握太多的循环细节,这两种方式就可以满足我们日常的管理需求。
2、批量创建虚拟机
3、批量开启虚拟机
4、批量重启虚拟机
所以,在日常的OpenStack管理中,掌握一定的Shell开发,可以方便我们的管理方式,尽可能的减少手工的机械操作。
也许你会说,Horzion本身有批量创建虚拟机的选择
而且也有批量重启的操作,
但是如果执行过该操作会发现,如果我批量创建15个虚拟机,尽管我的VM名称为aa ,系统会自动创建一个aa-uuid(自己生成的唯一标识)的VM名称,在生成完VM之后,我们还需要人工手动修改VM名称。
而且虽然可以勾选项进行批量重启和删除,但是如果数量并不是连续的,而且不再同一页,岂不也是麻烦,而且好像还没有批量关闭和批量开启的操作吧。
那么用什么办法可以解决这个问题呢?Linux Shell使用就非常方便,其实只需要掌握一些循环的基本命令,掌握一些OpenStack的组件命令,就可以完成这个操作。
1、循环函数
#!/bin/bash for i in $(seq 1 20) do ... echo "Create VM Named iserver$i successful!" done另一种方式
#!/bin/bash for i in 1 5 10 28 do ... echo "Create VM Named iserver$i successful!" done
我们既可以进行规律循环,也可以进行指定循环,这样我们并不需要掌握太多的循环细节,这两种方式就可以满足我们日常的管理需求。
2、批量创建虚拟机
#!/bin/bash for i in $(seq 3 18) do nova boot --flavor iserver2 --image iserver3 --nic net-id= d5f8588a-281f-4b94-9a06-3e6886f9bc17 --security-group default --key-name admin-key iserver$i echo "Create VM Named iserver$i successful!" done掌握了循环结构,里面只需要添加创建虚拟机的命令nova boot即可
3、批量开启虚拟机
#!/bin/bash for i in $(seq 3 18) do nova start iserver$i echo "Create VM Named iserver$i successful!" done
4、批量重启虚拟机
#!/bin/bash for i in $(seq 3 18) do nova stop iserver$i echo "Create VM Named iserver$i successful!" done
所以,在日常的OpenStack管理中,掌握一定的Shell开发,可以方便我们的管理方式,尽可能的减少手工的机械操作。
相关文章推荐
- shell数值计算
- shell中如何判断一个变量是否为空
- Linux 中 shell 变量 $#,$@,$0,$1,$2 的含义解释:
- Shellcode的编写
- lvs相关4道shell编程题
- 揭开Shellcode的神秘面纱
- wince6.0 中出现缺少aygshell.h
- load和磁盘占用shell
- /bin/bash^M: bad interpreter: No such file or directory
- shell脚本(三)
- shell脚本(二)
- shell脚本(一)
- 四、文件名置换
- 鸟书shell 学习笔记(一) shell专注于概念和命令
- 使用Xshell连接Ubuntu
- shell参数 传递
- Linux and Shell
- 在Windows中如何用SSH_Client_Shell与Linux实现通讯以及共享
- mysql下通过shell脚本插入数据
- shell变量详解