Citrix DaaS

创建 Google 云端平台目录

创建计算机目录介绍了用于创建计算机目录的向导。以下信息涵盖了特定于 Google Cloud 环境的详细信息。

注意:

在创建 Google 云端平台 (GCP) 目录之前,您需要完成创建与 GCP 的连接。请参阅与 Google Cloud 环境的连接

准备主 VM 实例和永久磁盘

提示:

永久磁盘是虚拟磁盘的 Google Cloud 术语。

要准备主 VM 实例,请使用与您计划的计算机目录中克隆的 VDA 实例所需的配置匹配的属性创建和配置 VM 实例。配置不仅适用于实例大小和类型。它还包括实例属性,例如元数据、标记、GPU 分配、网络标记和服务帐户属性。

作为控制过程的一部分,MCS 使用您的主 VM 实例创建 Google Cloud 实例模板。然后,实例模板将用于创建组成计算机目录的克隆 VDA 实例。克隆的实例继承创建实例模板的所基于的主 VM 实例的属性(VPC、子网和永久磁盘属性除外)。

根据具体情况配置主 VM 实例的属性后,启动实例,然后为实例准备永久磁盘。

我们建议您手动创建磁盘的快照。这样做可以使用有意义的命名约定来跟踪版本,为您提供更多选项来管理早期版本的主映像,并节省创建计算机目录的时间。如果您不创建自己的快照,MCS 会为您创建一个临时快照(在预配过程结束时删除该快照)。

启用区域选择

Citrix DaaS 支持区域选择。通过区域选择,您可以指定要在其中创建 VM 的区域。通过区域选择,管理员可以在其选择的区域之间放置唯一的租户节点。必须在 Google Cloud 上完成以下操作,才能配置唯一租赁:

保留 Google Cloud 唯一租户节点

要预留单租户节点,请参阅 Google Cloud 文档

重要提示:

节点模板用于指示节点组中预留的系统的性能特征。这些特征包括 vGPU 的数量、分配给节点的内存量以及用于在节点上创建的计算机的计算机类型。有关详细信息,请参阅 Google Cloud 文档

创建 VDA 主映像

要在唯一租户节点上成功部署计算机,您需要在创建主 VM 映像时执行额外的步骤。Google Cloud 上的计算机实例具有名为节点关联性标签的属性。用作部署到唯一租户节点的目录的主映像的实例需要一个与目标节点组名称匹配的节点关联性标签。为实现这一目标,请记住以下几点:

注意:

如果您打算将唯一租赁与共享 VPC 结合使用,请参阅共享虚拟私有云

创建实例时设置节点关联性标签

要设置节点关联性标签,请执行以下操作:

  1. 在 Google Cloud 控制台中,导航到 Compute Engine(计算引擎)> VM instances(VM 实例)

  2. VM instances(VM 实例)页面上,选择 Create instance(创建实例)。

  3. Instance creation(实例创建)页面上,键入或配置所需的信息,然后选择 management, security, disks, networking, sole tenancy(管理、安全性、磁盘、网络连接、唯一租户)以打开设置面板。

  4. Sole tenancy(唯一租赁)选项卡上,选择 Browse(浏览)以查看当前项目中的可用节点组。此时将显示 Sole-tenant node(唯一租户节点)页面,其中显示可用节点组的列表。

  5. Sole-tenant node(唯一租户节点)页面上,从列表中选择适用的节点组,然后选择 Select(选择)以返回到 Sole tenancy(唯一租赁)选项卡。节点关联性标签字段将使用您选择的信息进行填充。此设置可确保从实例创建的计算机目录将部署到选定的节点组。

  6. 选择创建以创建实例。

为现有实例设置节点关联性标签

要设置节点关联性标签,请执行以下操作:

  1. 在 Google Cloud Shell 终端窗口中,使用 gcloud compute instances 命令设置节点关联性标签。在 gcloud 命令中包含以下信息:

    • VM 的名称。例如,使用名为 s*2019-vda-base 的现有 VM。*
    • 节点组的名称。使用之前创建的节点组名称。例如,mh-sole-tenant-node-group-1
    • 实例所在的区域。例如,VM 位于 *us-east-1b* zone 中。

    例如,在终端窗口中键入以下命令:

    • gcloud compute instances set-scheduling "s2019-vda-base" --node-group="mh-sole-tenant-node-group-1" --zone="us-east1-b"

    有关 gcloud compute instances 命令的详细信息,请参阅 Google 开发人员工具文档,网址为 https://cloud.google.com/sdk/gcloud/reference/beta/compute/instances/set-scheduling

  2. 导航到实例的 VM instance details(VM 实例详细信息)页面,并验证 Node Affinities(节点关联)字段是否填充了标签。

创建计算机目录

注意:

