创建 谷歌云平台 目录
(/zh-cn/citrix-virtual-apps-desktops/2402-ltsr/install-configure/machine-catalogs-create.html) 介绍了创建计算机目录的向导。以下信息涵盖了 Google 云环境特有的详细信息。
注意:
在创建 Google Cloud Platform (GCP) 目录之前,您需要完成与 GCP 的连接创建。请参阅 (/zh-cn/citrix-virtual-apps-desktops/2402-ltsr/install-configure/connections/connection-gcp.html)。
准备主 VM 实例和永久性磁盘
提示:
永久性磁盘是 Google Cloud 中虚拟磁盘的术语。
要准备主 VM 实例,请创建并配置一个 VM 实例,其属性应与您计划的计算机目录中克隆的 VDA 实例所需的配置相匹配。此配置不仅适用于实例大小和类型,还包括元数据、标签、GPU 分配、网络标签和服务帐户属性等实例属性。
作为主映像创建过程的一部分,MCS 使用您的主 VM 实例来创建 Google Cloud 实例模板。然后,该实例模板用于创建构成计算机目录的克隆 VDA 实例。克隆实例继承了创建实例模板所用的主 VM 实例的属性(VPC、子网和永久性磁盘属性除外)。
根据您的具体要求配置主 VM 实例的属性后,启动该实例,然后为该实例准备永久性磁盘。
我们建议您手动创建磁盘快照。这样做可以让您使用有意义的命名约定来跟踪版本,为您提供更多选项来管理主映像的早期版本,并节省计算机目录创建时间。如果您不创建自己的快照,MCS 会为您创建一个临时快照(该快照在预配过程结束时删除)。
创建计算机目录
您可以通过两种方式创建计算机目录:
- 使用 Web Studio 创建计算机目录(/zh-cn/citrix-virtual-apps-desktops/2402-ltsr/install-configure/machine-catalogs-create/create-machine-catalog-gcp.html#create-a-machine-catalog-using-web-studio)
- 使用 PowerShell 创建计算机目录(/zh-cn/citrix-virtual-apps-desktops/2402-ltsr/install-configure/machine-catalogs-create/create-machine-catalog-gcp.html#create-a-machine-catalog-using-powershell)
使用 Web Studio 创建计算机目录
注意:
在创建计算机目录之前,请先创建资源。配置计算机目录时,请使用 Google Cloud 建立的命名约定。有关详细信息,请参阅存储桶和对象命名准则。
请遵循创建计算机目录中的指导。以下描述是 Google Cloud 目录特有的。
-
登录 Web Studio 并在左侧窗格中选择计算机目录。
-
在操作栏中选择创建计算机目录。
-
在操作系统页面上,选择多会话操作系统,然后选择下一步。
- 思杰虚拟应用和桌面™ 也支持单会话操作系统。
-
在计算机管理页面上,选择电源管理的计算机和 Citrix Machine Creation Services™ 选项,然后选择下一步。如果有多个资源,请从菜单中选择一个。
-
在映像页面上,根据需要完成以下步骤,然后单击下一步。
- 选择快照或虚拟机作为主映像。如果要使用独占租户功能,请务必选择节点组属性配置正确的映像。请参阅启用区域选择。
-
要使用现有虚拟机作为计算机配置文件,请选择“使用计算机配置文件”,然后选择该虚拟机。
注意:
目前,此目录中的虚拟机从计算机配置文件继承磁盘加密集 ID、计算机大小、存储类型和区域设置。
- 选择目录的最低功能级别。要使用独占租用功能,请务必选择一个映像,该映像的节点组属性已正确配置。
-
在“存储类型”页面上,选择用于包含此计算机目录操作系统的存储类型。以下每个存储选项都具有独特的定价和性能特征。(身份磁盘始终使用区域标准永久性磁盘创建。)
- 标准永久性磁盘
- 平衡永久性磁盘
- SSD 永久性磁盘
有关 Google Cloud 存储选项的详细信息,请参阅 https://cloud.google.com/compute/docs/disks/。
-
在“虚拟机”页面上,指定要创建的 VM 数量,查看 VM 的详细规范,然后选择“下一步”。如果您将单租户节点组用于计算机目录,请务必仅选择可用预留单租户节点的区域。请参阅 启用区域选择。
-
在“计算机帐户”页面上,选择一个 Active Directory 帐户,然后选择“下一步”。
- 如果选择“创建新的 Active Directory 帐户”,请选择一个域,然后输入表示在 Active Directory 中创建的预配 VM 计算机帐户的命名方案的字符序列。帐户命名方案可以包含 1–64 个字符,并且不能包含空格、非 ASCII 字符或特殊字符。
- 如果选择“使用现有 Active Directory 帐户”,请选择“浏览”以导航到所选计算机的现有 Active Directory 计算机帐户。
-
在“域凭据”页面上,选择“输入凭据”,键入用户名和密码,选择“保存”,然后选择“下一步”。
- 您键入的凭据必须具有执行 Active Directory 帐户操作的权限。
-
在“摘要”页面上,确认信息,指定目录名称,然后选择“完成”。
注意:
从版本 2402 开始,GCP 目录名称必须符合以下规则:
- 以小写字母开头。
- 只包含小写字母 (a-z)、数字和连字符。
- 必须以小写字母或数字结尾。
当您尝试重命名不符合这些规则的现有 GCP 目录时,将显示错误消息,指导您根据更新的规则重命名它们。
计算机目录创建可能需要很长时间才能完成。要验证计算机是否已在目标节点组上创建,请转到 Google Cloud 控制台。
导入手动创建的 Google Cloud 计算机
您可以创建与 Google Cloud 的连接,然后创建包含 Google Cloud 计算机的目录。然后,您可以通过 Citrix Virtual Apps and Desktops 手动对 Google Cloud 计算机进行电源循环。借助此功能,您可以:
- 将手动创建的谷歌云多会话操作系统计算机导入 Citrix Virtual Apps and Desktops 计算机目录中。
- 从 Citrix Virtual Apps and Desktops 目录中移除手动创建的谷歌云多会话操作系统计算机。
- 使用现有的 Citrix Virtual Apps and Desktops 电源管理功能来电源管理 Google Cloud Windows 多会话操作系统计算机。例如,为这些计算机设置重新启动计划。
此功能不需要更改现有的 Citrix Virtual Apps and Desktops 预配工作流,也不需要移除任何现有功能。我们建议您使用 MCS 在 Web Studio 中预配计算机,而不是导入手动创建的 Google Cloud 计算机。
共享虚拟私有云
共享虚拟私有云 (VPC) 包含一个主机项目(从中提供共享子网)以及一个或多个使用该资源的服务项目。共享 VPC 是大型安装的理想选择,因为它们提供对共享企业 Google 云资源的集中控制、使用和管理。有关详细信息,请参阅 Google 文档站点。
借助此功能,Machine Creation Services (MCS) 支持预配和管理部署到共享 VPC 的计算机目录。此支持在功能上等同于当前在本地 VPC 中提供的支持,但在两个方面有所不同:
- 您必须向用于创建主机连接的服务帐户授予额外权限。此过程允许 MCS 访问和使用共享 VPC 资源。
- 您必须创建两条防火墙规则,一条用于入站,一条用于出站。这些防火墙规则在映像母版制作过程中使用。
所需的新权限
创建主机连接时,需要具有特定权限的 Google Cloud 服务帐号。必须将这些额外权限授予用于创建基于共享 VPC 的主机连接的任何服务帐号。
提示:
这些额外权限对于 Citrix Virtual Apps and Desktops 而言并非新功能。它们用于促进本地 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。
- 需要将权限 #3 和 #4 分配给服务帐号。
- 子网级权限:
- 允许访问共享 VPC 中的特定子网。
- 权限 #3 和 #4 内置于子网级别分配中,因此无需直接分配给服务帐户。
选择能够符合贵组织需求以及安全标准的方法。
提示:
有关项目级和子网级权限之间差异的更多信息,请参阅 Google Cloud 文档。
防火墙规则
在准备计算机目录期间,会准备一个计算机映像,作为目录的主映像系统磁盘。在此过程发生时,磁盘会临时附加到虚拟机。此虚拟机必须在隔离环境中运行,以防止所有入站和出站网络流量。这通过一对拒绝所有流量的防火墙规则实现;一个用于入站流量,一个用于出站流量。使用 Google Cloud 本地 VPC 时,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
在 Web Studio 中将共享 VPC 添加为主机连接之前,请完成以下步骤以添加您打算预配到的项目中的服务帐户:
- 创建 IAM 角色。
- 将用于创建 CVAD 主机连接的服务帐户添加到共享 VPC 主机项目 IAM 角色。
- 将您打算预配到的项目中的 Cloud Build 服务帐户添加到共享 VPC 主机项目 IAM 角色。
- 创建防火墙规则。
创建 IAM 角色
确定角色的访问级别 — 项目级别访问或使用子网级别访问的更受限模型。
IAM 角色的项目级别访问。对于项目级别 IAM 角色,请包括以下权限:
- compute.firewalls.list
- 计算.网络.列表
- 计算.子网络.列表
- 使用计算子网
要创建项目级别 IAM 角色:
- 在 Google Cloud 控制台中,导航到 IAM 和管理 > 角色。
- 在“角色”页面上,选择“创建角色”。
- 在“创建角色”页面上,指定角色名称。选择“添加权限”。
- 在“添加权限”页面上,单独向角色添加权限。要添加权限,请在“筛选表”字段中键入权限名称。选择权限,然后选择“添加”。
- 选择“创建”。
子网级别 IAM 角色。此角色在选择“创建角色”后省略了权限 compute.subnetworks.list 和 compute.subnetworks.use 的添加。对于此 IAM 访问级别,必须将权限 compute.firewalls.list 和 compute.networks.list 应用于新角色。
要创建子网级别的 IAM 角色:
- 在 Google Cloud 控制台中,导航到 VPC network > Shared VPC。将显示 Shared VPC 页面,其中包含主机项目所包含的共享 VPC 网络的子网。
- 在 Shared VPC 页面上,选择要访问的子网。
- 在右上角,选择 ADD MEMBER 以添加服务帐户。
- 在 Add members 页面上,完成以下步骤:
- 在 New members 字段中,键入您的服务帐户名称,然后从菜单中选择您的服务帐户。
- 选择“选择角色”字段,然后选择“计算网络用户”。
- 选择“保存”。
- 在 Google Cloud 控制台中,导航到 IAM 和管理 > 角色。
- 在“角色”页面上,选择“创建角色”。
- 在“创建角色”页面上,指定角色名称。选择“添加权限”。
- 在 Add permissions 页面上,单独向角色添加权限。要添加权限,请在 Filter table 字段中键入权限名称。选择该权限,然后选择 ADD。
- 选择“创建”。
将服务帐户添加到主机项目 IAM 角色
创建 IAM 角色后,执行以下步骤为主机项目添加服务帐户:
- 在 Google Cloud 控制台中,导航到主机项目,然后转到 IAM 和管理 > IAM。
- 在 IAM 页面上,选择 添加 以添加服务帐户。
- 在 添加成员 页面上:
- 在 新成员 字段中,键入您的服务帐户名称,然后从菜单中选择您的服务帐户。
- 选择一个角色字段,键入您创建的 IAM 角色,然后从菜单中选择该角色。
- 选择 保存。
服务帐户现在已为主机项目完成配置。
将云构建服务帐户添加到共享 VPC
每个 Google Cloud 订阅都有一个服务帐户,其名称是项目 ID 号,后跟 cloudbuild.gserviceaccount。例如:705794712345@cloudbuild.gserviceaccount。
您可以通过在 Google Cloud 控制台中选择 主页 和 控制台 来确定您的项目 ID 号:
谷歌云控制台导航窗格(/zh-cn/citrix-virtual-apps-desktops/2402-ltsr/media/gcp-console-navigation-pane.png)
在屏幕的 项目信息 区域下方找到 项目编号。
执行以下步骤将 Cloud Build 服务帐户添加到共享 VPC:
- 在 Google Cloud 控制台中,导航到主机项目,然后转到 IAM 和管理 > IAM。
- 在 权限 页面上,选择 添加 以添加帐户。
- 在“添加成员”页面上,完成以下步骤:
- 在“新成员”字段中,键入 Cloud Build 服务帐户的名称,然后从菜单中选择您的服务帐户。
- 选择“选择角色”字段,键入
Computer Network User,然后从菜单中选择该角色。 - 选择“保存”。
创建防火墙规则
作为主映像创建过程的一部分,MCS 会复制选定的计算机映像,并使用它为目录准备主映像系统磁盘。在主映像创建过程中,MCS 会将磁盘附加到临时虚拟机,然后该虚拟机运行准备脚本。此虚拟机必须在禁止所有入站和出站网络流量的隔离环境中运行。为了创建隔离环境,MCS 需要两条拒绝所有防火墙规则(一条入站规则和一条出站规则)。因此,请在主机项目中创建两条防火墙规则,如下所示:
- 在 Google Cloud 控制台中,导航到主机项目,然后导航到“VPC 网络 > 防火墙”。
- 在“防火墙”页面上,选择“创建防火墙规则”。
- 在“创建防火墙规则”页面上,完成以下操作:
- 名称。键入规则的名称。
- 网络。选择入站防火墙规则适用的共享 VPC 网络。
- 优先级。值越小,规则的优先级越高。我们建议使用较小的值(例如,10)。
- 流量方向。选择“入站”。
- 匹配操作。选择“拒绝”。
- 目标。使用默认值“指定目标标记”。
-
目标标签。键入
citrix-provisioning-quarantine-firewall。 - 源筛选器。使用默认值 IP 范围。
-
源 IP 范围。键入与所有流量匹配的范围。键入
0.0.0.0/0。 - 协议和端口。选择 拒绝所有。
- 选择 创建 以创建规则。
- 重复步骤 1–4 以创建另一个规则。对于 流量方向,选择 出站。
添加连接
将连接添加到 Google 云环境。请参阅添加连接。
启用区域选择
Citrix Virtual Apps and Desktops 支持区域选择。通过区域选择,您可以指定要创建 VM 的区域。通过区域选择,管理员可以将独占租户节点放置在他们选择的区域中。要配置独占租户,您必须在 Google Cloud 上完成以下操作:
- 预留 Google Cloud 独占租户节点
- 创建 VDA 主映像
预留 Google Cloud 独占租户节点
要预留独占租户节点,请参阅 Google Cloud 文档。
重要提示:
节点模板用于指示在节点组中保留的系统的性能特征。这些特征包括 vGPU 的数量、分配给节点的内存量以及用于在该节点上创建的计算机的计算机类型。有关详细信息,请参阅 Google Cloud 文档。
创建 VDA 主映像
要成功地在单租户节点上部署计算机,在创建主 VM 映像时需要执行额外的步骤。Google Cloud 上的计算机实例具有一个名为 节点亲和性标签 的属性。用作部署到单租户节点的目录的主映像的实例需要一个与 目标节点组 名称匹配的 节点亲和性标签。为此,请记住以下几点:
- 对于新实例,请在创建实例时在 Google Cloud 控制台中设置标签。有关详细信息,请参阅 预配单租户 VM。
- 对于现有实例,请使用 gcloud 命令行设置标签。有关详细信息,请参阅 配置节点亲和性标签。
注意:
如果您打算将单租户与共享 VPC 结合使用,请参阅 共享虚拟私有云。
创建计算机目录
设置节点亲和性标签后,配置计算机目录。
客户管理的加密密钥 (CMEK)
您可以将客户管理的加密密钥 (CMEK) 用于 MCS 目录。使用此功能时,您需要将 Google Cloud Key Management Service CryptoKey Encrypter/Decrypter 角色分配给 Compute Engine Service Agent。Citrix Virtual Apps and Desktops 帐户必须在存储密钥的项目中具有正确的权限。有关详细信息,请参阅 通过使用 Cloud KMS 密钥帮助保护资源。
您的计算引擎服务代理采用以下形式:service-<Project _Number>@compute-system.iam.gserviceaccount.com。此形式与默认的计算引擎服务帐号不同。
注意:
此 Compute Engine Service Account 可能不会显示在 Google Console 的 IAM 权限 显示中。在这种情况下,请使用
gcloud命令,如 通过使用 Cloud KMS 密钥帮助保护资源 中所述。
将权限分配给 Citrix 虚拟应用和桌面帐户
Google Cloud KMS 权限可以通过多种方式配置。您可以提供项目级别的 KMS 权限,也可以提供资源级别的 KMS 权限。有关更多信息,请参阅权限和角色。
项目级别的权限
一种选择是为 Citrix Virtual Apps and Desktops 帐户提供项目级别权限,以浏览 Cloud KMS 资源。为此,请创建一个自定义角色,并添加以下权限:
cloudkms.keyRings.listcloudkms.keyRings.getcloudkms.cryptokeys.listcloudkms.cryptokeys.get
将此自定义角色分配给您的 Citrix Virtual Apps and Desktops。这允许您在清单中浏览相关项目中的区域密钥。
资源级别的权限
对于另一个选项,即资源级别权限,在 Google Cloud 控制台中,浏览到您用于 MCS 预配的 cryptoKey。将 Citrix Virtual Apps and Desktops 帐户添加到您用于目录预配的密钥环或密钥。
提示:
使用此选项,您无法在清单中浏览项目的区域密钥,因为 Citrix Virtual Apps and Desktops 帐户没有 Cloud KMS 资源的项级列表权限。但是,您仍然可以通过在
ProvScheme自定义属性中指定正确的cryptoKeyId来使用 CMEK 预配目录,如下所述。
使用自定义属性通过 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" />。
轮换客户管理的密钥
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 Virtual Apps and Desktops 与 Google Cloud 上的统一存储桶级访问控制策略兼容。此功能增强了 IAM 策略的使用,该策略向服务帐户授予权限以允许操作资源,包括存储桶。通过统一存储桶级访问控制,Citrix Virtual Apps and Desktops 允许您使用访问控制列表 (ACL) 来控制对存储桶或其中存储的对象的访问。有关 Google Cloud 统一存储桶级访问的概述信息,请参阅 统一存储桶级访问。有关配置信息,请参阅 要求统一存储桶级访问。
使用 PowerShell 创建计算机目录
本节详细介绍了如何使用 PowerShell 创建目录:
- 创建具有持久回写缓存磁盘的目录(#create-a-catalog-with-persistent-write-back-cache-disk)
- 使用 MCSIO 提高启动性能(#improve-boot-performance-with-mcsio)
- 使用计算机配置文件创建计算机目录(#create-a-machine-catalog-using-a-machine-profile)
- 创建以计算机配置文件作为实例模板的计算机目录(#create-a-machine-catalog-with-machine-profile-as-an-instance-template)
- 使用 PowerShell 创建具有受保护 VM 的目录(#use-powershell-to-create-a-catalog-with-shielded-vm)
- 在独占租户节点上创建 Windows 11 VM(#create-windows-11-vms-on-the-sole-tenant-node)
创建具有持久回写缓存磁盘的目录
要配置具有持久回写缓存磁盘的目录,请使用 PowerShell 参数 New-ProvScheme CustomProperties。
提示:
此处仅将 PowerShell 参数用于基于云的托管连接。如果要为本地解决方案(例如 XenServer®)预配使用持久回写缓存磁盘的计算机,则不需要 PowerShell,因为磁盘会自动持久保存。
此参数支持一个额外的属性 PersistWBC,用于确定 MCS 预配计算机的回写缓存磁盘如何持久保存。PersistWBC 属性仅在指定 UseWriteBackCache 参数且设置 WriteBackCacheDiskSize 参数以指示已创建磁盘时使用。
注意:
此行为适用于 Azure 和 GCP,在这两种情况下,默认的 MCSIO 回写缓存磁盘在电源循环时会被删除并重新创建。您可以选择持久保存磁盘,以避免删除和重新创建 MCSIO 回写缓存磁盘。
当 Citrix Virtual Apps and Desktops 管理员从管理界面关闭计算机时,将 PersistWBC 属性设置为 true 不会删除回写缓存磁盘。
当 Citrix Virtual Apps and Desktops 管理员从管理界面关闭计算机时,将 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-->
注意:
PersistWBC属性只能使用New-ProvSchemePowerShell cmdlet 进行设置。尝试在创建后更改预配方案的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-->
<!--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-->
使用计算机配置文件创建计算机目录
当您创建目录以使用 Machine Creation Services (MCS) 预配计算机时,您可以使用计算机配置文件从虚拟机捕获硬件属性,并将其应用于目录中新预配的 VM。如果未使用 MachineProfile 参数,则硬件属性将从主映像 VM 或快照中捕获。
您明确定义的一些属性(例如 StorageType、CatalogZones 和 CryptoKeyIs)将从计算机配置文件中忽略。
- 要使用计算机配置文件创建目录,请使用
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表示计划的开始时间是当前时间。 - 带有负数(例如 –1)的
DurationInMinutes表示计划时间窗口没有上限。
-
使用实例模板作为计算机配置文件创建计算机目录
您可以选择 GCP 实例模板作为计算机配置文件的输入。实例模板是 GCP 中轻量级的资源,因此非常经济高效。
使用实例模板作为计算机配置文件创建新的计算机目录
- Open a PowerShell window.
- 运行
asnp citrix*以加载 思杰 特定的 PowerShell 模块。 -
使用以下命令在 GCP 项目中查找实例模板:
cd XDHyp:\HostingUnits\<HostingUnitName>\instanceTemplates.folder <!--NeedCopy--> -
使用 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/。
- 使用 PowerShell 命令完成计算机目录的创建。有关如何使用远程 PowerShell SDK 创建目录的信息,请参阅 https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/。
将现有计算机目录的计算机配置文件更改为实例模板
将现有计算机目录的计算机配置文件更改为实例模板的详细步骤如下:
- 打开 PowerShell 命令行管理程序窗口。
- 运行
asnp citrix*以加载思杰特有的 PowerShell 模块。 -
运行以下命令:
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/。
使用 PowerShell 创建包含受保护 VM 的目录
您可以创建具有受保护 VM 属性的 MCS 计算机目录。受保护的虚拟机通过一组安全控制进行强化,这些控制使用高级平台安全功能(如安全启动、虚拟可信平台模块、UEFI 固件和完整性监控)提供可验证的 Compute Engine 实例完整性。
MCS 支持使用计算机配置文件工作流创建目录。如果使用计算机配置文件工作流,则必须启用 VM 实例的受保护 VM 属性。然后,您可以将此 VM 实例用作计算机配置文件输入。
要使用计算机配置文件工作流创建包含受保护 VM 的 MCS 计算机目录。
- 在 Google Cloud 控制台中启用 VM 实例的受保护 VM 选项。请参阅“快速入门:启用受保护 VM 选项”。
-
使用 VM 实例通过计算机配置文件工作流创建 MCS 计算机目录。
- 打开 PowerShell 命令行窗口。
- 运行
asnp citrix*命令,以便加载 Citrix 专用的 PowerShell 模块。 - 如果尚未创建,请创建身份池。
-
运行
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-->
- 完成创建计算机目录。
要使用新的计算机配置文件更新计算机目录:
-
运行
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 命令。
-
运行
Set-ProvVMUpdateTimeWindow命令。例如:Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1 <!--NeedCopy--> -
重新启动 VM。
在单租户节点上创建 Windows 11 VM
您可以在 GCP 中创建 Windows 11 VM。但是,如果您在主映像上安装 Windows 11,则必须在主映像创建过程中启用 vTPM。此外,您还必须在计算机配置文件源(VM 或实例模板)上启用 vTPM。
在单租户节点上创建 Windows 11 VM 的关键步骤如下:
- 设置 Google Cloud 虚拟化环境。有关信息,请参阅 Google Cloud 环境。
- 安装 VDA。请参阅 安装 VDA。
- 创建与 Google Cloud 环境的连接。有关信息,请参阅 连接到 Google Cloud 环境。
- 创建 Windows 11 自带许可证 (BYOL) 主映像并将映像导入 Google Cloud。请参阅 创建 Windows 11 BYOL 主映像。
- 创建计算机配置文件源:在单租户节点上预配 VM 并启用源计算机配置文件的 vTPM。请参阅 在单租户节点上预配 VM。
- 使用已启用 vTPM 的 Windows 11 计算机配置文件源创建 MCS 计算机目录。计算机配置文件源必须具有与单租户节点中描述的实例类型相同的实例类型。请参阅 使用 Windows 11 计算机配置文件源创建 MCS 计算机目录。
创建 Windows 11 自带许可证主映像
有两种选项可以创建 Windows 11 BYOL 主映像并将其导入 Google Cloud:
- 使用谷歌云云构建工具
- 在任何其他虚拟机管理程序上创建主映像
使用谷歌云云构建工具
- 将 Windows 11 ISO 镜像文件、谷歌云平台软件开发工具包、.NET 框架和 PowerShell 安装程序文件上传到谷歌云平台存储桶。
- 在云构建
.yaml文件中提供文件位置作为参数。 -
从命令行运行以下 Cloud Build 以构建最终的 Windows 11 映像。GCP 使用 GCP 中的 Daisy 工作流在所选项目中引导并创建主映像,然后将主映像导入 GCP。
gcloud compute instances import INSTANCE-NAME--source-uri=gs://BUCKET/IMAGE-OVF-FILE.ovf --guest-os-features=UEFI_COMPATIBLE --byol --machine-type=MACHINE-TYPE --zone=ZONE <!--NeedCopy-->注意:
将所有大写字母文本替换为实际的资源详细信息。
有关完整信息,请参阅创建自定义 Windows BYOL 映像。
在任何其他虚拟机管理程序上创建主映像
- 使用任何其他虚拟机管理程序创建 Windows 11 主映像。
- 将主映像以 OVF 格式导出到本地计算机。
-
使用本地 gcloud CLI 将 OVF 文件上传到 GCP 存储桶。
gsutil cp LOCAL_IMAGE_PATH_OVF_FILES gs://BUCKET_NAME/ <!--NeedCopy--> -
从命令行运行以下 Cloud Build 以构建最终的 Windows 11 映像。GCP 使用 GCP 中的 Daisy 工作流在所选项目中引导并创建主映像,然后将主映像导入 GCP。
gcloud compute instances import INSTANCE-NAME --source-uri=gs://BUCKET/IMAGE-OVF-FILE.ovf --guest-os-features=UEFI_COMPATIBLE --byol --machine-type=MACHINE-TYPE --zone=ZONE <!--NeedCopy-->注意:
将所有大写字母文本替换为实际的资源详细信息。
在独占租户节点上预配 VM
使用独占租户节点可使您的 VM 与其他项目中的 VM 物理隔离,或将您的 VM 分组到同一主机硬件上。有关独占租户节点的信息,请参阅 GCP 文档独占租户概览。
有关在独占租户节点上预配 VM(计算机配置文件源)的信息,请参阅 GCP 文档在独占租户节点上预配 VM。
注意:
- 选择与节点组相同的实例类型和区域。
- 在“受保护的 VM”部分中启用 vTPM。有关详细信息,请参阅快速入门:启用受保护的 VM 选项。
- 在源虚拟机上禁用 Bitlocker。
使用 Windows 11 计算机配置文件源创建 MCS 计算机目录
您可以使用 Web 工作室或 PowerShell 命令来创建 MCS 计算机目录,以创建 Windows 11 虚拟机。
注意:
- 对于主映像,选择 Windows 11 快照或 VM。
- 对于计算机配置文件源,选择 Windows 11 VM 作为计算机配置文件。计算机配置文件源必须具有与独占租户节点中描述的相同的实例类型。
有关使用 Web Studio 的信息,请参阅使用 Web Studio 创建计算机目录。
有关 PowerShell 命令的信息,请参阅使用计算机配置文件创建计算机目录
创建目录并启动 VM 后,您可以在 Google Cloud 控制台上看到 Windows 11 VM 在独占租户节点上运行。
Google Cloud Marketplace
您可以浏览并选择 Citrix 在 Google Cloud Marketplace 上提供的映像来创建计算机目录。目前,MCS 仅支持此功能的计算机配置文件工作流。
要通过谷歌云市场搜索 Citrix VDA VM 产品,请访问 https://console.cloud.google.com/marketplace。
您可以使用自定义映像或 Google Cloud Marketplace 上的 Citrix ready® 映像来更新计算机目录的映像。
注意:
如果计算机配置文件不包含存储类型信息,则该值将从自定义属性中派生。
支持的谷歌云市场映像包括:
- 视窗 2019 单会话
- 视窗 2019 多会话
- 乌班图
使用 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-->
后续步骤
- 如果这是创建的第一个目录,Web Studio 将引导您创建交付组
- 要查看整个配置过程,请参阅安装和配置
- 要管理目录,请参阅管理计算机目录和管理 Google Cloud Platform 目录