我正在使用在 Ubuntu 上运行的 Openstack Icehouse。
重新启动计算节点后,所有正在运行的实例都将处于关闭状态。有没有办法一次性重新启动它们?
我从文档中发现的唯一方法是单独启动它们
nova 启动实例ID
如果我有大量实例,这确实是不切实际的。
Web 界面仪表板也好不到哪里去。我仍然需要逐个单击每个实例才能启动它们。
处理这个问题的最佳方法是什么?
答案1
为什么使用“nova start”命令启动实例是不切实际的?如果您是这么想的话,您不必进行大量输入。您可以始终将“nova list”的输出通过管道传输到 grep 以查找要启动的实例,然后通过管道传输到 cut、awk、sed 或 perl 等工具以仅获取 UUID,然后“nova start”每个 UUID。例如:
nova 列表 | grep SHUTOFF | cut '-d|' -fFIELDNUM | xargs nova 启动
答案2
nova list | grep SHUTOFF | cut '-d|' -fFIELDNUM
和……一样
openstack server list --status SHUTOFF -f value -c ID
使用一次调用,无需 grep、cut 和管道。
调用执行所有实例:
openstack server list --status SHUTOFF -f value -c ID|xargs nova start