如果 ESXi 主机无法从 vCenter Server 获取加密虚拟机或加密虚拟磁盘的密钥 (KEK),则加密虚拟机将锁定。在 KMS 上提供密钥后,您可以解锁锁定的加密虚拟机。

在某些情况下,使用标准密钥提供程序时,ESXi 主机无法从 vCenter Server 获取加密虚拟机或加密虚拟磁盘的密钥加密密钥 (KEK)。在这种情况下,您仍然可以取消注册或重新加载虚拟机。但是,无法执行其他虚拟机操作,例如打开虚拟机电源。在采取必要的步骤使所需密钥在 KMS 上可用后,可以使用 vSphere Client 解锁锁定的加密虚拟机。

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

过程

  1. 如果 vCenter Server 系统和 KMS 之间的连接有问题,vCenter Server 将生成虚拟机警报。此外,还会在事件日志中显示一条错误消息。
    还原与 KMS 的连接。KMS 和密钥变为可用后,解锁已锁定的虚拟机。请参见 解锁锁定的虚拟机。您也可以重新引导主机并重新注册虚拟机,以便在还原连接后解锁该虚拟机。

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

    • 密钥在 ESXi 主机上不可用。
    • vCenter Server 无法从 KMS 检索密钥。
    每次重新引导后, ESXi 主机必须能够访问 vCenter ServervCenter Server 会从 KMS 请求具有相应 ID 的密钥,并将其提供给 ESXi。
    注: 在 vSphere 7.0 Update 2 及更高版本中,可以在 ESXi 重新引导后持久保留加密密钥。请参见 密钥持久性概览

    如果还原与密钥提供程序的连接后虚拟机仍锁定,请参见解锁锁定的虚拟机

  2. 如果连接已还原,请注册虚拟机。如果出现错误,或者虽然操作成功但虚拟机处于锁定状态,请验证您是否具有 vCenter Server 系统的 Cryptographic operations.RegisterVM 特权。
    如果密钥可用,则不需要此特权即可打开加密虚拟机的电源。如果必须检索密钥,则需要此特权才能注册虚拟机。
  3. 如果密钥在 KMS 上不再可用,vCenter Server 将生成虚拟机警报。此外,还会在事件日志中显示一条错误消息。
    请求 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 IP 地址可以不同。
    2. 重新注册所有已锁定的虚拟机。
      vCenter Server 实例将从 KMS 中检索密钥,并且虚拟机将解锁。
  5. 如果仅在 ESXi 主机上缺少密钥,则 vCenter Server 会生成虚拟机警报,并且会在事件日志中显示以下消息:
    虚拟机已锁定,因为主机上缺少密钥。
    vCenter Server 系统可以从密钥提供程序检索缺少的密钥。不需要手动恢复密钥。请参见 解锁锁定的虚拟机