compute节点启动初始化销毁已撤离虚拟机

编程入门 行业动态 更新时间:2024-10-08 18:41:38

compute<a href=https://www.elefans.com/category/jswz/34/1771452.html style=节点启动初始化销毁已撤离虚拟机"/>

compute节点启动初始化销毁已撤离虚拟机

针对OpenStack HA要不要做故障主机隔离,调研了nova-compute服务启动流程

调研结果:
1、nova-compute服务启动时,首先创建service对象,service来初始化ComputeManager与对应的driver(也就是libvirt);
2、service在start的时候,会调用执行ComputeManager的hook方法,包括init_host()方法,如下图;

3、init_host()方法逻辑见下图,其中有销毁已安全撤离Instance的方法调用:
4、进一步看self._destroy_evacuated_instances()方法:
逐个Instance判断所属主机是否为本机,如果已经evacated,就将其destroy;
destroy包括:instance以及instance的network,disk。


结论:
nova-compute服务在启动时,会逐个检验Hypervisor上所有Instance,是否已经被evacuated(安全撤离了)。
如果已经安全撤离,则将其在本Hypervisor上的信息删除。
也就是说,HA功能不需要做隔离操作。

其他情况:
如果故障主机恢复正常重新启动后,Hypervisor服务正常,但nova-compute出现异常,不能正常启动。
会导致已经安全撤离的Instance无法销毁,与已安全撤离的Instance出现重复的情况。
这种情况下,由于nova-compute服务异常,通过api也无法做任何操作,只能特殊处理。
比如,管理员或者运维人员使用virsh,从libvirt层面手动删除已经安全撤离的Instance。

更多推荐

compute节点启动初始化销毁已撤离虚拟机

本文发布于:2024-03-23 20:08:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1742295.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:节点   初始化   虚拟机   compute

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!