请在创建计算机目录之前创建您的资源。配置计算机目录时,请使用 Google Cloud 建立的命名约定。有关详细信息,请参阅存储桶和对象命名指南

可以通过两种方式创建计算机目录:

使用完整配置界面创建计算机目录

请按照创建计算机目录中的指导进行操作。下面的说明是 Google Cloud 目录独有的。

  1. 管理 > 完整配置中,选择左窗格中的计算机目录
  2. 然后在操作栏中选择创建计算机目录
  3. 计算机类型页面上,选择多会话操作系统,然后选择下一步。Citrix DaaS 还支持单会话操作系统。
  4. 计算机管理页面上,选择进行电源管理的计算机Citrix Machine Creation Services 选项,然后选择下一步。如果有多种资源,请从菜单中选择一种资源。
  5. 在“映像”页面上,根据需要完成这些步骤,然后单击“下一步”。

    1. 选择快照或 VM 作为主映像。如果要使用唯一租赁功能,请务必选择已正确配置节点组属性的映像。请参阅启用区域选择
    2. 要使用现有虚拟机作为计算机配置文件,请选择使用计算机配置文件,然后选择虚拟机。

      注意:

      当前,该目录中的 VM 从计算机配置文件中继承磁盘加密集 ID、计算机大小、存储类型和区域设置。

    3. 为目录选择最低功能级别。
  6. 存储页面上,选择用于容纳此计算机目录的操作系统的存储类型。下面每种存储方案都有独特的价格和性能特征。身份磁盘始终使用区域标准永久性磁盘创建。

    • 标准永久性磁盘
    • 平衡的永久磁盘
    • SSD 永久性磁盘

    如需详细了解 Google Cloud 存储选项,请参阅存储选项

  7. 虚拟机页面上,指定要创建的虚拟机数量,查看虚拟机的详细规格,选择 Google Cloud 计算机类型,然后选择下一步。如果将唯一租户节点组用于计算机目录,请确保选择预留的唯一租户节点可用的区域。请参阅启用区域选择
  8. 磁盘设置页面上,可以配置以下设置:

    • 选择是否启用回写式缓存。启用回写式缓存后,您可以执行以下操作:

      • 配置用于缓存临时数据的磁盘和 RAM 的大小。有关详细信息,请参阅配置临时数据的缓存
      • 选择回写式缓存磁盘的存储类型。以下存储选项可用于回写式缓存磁盘:
        • 标准永久性磁盘
        • 平衡的永久磁盘
        • SSD 永久性磁盘

        如需详细了解 Google Cloud 存储选项,请参阅存储选项

      • 选择回写式缓存磁盘的类型。
        • 使用非永久回写式缓存磁盘。如果选中此选项,回写式缓存磁盘不会为已预配的 VM 保留。在电源重启期间,磁盘将被删除,重定向到磁盘的所有数据都将丢失。
        • 使用永久回写式缓存磁盘。如果选中此选项,回写式缓存磁盘将为已预配的 VM 保留。启用此选项会增加存储成本。
    • 启用 MCS 存储优化 (MCS I/O) 后,可以选择是否在电源重启期间为 VDA 保留系统磁盘。有关详细信息,请参阅启用 MCS 存储优化更新

    • 选择是否使用自己的密钥来保护磁盘内容。要使用该功能,您必须首先创建自己的客户管理的加密密钥 (CMEK)。有关详细信息,请参阅使用客户管理的加密密钥 (CMEK)

      注意:

      它仅在管理 > 完整配置界面中可用。

      创建密钥后,可以从列表中选择其中一个密钥。创建目录后无法更改注册表项。Google Cloud 不支持在现有的永久磁盘或映像中轮换密钥。因此,在预配目录之后,该目录将与密钥的特定版本绑定。如果该密钥处于禁用状态或被销毁,则在重新启用或恢复密钥之前,使用该密钥加密的实例和磁盘将无法使用。

  9. 计算机标识页面上,选择一个 Active Directory 帐户,然后选择下一步

    • 如果选择创建新的 Active Directory 帐户,请选择一个域,然后输入表示在 Active Directory 中创建的已预配的 VM 计算机帐户的命名方案的字符序列。帐户命名方案可以包含 1-64 个字符,不能包含空格,也不能包含非 ASCII 字符或特殊字符。
    • 如果选择使用现有的 Active Directory 帐户,请选择浏览以导航到所选计算机的现有 Active Directory 计算机帐户。
  10. 域凭据页面上,选择输入凭据,键入用户名和密码,选择保存,然后选择下一步

    • 键入的凭据必须具有执行 Active Directory 帐户操作的权限。
  11. 作用域页面上,选择计算机目录的作用域,然后选择下一步

    • 可以选择可选作用域或选择自定义作用域以根据需要自定义作用域。
  12. 摘要页面上,确认信息,指定目录的名称,然后选择完成

    注意:

    目录名称可以包含 1-39 个字符,不能仅包含空格或字符 \ / ; : # . * ? = < > | [ ] { } " ' ( ) ' )

