在某些情况下,ESXi 主机无法从 vCenter Server 获取加密虚拟机或加密虚拟磁盘的密钥 (KEK)。在这种情况下,您仍然可以取消注册或重新加载虚拟机。但是,您无法执行其他虚拟机操作,例如,打开虚拟机电源或删除虚拟机。当加密虚拟机处于锁定状态时,vCenter Server 警报会通知您。执行必要步骤以使所需的密钥在 KMS 上可用后,您可以使用 vSphere Client 来解锁已锁定的加密虚拟机。

如果虚拟机密钥不可用,虚拟机的状态将显示为无效。虚拟机无法打开电源。如果虚拟机密钥可用,但是加密磁盘的密钥不可用,则虚拟机状态不会显示为无效。但是,虚拟机无法打开电源,并且会出现以下错误:
The disk [/path/to/the/disk.vmdk] is encrypted and a required key was not found.
注: 以下过程说明了会导致虚拟机进入锁定状态的情况、显示的相应警报和事件日志以及在每种情况下应执行的操作。

过程

  1. 如果 vCenter Server 系统和 KMS 之间的连接有问题,则会生成虚拟机警报,并且事件日志中会显示以下消息:
    由于 KMS 集群错误,虚拟机已锁定。
    您必须手动检查 KMS 集群中的密钥,并还原与 KMS 集群的连接。KMS 和密钥变为可用后,解锁已锁定的虚拟机。请参见 解锁锁定的虚拟机。您也可以重新引导主机并重新注册虚拟机,以便在还原连接后解锁该虚拟机。

    与 KMS 的连接断开不会自动锁定虚拟机。如果满足以下条件,虚拟机只会进入锁定状态:

    • 密钥在 ESXi 主机上不可用。
    • vCenter Server 无法从 KMS 检索密钥。

    每次重新引导后,ESXi 主机必须能够访问 vCenter ServervCenter Server 会从 KMS 请求具有相应 ID 的密钥,并将其提供给 ESXi。

    如果还原与 KMS 集群的连接后虚拟机仍锁定,请参见解锁锁定的虚拟机

  2. 如果连接已还原,请注册虚拟机。如果在尝试注册虚拟机时发生错误,请验证您对 vCenter Server 系统是否具有加密操作.注册虚拟机特权。
    如果密钥可用,则不需要此特权即可打开加密虚拟机的电源。如果必须检索密钥,则需要此特权才能注册虚拟机。
  3. 如果密钥在 KMS 上不再可用,则会生成虚拟机警报,并且事件日志中会显示以下消息:
    虚拟机已锁定,因为 KMS 集群上缺少密钥。
    请求 KMS 管理员还原密钥。如果要打开已从清单中移除且已很长时间未注册的虚拟机的电源,您可能会遇到非活动的密钥。如果您重新引导 ESXi 主机且 KMS 不可用,也会发生这种情况。
    1. 使用 Managed Object Browser (MOB) 或 vSphere API 检索密钥 ID。
      VirtualMachine.config.keyId.keyId 中检索 keyId
    2. 请求 KMS 管理员重新激活与此密钥 ID 关联的密钥。
    3. 还原密钥后,参见解锁锁定的虚拟机
    如果可在 KMS 上还原此密钥, vCenter Server 则会在下次需要时对其进行检索并推送到 ESXi 主机。
  4. 如果 KMS 可供访问且 ESXi 主机已开机,但 vCenter Server 系统不可用,请按照以下步骤解锁虚拟机。
    1. 还原 vCenter Server 系统,或者设置不同的 vCenter Server 系统,然后与 KMS 建立信任。
      您必须使用相同的 KMS 集群名称,但 KMS IP 地址可以不同。
    2. 重新注册所有已锁定的虚拟机。
      vCenter Server 实例将从 KMS 中检索密钥,并且虚拟机将解锁。
  5. 如果 ESXi 主机上缺少密钥,则会生成虚拟机警报,并且事件日志中会显示以下消息:
    虚拟机已锁定,因为主机上缺少密钥。
    vCenter Server 系统可以从 KMS 集群检索缺少的密钥。不需要手动恢复密钥。请参见 解锁锁定的虚拟机