【Nova】nova-compute代码学习2-状态机

本文深入探讨OpenStack Nova中的虚拟机状态机,包括vm_state、task_state和power_state的区别与联系。阐述了电源状态由nova-compute报告,实例状态在API调用后保持稳定,任务状态作为流程中的暂态状态。同时指出,当数据库可用时,即使状态冲突也可硬删除实例。
摘要由CSDN通过智能技术生成

通过前一篇的学习加上Horizon的使用,我们可以了解到OpenStack为每个虚拟机实例维护了3个状态,一个实例状态vm_state,一个任务状态task_state,一个电源状态power_state,那么这一篇我们先学习下nova-compute的状态机,这对我们之后学习虚拟机各种操作对应的流程大有裨益。

我们需要明确以下几点:

1.电源状态power_state是实例在hypervisor上的状态,只能由nova-compute进行汇报

2.实例状态vm_state是基于API调用的稳定状态,符合用户预期;在没有API调用涉及到实例时,它的vm_state不应该发生变化,且vm_state只在任务结束时才被修改;如果任务失败或不能回滚,vm_state会被置为ERROR

3.任务状态task_state是为了流程化API调用引入的暂态,任务结束时task_state会被置为None

4.只要数据库可用,那么就能对实例进行硬删除;

5.电源状态和实例状态有可能发生冲突,譬如实例状态为ACTIVE但是电源状态却是SHUTDOWN


详细的实例状态转换关系请参见 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值