完成计算机目录创建可能需要很长时间。完成后,系统将列出目录。可以验证计算机是否在 Google Cloud 控制台中的目标节点组上创建。

导入手动创建的 Google Cloud 计算机

通过此功能,您可以:

  • 将手动创建的 Google Cloud 多会话操作系统计算机导入到 Citrix DaaS 目录中。
  • 从 Citrix DaaS 目录中移除手动创建的 Google Cloud 多会话操作系统计算机。
  • 使用现有 Citrix DaaS 电源管理功能对 Google Cloud Windows 多会话操作系统计算机进行电源管理。例如,为这些计算机设置重新启动计划。

此功能不需要更改现有 Citrix DaaS 的配置工作流程,也不需要移除任何现有功能。

建议您使用 MCS 在 Citrix DaaS 的完整配置界面中置备计算机,而不是导入手动创建的 Google Cloud 计算机。

共享虚拟私有云

共享虚拟私有云 (VPC) 包括一个主机项目(可以从中使用共享子网)以及一个或多个使用该资源的服务项目。共享 VPC 是较大型安装的理想选项,因为它们可以集中控制、使用和管理共享的企业 Google Cloud 资源。有关详细信息,请参阅 Google 文档站点

使用此功能,Machine Creation Services (MCS) 可以支持预配和管理部署到共享 VPC 的计算机目录。这种支持在功能上等同于当前在本地 VPC 中提供的支持,在两个方面有所差别:

  • 必须向用于创建主机连接的服务帐户授予额外权限。此过程允许 MCS 访问和使用共享 VPC 资源。请参阅“需要新权限”。
  • 必须创建两条防火墙规则,每条规则分别用于入口和出口。这些防火墙规则将在映像控制过程中使用。请参阅防火墙规则

有关配置共享 VPC 的信息,请参阅配置共享 VPC

需要新权限

创建主机连接时,需要具有特定权限的 Google Cloud 服务帐户。必须向用于创建基于共享 VPC 的主机连接的任何服务帐户授予这些额外的权限。

提示:

这些额外的权限对于 Citrix DaaS 来说并不陌生。它们用来促进本地 VPC 的实施。对于共享 VPC,这些额外的权限允许访问其他共享 VPC 资源。

为了支持共享 VPC,必须向与主机连接关联的服务帐户授予最多四个额外权限:

  • compute.firewalls.list - 此权限是强制性的。它允许 MCS 检索共享 VPC 上存在的防火墙规则的列表。
  • compute.networks.list - 此权限是强制性的。它允许 MCS 识别服务帐户可用的共享 VPC 网络。
  • compute.subnetworks.list - 此权限是可选的,具体取决于您使用 VPC 的方式。它允许 MCS 识别可见的共享 VPC 中的子网。使用本地 VPC 时已需要此权限,但也必须在共享 VPC 主机项目中进行分配。
  • compute.subnetworks.use - 此权限是可选的,具体取决于您使用 VPC 的方式。必须在预配的计算机目录中使用子网资源。使用本地 VPC 已需要此权限,但也必须在共享 VPC 主机项目中进行分配。

使用这些权限时,请考虑根据用于创建计算机目录的权限类型有不同的方法:

  • 项目级别权限:
    • 允许访问主机项目中的所有共享 VPC。
    • 需要权限 compute.subnetworks.listcompute.subnetworks.use 必须分配给服务帐号。
  • 子网级别权限:
    • 允许访问共享 VPC 中的特定子网。
    • 权限 compute.subnetworks.listcompute.subnetworks.use 是子网级别分配的固有权限,因此无需直接分配给服务帐号。

请选择符合贵组织需求和安全标准的方式。

提示:

有关项目级权限和子网级权限之间差异的更多信息,请参阅服务项目管理员

防火墙规则

在准备计算机目录期间,将准备计算机映像作为目录的主映像系统磁盘。发生此过程时,磁盘将临时连接到虚拟机。此 VM 必须在隔离的环境中运行,以阻止所有入站和出站网络流量。这是通过一对 deny-all 防火墙规则实现的:一条规则用于入口流量,一条规则用于出口流量。使用 Google Cloud 本地 VCP 时,MCS 会在本地网络中创建此防火墙,并将其应用到计算机以进行控制。控制操作完成后,将从映像中删除防火墙规则。

我们建议您将使用共享 VPC 所需的新权限的数量保持在最低限度。共享 VPC 是更高级别的企业资源,通常具有更严格的安全协议。因此,在共享 VPC 资源的主机项目中创建一对防火墙规则,一条用于入口,一条用于出口。请为其分配最高优先级。使用以下值将新目标标记应用到这些规则中的每一个规则:

