虚拟机状态和转换

以下图表和表格显示了用户发出的各种命令所需的虚拟机 (VM) 状态和任务状态。

允许的状态转换

digraph states {
  graph [pad=".35", ranksep="0.65", nodesep="0.55", concentrate=true];
  node [fontsize=10 fontname="Monospace"];
  edge [arrowhead="normal", arrowsize="0.8"];
  label="All states are allowed to transition to DELETED and ERROR.";
  forcelabels=true;
  labelloc=bottom;
  labeljust=left;

  /* states */
  building [label="BUILDING"]
  active [label="ACTIVE"]
  paused [label="PAUSED"]
  suspended [label="SUSPENDED"]
  stopped [label="STOPPED"]
  rescued [label="RESCUED"]
  resized [label="RESIZED"]
  soft_deleted [label="SOFT_DELETED"]
  shelved [label="SHELVED"]
  shelved_offloaded [label="SHELVED_OFFLOADED"]
  deleted [label="DELETED", color="red"]
  error [label="ERROR", color="red"]

  /* transitions [action] */
  building -> active

  active -> active [headport=nw, tailport=ne]  // manual layout
  active -> soft_deleted [tailport=e]  // prevent arrowhead overlap
  active -> suspended
  active -> paused [tailport=w]  // prevent arrowhead overlap
  active -> stopped
  active -> shelved
  active -> shelved_offloaded
  active -> rescued
  active -> resized

  soft_deleted -> active [headport=e]  // prevent arrowhead overlap

  suspended -> active
  suspended -> shelved
  suspended -> shelved_offloaded

  paused -> active
  paused -> shelved
  paused -> shelved_offloaded

  stopped -> active
  stopped -> stopped [headport=nw, tailport=ne]  // manual layout
  stopped -> resized
  stopped -> rescued
  stopped -> shelved
  stopped -> shelved_offloaded

  resized -> active

  rescued -> active

  shelved -> shelved_offloaded
  shelved ->  active

  shelved_offloaded -> active
}

命令要求

命令

所需 VM 状态

所需任务状态

目标状态

暂停

活动, 关闭, 救援

调整大小验证, 取消设置

已暂停

取消暂停

已暂停

不适用

活动

挂起

活动, 关闭

不适用

挂起

resume

挂起

不适用

活动

rescue

活动, 关闭

调整大小验证, 取消设置

救援

取消救援

救援

不适用

活动

设置管理员密码

活动

不适用

活动

rebuild

活动, 关闭

调整大小验证, 取消设置

活动, 关闭

强制删除

软删除

不适用

已删除

restore

软删除

不适用

活动

软删除

活动, 关闭, 错误

不适用

软删除

删除

活动, 关闭, 构建中, 救援, 错误

不适用

已删除

备份中

活动, 关闭

不适用

活动, 关闭

snapshot

活动, 关闭

不适用

活动, 关闭

start

关闭, 停止

不适用

活动

停止

活动, 关闭, 救援

调整大小验证, 取消设置

已停止

reboot

活动, 关闭, 救援

调整大小验证, 取消设置

活动

调整大小

活动, 关闭

调整大小验证, 取消设置

已调整大小

撤销调整大小

活动, 关闭

调整大小验证, 取消设置

活动

确认调整大小

活动, 关闭

调整大小验证, 取消设置

活动

VM 状态和可用命令

VM 状态

命令

已暂停

取消暂停

挂起

resume

活动

设置管理员密码, 挂起, 暂停, 救援, 重建, 软删除, 删除, 备份, 快照, 停止, 重启, 调整大小, 撤销调整大小, 确认调整大小

关闭

挂起, 暂停, 救援, 重建, 软删除, 删除, 备份, 启动, 快照, 停止, 重启, 调整大小, 撤销调整大小, 确认调整大小

救援

取消救援, 暂停

已停止

救援, 删除, 启动

软删除

强制删除, 恢复

错误

软删除, 删除

构建

删除

救援

删除, 停止, 重启

创建实例状态

下图显示了创建新的 VM 实例时 VM 状态、任务状态和电源状态的序列。

Sequence of VM states, task states, and power states when a new VM instance is created.