在 Microsoft Azure 中的 Horizon Cloud 容器中创建 RDSH 场或 VDI 桌面分配时,您可以决定是否启用磁盘加密。在为场或 VDI 桌面分配启用磁盘加密时,将加密该场或 VDI 桌面分配中的所有虚拟机 (VM) 的所有磁盘。您可以在创建场或 VDI 桌面分配时指定磁盘加密,无法在创建场或分配后更改加密状态。

创建场和 VDI 桌面分配的工作流程包括启用磁盘加密的选项开关。有关这些工作流的详细信息,请参阅:

注:
  • 在此版本中,对于使用含附加数据磁盘的映像虚拟机的浮动 VDI 分配,不支持使用磁盘加密。

磁盘加密对性能的影响

磁盘加密功能是由 Microsoft Azure 云的 Azure 磁盘加密 (Azure Disk Encryption, ADE) 功能提供的。ADE 使用 Microsoft Windows 的 BitLocker 功能为 Microsoft Azure 中的虚拟机的操作系统和数据磁盘提供加密。通常,BitLocker 产生一位数的性能开销,因此,加密的虚拟机可能会严重影响性能。虚拟机加密的缺点是,它可能会增加数据、网络或计算资源使用量,这可能会导致额外的许可证或订阅成本。虚拟机必须解密以读取数据,然后加密数据以将其重新写入到加密的磁盘,而不是直接从磁盘中读取数据并将数据写入到未加密的磁盘中。在该过程中,将从 Azure 上的密钥文件库中读取密钥,这会增加网络使用量,并使用 CPU 周期以执行加密。请参阅 Microsoft 文档中的 Azure 磁盘加密常见问题解答BitLocker 部署和管理常见问题解答

加密密钥文件库

用于容器的加密场和 VDI 桌面分配的密钥文件库是在包含容器管理器虚拟机的同一 Microsoft Azure 资源组中创建的。容器的所有加密场和桌面分配将使用单个密钥文件库。在创建相关联的场或 VDI 桌面分配过程中完成第一个加密虚拟机的创建后,系统便会创建该加密密钥文件库。在创建第一个加密虚拟机之前,该密钥文件库将不会显示在容器的资源组中。

系统将使用容器的 ID(即 UUID 格式的标识符)生成密钥文件库的名称。为了遵循 Microsoft Azure 命名规则,系统通过以下方法设置密钥文件库名称:

  1. 采用容器的 ID。
  2. 在开头附加 kv 字母。
  3. 移除任何非字母数字字符。
  4. 根据需要,截断字符以保持在最大长度(24 个)内。

以下屏幕截图显示具有加密场的容器的管理器虚拟机资源组中的项目。屏幕截图显示了两个密钥文件库:一个是容器自身使用的密钥文件库,该库是在容器部署过程中创建的;另一个密钥文件库是在创建已启用磁盘加密的场或 VDI 桌面分配的过程中完成第一个加密虚拟机的创建后,由系统创建的。在该屏幕截图中,您可以看到:

  • 容器管理器虚拟机名称中的容器 ID 为 e1c80e74-7f6f-434f-bd79-c1e3772f6c5a
  • 加密密钥文件库的名称为 kve1c80e747f6f434fbd79c1,可以使用以下方法确定该名称:使用该 UUID,在开头添加 kv,移除连字符并将名称截断为 24 个字符。

Horizon Cloud on Microsoft Azure:该屏幕截图显示位于容器管理器虚拟机的资源组中的加密密钥文件库。

小心: 不要删除在容器管理器虚拟机所在的资源组中看到的任何密钥文件库。如果删除了加密密钥文件库,将无法打开加密的虚拟机电源。如果删除了容器自身的密钥文件库,将无法打开容器管理器虚拟机电源。

创建和删除加密的虚拟机

每个加密的虚拟机使用一个加密密钥。在加密的场或 VDI 桌面分配中创建虚拟机实例时,将在密钥文件库中创建一个密钥。从加密的场或 VDI 桌面分配中删除虚拟机实例时,将从密钥文件库中移除该密钥。

在使用 Horizon Cloud 管理控制台删除加密的场或 VDI 桌面分配时,系统将从密钥文件库中删除关联的密钥。在删除容器本身时,还会删除加密的虚拟机的密钥文件库。

注: 创建加密的场虚拟机或桌面虚拟机所需的时间大约是创建未加密的虚拟机的两倍。因此,完成创建已启用磁盘加密的场或 VDI 桌面分配的端到端时间,大约是创建未启用磁盘加密的场或 VDI 桌面分配的两倍。

此外,在映像虚拟机具有数据磁盘时,还需要额外的时间以创建基于该映像虚拟机的加密场虚拟机或桌面虚拟机。一般来说,对于运行 Windows Server 操作系统并具有数据磁盘的虚拟机,磁盘加密时间比具有数据磁盘的 Windows 10 虚拟机的时间短。具有 TB 级大型数据磁盘的 Windows 10 操作系统所需时间最长。

为拥有大量已加密虚拟机的场和 VDI 桌面分配制定电源管理计划

与未加密的虚拟机相比,加密虚拟机的开机时间以及接受最终用户连接所需的准备时间要更长。如果虚拟机所拥有的内核数量较少(如 A1 大小),则可能需要将近 12 分钟的时间。如果内核数量较多,则所需时间会有所缩短,将近 6 分钟时间。

当您根据预测的最终用户需求,使用系统“电源管理计划”功能安排大量虚拟机的开机时间时,如果有虚拟机已加密,则必须考虑使这些虚拟机准备就绪所需的额外时间。系统最多可同时打开 125 个虚拟机的电源。如果 VDI 桌面分配或场所拥有的虚拟机多于 125 个,电源管理计划假定在上午 8 点打开分配或场的电源,系统将在上午 8 点按每批 125 个虚拟机的速度依次打开虚拟机电源。如果虚拟机的大小是最小的 A1,且已加密,则电源管理计划将包含每批 125 个虚拟机和 12 分钟连接准备时间的组合,大致时间安排如下所示:
  • 上午 8:12,125 个虚拟机准备就绪
  • 上午 8:24,250 个虚拟机准备就绪
  • 上午 8:36,375 个虚拟机准备就绪

因此,如果 VDI 桌面分配具有小型 A1 大小的 2,000 个加密虚拟机,则大约需要 3.5 个小时才能打开所有这些虚拟机的电源,并使其准备就绪以供最终用户连接。如果您的目标是使所有这些已加密的 A1 桌面在上午 8 点均准备就绪,则应该考虑将电源管理计划的开始时间设为凌晨 4:30。

对于大型虚拟机,其准备就绪的时间大约会缩短一半。因此,如果一个已加密的 VDI 桌面分配具有 2,000 个大型(如 A4)的已加密虚拟机,则需要 75 分钟(而不是 3.5 个小时)的时间使所有这些虚拟机准备就绪,供最终用户连接。

同样的,如果已加密 VDI 桌面分配所具有的桌面较少,则其准备时间也将会快于大小为 2000 的大型池。对于具有小型 A1 大小的 500 个加密桌面的池,整个池将在约 48 分钟后全部准备就绪。按每批次 125 个虚拟机,500 个虚拟机需分为 4 个批次,由于每批次需要 12 分钟,因此所需总时间为 48 分钟。