在自由方面,我一直在寻找一种从所有虚拟机中“清空”pipe理程序的方法。 在nova客户端文档中 ,我find了与以下相关的命令:
新星撤离:从失败的主机中撤出服务器。
新星迁移:迁移服务器。 新主机将由调度程序select
和:
新星主机撤离:撤除主机故障的所有实例。
nova host-evacuate-live:将指定主机的所有实例实时迁移到其他可用主机。
nova host-servers-migrate:将指定主机的所有实例迁移到其他可用主机。
我可以使用第一组中的命令将服务器(又名VM)逐个从一个虚拟机pipe理程序移动到另一个。 类似地,通过使用来自第二组的命令,以pipe理程序为目标,其所有服务器都被移动到其他pipe理程序。 而这里就是混乱。
用于虚拟机pipe理程序时,“迁移”和“撤离”命令之间有什么区别?
他们在做同样的事情,还是在不同的底下,我错过了什么? 应该在某些情况下使用,而在其他情况下使用? 甚至在词汇表上也说:
所以,它应该是相似的。 但是为什么两者都存在?
nova的帮助有点混乱,因为它经常使用“实例”实际上是指“服务器”这个词,而“计算节点”是指“主机”。 OpenStack的术语已经改变了历史,这里使用的一些术语是历史的旧术语。
所以我尝试了一下,找出这些命令实际上做了什么。 我想到的是:
在失败的计算节点上运行的命令:
nova evacuate重新启动已经closures的计算节点上运行的单个实例。 默认情况下,OpenStackselect哪个计算节点将接收实例,但计算节点可以通过--target-host来select。 nova host-evacuate重新启动在发生故障的计算节点上运行的所有实例。 默认情况下,OpenStackselect哪个计算节点将接收实例,但计算节点可以通过--target-host来select。
在任何一种情况下,如果计算节点实际上处于运行状态,则疏散失败
对运行计算节点进行操作的命令:
nova host-evacuate-live尝试将运行在计算节点上的所有实例实时迁移到其他计算节点。 默认情况下,OpenStackselect哪个计算节点将接收实例,但计算节点可以通过--target-host来select。 nova host-servers-migrate从计算节点迁移停止的实例。 OpenStackselect哪个计算节点将接收实例。 nova live-migration实时迁移计算节点上的单个实例。 默认情况下,OpenStackselect哪个计算节点将接收实例,但计算节点可以通过--target-host来select。 nova migrate从计算节点迁移已停止的实例。 OpenStackselect哪个计算节点将接收实例。 红帽的OpenStack文档比上游文档更好地说明了撤离以及这些命令之间的区别。