citrix-provisioning-quarantine-firewall

创建或更新计算机目录时,MCS 会搜索包含此目标标记的防火墙规则。然后,它会检查规则的正确性,并将其应用到用于准备目录的主映像的计算机。如果未找到防火墙规则,或者找到规则,但规则或其优先级不正确,则会出现类似以下内容的消息:

"Unable to find valid INGRESS and EGRESS quarantine firewall rules for VPC <name> in project <project>. " Please ensure you have created 'deny all' firewall rules with the network tag ‘citrix-provisioning-quarantine-firewall' and proper priority." "Refer to Citrix Documentation for details."

配置共享 VPC

在 Citrix DaaS 的“完整配置”界面中添加共享 VPC 作为主机连接之前,请完成以下步骤,以将您计划预配的项目中的服务帐户添加到:

  1. 创建 IAM 角色
  2. 向宿主项目 IAM 角色添加服务帐户
  3. 将云构建服务帐户添加到共享 VPC
  4. 创建防火墙规则

创建 IAM 角色

确定角色的访问级别:

  • 项目级别访问权限,或
  • 使用子网级别访问的更受限制的模型。

IAM 角色的项目级别的访问权限。对于项目级别的 IAM 角色,包括以下权限:

  • compute.firewalls.list
  • compute.networks.list
  • compute.subnetworks.list
  • compute.subnetworks.use

要创建项目级别的 IAM 角色,请执行以下操作:

  1. 在 Google 云控制台中,导航至 IAM & Admin(IAM 和管理员)> Roles(角色)
  2. 角色页面上,选择创建角色
  3. Create Role(创建角色)页面上,指定角色名称。选择添加权限
    1. Add permissions(添加权限)页面上,单独向角色添加权限。要添加权限,请在筛选器表字段中键入权限的名称。选择权限,然后选择添加
    2. 选择创建

子网级别的 IAM 角色。此角色将在选择 CREATE ROLE(创建角色)后省略添加权限 compute.subnetworks.listcompute.subnetworks.use。对于此 IAM 访问级别,权限 compute.firewalls.listcompute.networks.list 必须应用到新角色。

要创建子网级别的 IAM 角色,请执行以下操作:

  1. 在 Google Cloud 控制台中,导航到 VPC network(VPC 网络)> Shared VPC(共享 VPC)。此时将显示 Shared VPC(共享 VPC)页面,其中显示主机项目所包含的共享 VPC 网络的子网。
  2. Shared VPC(共享 VPC)页面上,选择要访问的子网。
  3. 在右上角,选择 ADD MEMBER(添加成员)以添加服务帐户。
  4. Add members(添加成员)页面上,完成以下步骤:
    1. New members(新成员)字段中,键入服务帐户的名称,然后在菜单中选择您的服务帐户。
    2. 选择 Select a role(选择角色)字段,然后单击 Compute Network User(计算网络用户)。
    3. 选择保存
  5. 在 Google Cloud 控制台中,导航到 IAM & Admin(IAM 和管理员)> Roles(角色)。
  6. 角色页面上,选择创建角色
  7. Create Role(创建角色)页面上,指定角色名称。选择添加权限
    1. Add permissions(添加权限)页面上,单独向角色添加权限。要添加权限,请在筛选器表字段中键入权限的名称。选择权限,然后选择添加
    2. 选择创建

将服务帐户添加到主机项目 IAM 角色

创建 IAM 角色后,请执行以下步骤以便为主机项目添加服务帐户:

  1. 在 Google Cloud 控制台中,导航到主机项目,然后导航到 IAM & Admin(IAM 和管理员)> IAM
  2. IAM 页面上,选择 ADD(添加)以添加服务帐户。
  3. Add members(添加成员)页面上:
    1. New members(新成员)字段中,键入服务帐户的名称,然后在菜单中选择您的服务帐户。
    2. 选择一个角色字段,键入您创建的 IAM 角色,然后选择菜单中的角色。
    3. 选择保存

现在已为主机项目配置服务帐户。

将云构建服务帐户添加到共享 VPC

每个 Google Cloud 订阅都有一个服务帐户,该帐户以项目 ID 号命名,后跟 cloudbuild.gserviceaccount。例如:705794712345@cloudbuild.gserviceaccount

您可以通过在 Google Cloud 控制台中导航到云端概览 > 控制面板来确定项目的项目 ID 号。项目 ID 和项目编号显示在项目控制面板项目信息卡上:

请执行以下步骤以将云构建服务帐户添加到共享 VPC:

  1. 在 Google Cloud 控制台中,导航到主机项目,然后导航到 IAM & Admin(IAM 和管理员)> IAM
  2. Permissions(权限)页面上,选择 ADD(添加)以添加帐户。
  3. Add members(添加成员)页面上,完成以下步骤:
    1. New members(新成员)字段中,键入云构建服务帐户的名称,然后在菜单中选择您的服务帐户。
    2. 选择选择角色字段,键入 Computer Network User,然后在菜单中选择角色。
    3. 选择保存

