您的位置:首页 > 运维架构 > Shell

[管理篇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、循环函数

#!/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开发,可以方便我们的管理方式,尽可能的减少手工的机械操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: