在某些情况下,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.
注: 以下过程说明了会导致虚拟机进入锁定状态的情况、显示的相应警报和事件日志以及在每种情况下应执行的操作。
过程
- 如果 vCenter Server 系统和 KMS 之间的连接有问题,则会生成虚拟机警报,并且事件日志中会显示以下消息:
由于 KMS 集群错误,虚拟机已锁定。
您必须手动检查 KMS 集群中的密钥,并还原与 KMS 集群的连接。KMS 和密钥变为可用后,解锁已锁定的虚拟机。请参见
解锁锁定的虚拟机。您也可以重新引导主机并重新注册虚拟机,以便在还原连接后解锁该虚拟机。
与 KMS 的连接断开不会自动锁定虚拟机。如果满足以下条件,虚拟机只会进入锁定状态:
- 密钥在 ESXi 主机上不可用。
- vCenter Server 无法从 KMS 检索密钥。
每次重新引导后,ESXi 主机必须能够访问 vCenter Server。vCenter Server 会从 KMS 请求具有相应 ID 的密钥,并将其提供给 ESXi。
如果还原与 KMS 集群的连接后虚拟机仍锁定,请参见解锁锁定的虚拟机。
- 如果连接已还原,请注册虚拟机。如果在尝试注册虚拟机时发生错误,请验证您对 vCenter Server 系统是否具有特权。
如果密钥可用,则不需要此特权即可打开加密虚拟机的电源。如果必须检索密钥,则需要此特权才能注册虚拟机。
- 如果密钥在 KMS 上不再可用,则会生成虚拟机警报,并且事件日志中会显示以下消息:
虚拟机已锁定,因为 KMS 集群上缺少密钥。
请求 KMS 管理员还原密钥。如果要打开已从清单中移除且已很长时间未注册的虚拟机的电源,您可能会遇到非活动的密钥。如果您重新引导
ESXi 主机且 KMS 不可用,也会发生这种情况。
- 使用 Managed Object Browser (MOB) 或 vSphere API 检索密钥 ID。
从
VirtualMachine.config.keyId.keyId 中检索
keyId。
- 请求 KMS 管理员重新激活与此密钥 ID 关联的密钥。
- 还原密钥后,参见解锁锁定的虚拟机。
如果可在 KMS 上还原此密钥,
vCenter Server 则会在下次需要时对其进行检索并推送到
ESXi 主机。
- 如果 KMS 可供访问且 ESXi 主机已开机,但 vCenter Server 系统不可用,请按照以下步骤解锁虚拟机。
- 还原 vCenter Server 系统,或者设置不同的 vCenter Server 系统,然后与 KMS 建立信任。
您必须使用相同的 KMS 集群名称,但 KMS IP 地址可以不同。
- 重新注册所有已锁定的虚拟机。
新
vCenter Server 实例将从 KMS 中检索密钥,并且虚拟机将解锁。
- 如果 ESXi 主机上缺少密钥,则会生成虚拟机警报,并且事件日志中会显示以下消息:
虚拟机已锁定,因为主机上缺少密钥。
vCenter Server 系统可以从 KMS 集群检索缺少的密钥。不需要手动恢复密钥。请参见
解锁锁定的虚拟机。