创建防火墙规则

作为映像控制过程的一部分,MCS 会复制选定的计算机映像,并使用该映像为目录准备主映像系统磁盘。在映像控制过程中,MCS 将磁盘附加到临时虚拟机,然后该虚拟机将运行准备脚本。此 VM 必须在隔离的环境中运行,以禁止所有入站和出站网络流量。

要创建隔离环境,MCS 需要两个 deny all(全部拒绝)防火墙规则(入口规则和出口规则)。因此,在主机项目中创建两个防火墙规则(入口和出口),如下所示:

  1. 在 Google Cloud 控制台中,导航到主机项目,然后导航到 VPC network(VPX 网络)> Firewall(防火墙)
  2. Firewall(防火墙)页面上,选择 CREATE FIREWALL RULE(创建防火墙规则)。
  3. Create a firewall rule(创建防火墙规则)页面上,完成以下操作:
    • 名称。键入规则的名称。
    • Network(网络)。选择入口防火墙规则应用到的共享 VPC 网络。
    • Priority(优先级)。值越小,规则的优先级就越高。我们建议使用较小的值(例如 10)。
    • Direction of traffic(流量方向)。选择 Ingress(入口)。
    • Action on match(针对匹配项的操作)。选择 Deny(拒绝)。
    • Targets(目标)。使用默认的 Specified target tags(指定的目标标记)。
    • Target tags(目标标记)。键入 citrix-provisioning-quarantine-firewall
    • Source filter(源筛选器)。使用默认的 IP ranges(IP 范围)。
    • Source IP ranges(源 IP 范围)。键入匹配所有流量的范围。键入 0.0.0.0/0
    • Protocols and ports(协议和端口)。选择 Deny all(全部拒绝)。
  4. 选择创建以创建规则。
  5. 重复这些步骤以创建另一条规则。对于 Direction of traffic(流量方向),请选择 Egress(出口)。

使用客户管理的加密密钥 (CMEK)

可以将客户管理的加密密钥 (CMEK) 用于 MCS 目录。使用此功能时,您将 Google Cloud Key Management Service CryptoKey Encrypter/Decrypter 角色分配给 Compute Engine Service Agent。Citrix DaaS 帐户在存储密钥的项目中必须具有正确的权限。请参阅为 Citrix DaaS 帐户分配权限。有关详细信息,请参阅使用 Cloud KMS 密钥帮助保护资源

您的 Compute Engine Service Agent 的格式如下:service-<Project _Number>@compute-system.iam.gserviceaccount.com。此表单与默认的 Compute Engine Service 帐户不同。

注意:

此 Compute Engine Service 帐户可能不会显示在 Google 控制台 IAM 权限显示屏中。在这种情况下,请按照使用 Cloud KMS 密钥帮助保护资源中所述使用 gcloud 命令。

向 Citrix DaaS 帐户分配权限

Google Cloud KMS 权限可以通过多种方式进行配置。可以提供项目级 KMS 权限或资源级 KMS 权限。有关详细信息,请参阅权限和角色

项目级别 KMS 权限

一种选择是向 Citrix DaaS 帐户提供项目级权限以浏览 Cloud KMS 资源。为此,请创建一个自定义角色,然后添加以下权限:

  • cloudkms.keyRings.list
  • cloudkms.keyRings.get
  • cloudkms.cryptokeys.list
  • cloudkms.cryptokeys.get

将此自定义角色分配给 Citrix DaaS 帐户。这允许您浏览清单中相关项目中的区域密钥。

资源级 KMS 权限

对于另一个选项(资源级权限),请在 Google Cloud 控制台中浏览到用于 MCS 预配的 cryptoKey。将 Citrix DaaS 帐户添加到您用于目录预配的密钥链或密钥中。

提示:

使用此选项,您无法浏览清单中的项目的区域密钥,因为 Citrix DaaS 帐户对 Cloud KMS 资源没有项目级列表权限。但是,您仍然可以通过在 ProvScheme 自定义属性中指定正确的 cryptoKeyId 来使用 CMEK 预置目录。请参阅使用自定义属性使用 CMEK 创建目录

轮换客户管理的密钥

Google Cloud 不支持在现有的永久磁盘或映像中轮换密钥。一旦计算机预配完毕,它将与创建时使用的密钥版本绑定在一起。但是,可以创建密钥的新版本,新密钥用于在使用新主映像更新目录时创建的新预配的计算机或资源。

关于密钥链的重要注意事项

无法重命名或删除密钥链。此外,对其进行配置时可能会产生不可预见的费用。删除或移除密钥链时,Google Cloud 会显示一条错误消息:

