本文主要是介绍深挖Openstack Nova - evacuate疏散函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一. 当实例所在的节点发生故障不可用时,可执行evacuate操作,在另外一个新节点rebuild该实例,实现高可用。
这可以是OpenStack计算节点HA的一种实现方案。
二. API调用
nova.servers.evacuate(server=fm['id']), on_shared_storage=True
1. on_shared_storage参数在2.14版本后废除,自动检查是否为共享存储。
共享存储能够保证实例在另外新节点重建后数据不丢失
2. 可以设置目的主机host
如果不设置host,nova会通过scheduler选择一个新的主机(不会分到原主机,因为rebuild函数中过滤了原主机)
3. 这个调用只是发送了evacuate操作命令,具体是否真正疏散成功,无法知道
三. 源码分析
对应的是/nova/compute/api.py
@check_instance_state(vm_state=[vm_states.ACTIVE, vm_states.STOPPED,
vm_states.ERROR])
def evacuate(self, context, instance, host, on_shared_storage,
admin_password=None)
这篇关于深挖Openstack Nova - evacuate疏散函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!