Sorry, you can't delete or rename keys or key rings. We were concerned about the security implications of allowing multiple keys or key versions over time to have the same resource name, so we decided to make names immutable. (And you can't delete them, because we wouldn't be able to do a true deletion--there would still have to be a tombstone tracking that this name had been used and couldn't be reused).
We're aware that this can make things untidy, but we have no immediate plans to change this.
If you want to avoid getting billed for a key or otherwise make it unavailable, you can do so by deleting all the key versions; neither keys nor key rings are billed for, just the active key versions within the keys.
<!--NeedCopy-->

提示:

有关详细信息,请参阅从控制台编辑或删除密钥链

统一存储桶级别访问兼容性

Citrix DaaS 与 Google Cloud 上的统一存储桶级别访问控制策略兼容。此功能增强了 IAM 策略的使用,该策略向服务帐户授予权限,以允许操作资源,包括存储桶。通过统一存储桶级别访问控制,Citrix DaaS 允许您使用访问控制列表 (ACL) 来控制对存储桶或存储在其中的对象的访问。有关 Google 云端平台统一存储桶级别访问的概述信息,请参阅统一存储桶级别访问。有关配置信息,请参阅要求统一存储桶级别访问

使用 PowerShell

本部分内容详细介绍了如何使用 PowerShell 执行以下任务:

创建具有永久回写式缓存磁盘的目录

要使用永久回写式缓存磁盘配置目录,请使用 PowerShell 命令 New-ProvScheme CustomProperties

提示:

请仅将 PowerShell 参数 New-ProvScheme CustomProperties 用于基于云的托管连接。如果您想使用永久回写式缓存磁盘为本地解决方案(例如 XenServer)预配计算机,则不需要 PowerShell,因为该磁盘会自动保存。

此命令支持一个额外的属性 PersistWBC,用于确定 MCS 配置的计算机的回写式缓存磁盘的保存方式。仅当指定了 UseWriteBackCache 参数时,并且当 WriteBackCacheDiskSize 参数设置为指示创建了磁盘时才使用 PersistWBC 属性。

注意:

此行为同时适用于 Azure 和 GCP,在重启电源时,默认 MCSIO 回写示式缓存磁盘将删除并重新创建。可以选择保留该磁盘,以避免删除和重新创建 MCSIO 回写式缓存磁盘。

在支持 PersistWBC 之前在 CustomProperties 参数中找到的属性示例包括:

<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageAccountType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="benvaldev5RG3" />
</CustomProperties>
<!--NeedCopy-->

注意:

此示例仅适用于 Azure。GCP 环境中的属性会有所差别。

使用这些属性时,如果在 CustomProperties 参数中省略这些属性,请考虑其包含默认值。PersistWBC 属性有两个可能的值:truefalse

当 Citrix DaaS 管理员从管理界面关闭计算机时,将 PersistWBC 属性设置为 true 不会删除回写式缓存磁盘。

当 Citrix DaaS 管理员从管理界面关闭计算机时,将 PersistWBC 属性设置为 false 会删除回写式缓存磁盘。

注意:

如果省略 PersistWBC 属性,则该属性默认设置为 false,并在从管理界面关闭计算机时删除回写式缓存。

例如,使用 CustomProperties 参数将 PersistWBC 设置为 true:

<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageAccountType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="benvaldev5RG3" />
<Property xsi:type="StringProperty" Name="PersistWBC" Value="true" />
</CustomProperties>
<!--NeedCopy-->

重要提示:

只能使用 New-ProvScheme PowerShell cmdlet 设置 PersistWBC 属性。在创建后尝试更改预配方案 CustomProperties 不会影响计算机目录以及计算机关闭时回写式缓存磁盘的持久性。

例如,设置 New-ProvScheme 以在将 PersistWBC 属性设置为 true 时使用回写式缓存:

New-ProvScheme
-CleanOnBoot
-CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"StorageAccountType`" Value=`"Premium_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"benvaldev5RG3`" /><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"true`" /></CustomProperties>"
-HostingUnitName "adSubnetScale1"
-IdentityPoolName "BV-WBC1-CAT1"
-MasterImageVM "XDHyp:\HostingUnits\adSubnetScale1\image.folder\GoldImages.resourcegroup\W10MCSIO-01_OsDisk_1_a940e6f5bab349019d57ccef65d2c7e3.manageddisk"
-NetworkMapping @{"0"="XDHyp:\HostingUnits\adSubnetScale1\virtualprivatecloud.folder\CloudScale02.resourcegroup\adVNET.virtualprivatecloud\adSubnetScale1.network"}
-ProvisioningSchemeName "BV-WBC1-CAT1"
-ServiceOffering "XDHyp:\HostingUnits\adSubnetScale1\serviceoffering.folder\Standard_D2s_v3.serviceoffering"
-UseWriteBackCache
-WriteBackCacheDiskSize 127
-WriteBackCacheMemorySize 256
<!--NeedCopy-->

使用 MCSIO 提高启动性能

启用 MCSIO 后,可以提高 Azure 和 GCP 托管磁盘的引导性能。请使用 New-ProvScheme 命令中的 PowerShell PersistOSDisk 自定义属性配置此功能。与 New-ProvScheme 关联的选项包括:

<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageAccountType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="Resource<!--NeedCopy-->
``````<!--NeedCopy-->
````````Groups" Value="benvaldev5RG3" />
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="true" />
</CustomProperties>
<!--NeedCopy-->

要启用此功能,请将 PersistOSDisk 自定义属性设置为 true。例如:

New-ProvScheme
-CleanOnBoot
-CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"StorageAccountType`" Value=`"Premium_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"benvaldev5RG3`" /><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"true`" /></CustomProperties>"
-HostingUnitName "adSubnetScale1"
-IdentityPoolName "BV-WBC1-CAT1"
-MasterImageVM "XDHyp:\HostingUnits\adSubnetScale1\image.folder\GoldImages.resourcegroup\W10MCSIO-01_OsDisk_1_a940e6f5bab349019d57ccef65d2c7e3.manageddisk"
-NetworkMapping @{"0"="XDHyp:\HostingUnits\adSubnetScale1\virtualprivatecloud.folder\CloudScale02.resourcegroup\adVNET.virtualprivatecloud\adSubnetScale1.network"}
-ProvisioningSchemeName "BV-WBC1-CAT1"
-ServiceOffering "XDHyp:\HostingUnits\adSubnetScale1\serviceoffering.folder\Standard_D2s_v3.serviceoffering"
-UseWriteBackCache
-WriteBackCacheDiskSize 127
-WriteBackCacheMemorySize 256
<!--NeedCopy-->

使用自定义属性使用 CMEK 创建目录

通过 PowerShell 创建预配方案时,请在 ProvScheme CustomProperties 中指定 CryptoKeyId 属性。例如:

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="<yourCryptoKeyId>" />
</CustomProperties>'
<!--NeedCopy-->

必须按以下格式指定 cryptoKeyId

projectId:location:keyRingName:cryptoKeyName

例如,如果您想在区域 us-east1 和 ID 为 my-example-project-1 的项目中的密钥链 my-example-key-ring 中使用密钥 my-example-key,您的 ProvScheme 自定义设置将类似于:

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:us-east1:my-example-key-ring:my-example-key" />
</CustomProperties>'
<!--NeedCopy-->

与此预配方案相关的所有 MCS 预配磁盘和映像都使用此客户管理的加密密钥。

提示:

如果使用全局密钥,客户属性位置必须指出 global 而非区域名称,在上面的示例中为 us-east1。例如:<Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:global:my-example-key-ring:my-example-key" />

使用计算机配置文件创建计算机目录

创建目录以使用 Machine Creation Services (MCS) 预配计算机时,可以使用计算机配置文件从虚拟机捕获硬件属性并将其应用到目录中新预配的 VM。不使用 MachineProfile 参数时,将从主映像 VM 或快照中捕获硬件属性。 您明确定义的某些属性(例如 StorageTypeCatalogZonesCryptoKeyId)在计算机配置文件中会被忽略。

  • 要使用计算机配置文件创建目录,请使用 New-ProvScheme 命令。例如,New-ProvScheme –MachineProfile “path to VM”。如果未指定 MachineProfile 参数,则从主映像 VM 捕获硬件属性。
  • 要使用新的计算机配置文件更新目录,请使用 Set-ProvScheme 命令。例如,Set-ProvScheme –MachineProfile “path to new VM”。此命令不会更改目录中现有 VM 的计算机配置文件。只有添加到目录中的新创建的 VM 才具有新的计算机配置文件。
  • 您也可以更新主映像,但是,更新主映像时,不会更新硬件属性。如果要更新硬件属性,则需要使用 Set-ProvScheme 命令更新计算机配置文件。这些更改仅适用于目录中的新计算机。要更新现有计算机的硬件属性,可以使用带 -StartsNow-DurationInMinutes -1 参数的 Set-ProvVMUpdateTimeWindow 命令。

    注意:

    • StartsNow 表示计划的开始时间为当前时间。
    • DurationInMinutes 负数(例如 —1)表示计划的时间范围没有上限。

使用计算机配置文件作为实例模板创建计算机目录

您可以选择 GCP 实例模板作为计算机配置文件的输入。实例模板是 GCP 中的轻型资源,因此非常经济实惠。

使用计算机配置文件作为实例模板创建新计算机目录

  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。
  3. 使用以下命令在 GCP 项目中查找实例模板:

    cd XDHyp:\HostingUnits<HostingUnitName>\instanceTemplates.folder
    <!--NeedCopy-->
    
  4. 通过 NewProvScheme 命令使用计算机配置文件作为实例模板创建新的计算机目录:

    New-ProvScheme -ProvisioningSchemeName <CatalogName>  -HostingUnitName <HostingUnitName> -IdentityPoolName <identity pool name> -MasterImageVM
    XDHyp:\HostingUnits<HostingUnitName>\Base.vm\Base.snapshot -MachineProfile XDHyp:\HostingUnits<HostingUnitName>\instanceTemplates.folder\mytemplate.template
    <!--NeedCopy-->
    

    有关 New-ProvScheme 命令的详细信息,请参阅 https://developer-docs.citrix.com/projects/citrix-daas-sdk/en/latest/MachineCreation/New-ProvScheme/

  5. 使用 PowerShell 命令完成计算机目录的创建。

更新计算机目录以使用实例模板作为计算机配置文件

  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。
  3. 请运行以下命令:

    Set-ProvScheme -ProvisioningSchemeName  <CatalogName> -MachineProfile XDHyp:\HostingUnits<HostingUnitName>\instanceTemplates.folder<TemplateName>.template
    <!--NeedCopy-->
    

    有关 Set-ProvScheme 命令的信息,请参阅 https://developer-docs.citrix.com/projects/citrix-daas-sdk/en/latest/MachineCreation/Set-ProvScheme/

使用屏蔽虚拟机创建目录

可以创建具有受防护的 VM 属性的 MCS 计算机目录。一组安全控制措施强化了受防护的虚拟机,这些控制措施使用安全引导、虚拟可信平台模块、UEFI 固件和完整性监视等高级平台安全功能提供计算引擎实例的可验证的完整性。

MCS 支持使用计算机配置文件工作流程创建目录。如果使用计算机配置文件工作流程,必须启用 VM 实例的受防护的 VM 属性。然后,您可以使用此 VM 实例作为计算机配置文件输入。

使用屏蔽虚拟机创建 MCS 计算机目录

  1. 在 Google Cloud 控制台中启用 VM 实例的受防护的 VM 选项。请参阅快速入门:启用安全强化型 VM 选项
  2. 使用虚拟机实例创建包含计算机配置文件工作流程的 MCS 计算机目录。
    1. 打开 PowerShell 窗口
    2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。
    3. 创建标识池(如果尚未创建)。
    4. 运行 New-ProvScheme 命令。例如:

      New-ProvScheme -ProvisioningSchemeName <catalog-name>
      -HostingUnitName gcp-hostint-unit
      -MasterImageVM XDHyp:\HostingUnits\gcp-hostint-unit\catalog-vda.vm
      -MachineProfile XDHyp:\HostingUnits\gcp-hostint-unit\catalog-machine.vm
      <!--NeedCopy-->
      
  3. 完成计算机目录的创建。

使用新的计算机配置文件更新计算机目录

  1. 运行 Set-ProvScheme 命令。例如:

    Set-ProvScheme -ProvisioningSchemeName <catalog-name>
    -MasterImageVM XDHyp:\HostingUnits<hostin-unit>\catalog-vda.vm
    -MachineProfile "DHyp:\HostingUnits<hostin-unit>\catalog-machine.vm
    <!--NeedCopy-->
    

要将在 Set-ProvScheme 中所做的更改应用到现有 VM,请运行 Set-ProvVMUpdateTimeWindow 命令。

  1. 运行 Set-ProvVMUpdateTimeWindow 命令。例如:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  2. 重新启动 VM。

Google Cloud Marketplace

可以在 Google Cloud Marketplace 上浏览和选择 Citrix 提供的映像来创建计算机目录。目前,MCS 仅支持面向此功能的计算机配置文件工作流程。

要通过 Google Cloud Marketplace 搜索 Citrix VDA VM 产品,请转至 https://console.cloud.google.com/marketplace/

可以使用自定义映像或 Google Cloud Marketplace 上的 Citrix Ready 映像来更新计算机目录的映像。

注意:

如果计算机配置文件不包含存储类型信息,则该值来自自定义属性。

支持的 Google Cloud Marketplace 映像如下:

  • Windows 2019 单会话
  • Windows 2019 多会话
  • Ubuntu

使用 Citrix Ready 映像作为创建计算机目录的源示例:

New-ProvScheme -ProvisioningSchemeName GCPCatalog \
-HostingUnitName GcpHu -IdentityPoolName gcpPool -CleanOnBoot \
-MasterImageVM XDHyp:\HostingUnits\GcpHu\images.folder\citrix-daas-win2019-single-vda-v20220819.publicimage \
-MachineProfile XDHyp:\HostingUnits\GcpHu\Base.vm
<!--NeedCopy-->

下一步的去向

更多信息