Citrix Virtual Apps and Desktops

创建 VMware 目录

创建计算机目录 介绍了用于创建计算机目录的向导。以下信息涵盖了 VMware 虚拟化环境特有的详细信息。

注意:

在创建 VMware 目录之前,您需要完成与 VMware 的连接创建。请参阅 连接到 VMware

创建主 VM

使用主 VM 在计算机目录中提供用户桌面和应用程序。在您的管理程序上:

  1. 在主 VM 上安装 VDA,选择优化桌面的选项,这可以提高性能。
  2. 为主 VM 创建快照以用作备份。

注意:

您可以使用 MCS 在 vSAN 8.0 环境中预配 VM。

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

您可以使用计算机配置文件创建 MCS 计算机目录。计算机配置文件输入的来源是 VMware 模板。计算机配置文件从 VMware 模板捕获硬件属性,并将其应用于目录中新预配的 VM。

注意:

  • 主映像输入(快照)和计算机配置文件输入(VMware 模板)必须都启用 vTPM 或都禁用 vTPM。此规则同时适用于 New-ProvSchemeSet-ProvScheme
  • 如果主映像启用了 vTPM,则 VMware 模板只能来自与主映像相同的 VM 源。
  • 加密存储策略仅支持完整克隆。
  • 基于计算机配置文件的目录利用提供的 VMware 模板收集存储控制器信息,并依赖于附加的虚拟磁盘。该模板必须包含一个虚拟磁盘,用于检索存储控制器信息,而该信息又用于配置虚拟机的虚拟磁盘。

计算机配置文件中的 VMware 模板在目录生命周期内必须存在,以便能够向目录预配 VM。如果没有 VMware 模板,则无法预配新的 VM。当 VMware 模板被删除时,您必须使用 Set-ProvScheme 命令提供一个新模板。

  • MCS 捕获 VMware 模板的属性。您可以使用 Get-Provscheme 命令,通过引用 VMware 模板的存储属性来创建新的 VMware 模板。
  • 此外,如果计算机目录和预配的 VM 存在,则 MCS 预配的计算机也可以用于创建新的 VMware 模板。
  • 启用 MCSIO 后,您可以在创建 MCS 目录之后更新内存和磁盘缓存大小。

根据不同的操作系统,您可以创建具有不同配置的计算机目录:

  • 如果主映像上安装了 Windows 11,则要求为主映像启用 vTPM。因此,作为计算机配置文件源的 VMware 模板必须附加 vTPM。
  • 如果主映像上安装了 Windows 10 且未附加 vTPM,则可以使用非 vTPM VMware 模板作为计算机配置文件的源来创建计算机目录。

还有另一种配置,您可以在其中使用完整复制磁盘模式创建计算机目录,并应用了加密存储策略的计算机配置文件模板。

要使用 PowerShell 命令以计算机配置文件作为输入创建计算机目录:

  1. 请打开一个 PowerShell 窗口。
  2. 运行 asnp citrix®*
  3. 运行以下命令:

    • 要创建以附加 vTPM 的 VMware 模板作为计算机配置文件输入的源且安装了 Windows 11 的主映像的计算机目录:

       $identityPool = New-AcctIdentityPool  -IdentityPoolName "<string>"
       -NamingScheme "<string>-###"
       -NamingSchemeType Numeric
       -Domain "<domain name"
       -ZoneUid "<Uid>"  -Scope @()
       <!--NeedCopy-->
      
       $provScheme =New-ProvScheme  -CleanOnBoot
       -HostingUnitName "vSanRg"
       -IdentityPoolName "<string>"
       -InitialBatchSizeHint 1
       -MasterImageVM "XDHyp:\HostingUnits\<hosting unit name>\<snapshot name>.snapshot"
       -NetworkMapping @{"0"="XDHyp:\HostingUnits\<hosting unit name>\\<network name>.network"}
       -ProvisioningSchemeName "<string>"
       -Scope @() -VMCpuCount 4
       -VMMemoryMB 6144
       -MachineProfile "XDHyp:\HostingUnits\<hosting unit name>\<template name>.template" -TenancyType Shared
       -FunctionalLevel "L7_20"
       <!--NeedCopy-->
      
       $catalog = New-BrokerCatalog
       -AllocationType "Static"
       -PersistUserChanges  "OnLocal"
       -Description "<string>"
       -IsRemotePC $False
       -MinimumFunctionalLevel 'L7_9'
       -Name "<catalog name>"
       -ProvisioningType 'MCS'
       -Scope @()
       -SessionSupport "SingleSession" -ZoneUid "<Uid>"
       <!--NeedCopy-->
      
       Set-BrokerCatalog -Name "<string>"
       -ProvisioningSchemeId $provScheme.ProvisioningSchemeUid.Guid
       <!--NeedCopy-->
      
    • 要使用非 vTPM VMware 模板作为计算机配置文件和 Windows10 安装主映像的源来创建计算机目录:

       $identityPool = New-AcctIdentityPool
       -IdentityPoolName "<string>"
       -NamingScheme "<string>-###" -NamingSchemeType Numeric
       -Domain "<domain name>"
       -ZoneUid "<Uid>"  -Scope @()
       <!--NeedCopy-->
      
       $provScheme =New-ProvScheme
       -CleanOnBoot -HostingUnitName "<string>"
       -IdentityPoolName "<string>"
       -InitialBatchSizeHint 1
       -MasterImageVM "XDHyp:\HostingUnits\<hosting unit name>\<snapshot name>.snapshot
       -NetworkMapping @{"0"="XDHyp:\HostingUnits\<hosting unit name>\\<string>.network"}
       -ProvisioningSchemeName "<string>"  -Scope @() -VMCpuCount 4  -VMMemoryMB 8192
       -MachineProfile "XDHyp:\HostingUnits\<hosting unit name>\<template name>.template"
       -TenancyType Shared  -FunctionalLevel "L7_20"
       <!--NeedCopy-->
      
       $catalog = New-BrokerCatalog
       -AllocationType "Static"
       -PersistUserChanges  "OnLocal"
       -Description "<string>"
       -IsRemotePC $False
       -MinimumFunctionalLevel 'L7_9' -Name "<string>" -ProvisioningType 'MCS' -Scope @()
       -SessionSupport "SingleSession" -ZoneUid "<Uid"
       <!--NeedCopy-->
      
       Set-BrokerCatalog -Name "<string>"
       -ProvisioningSchemeId $provScheme.ProvisioningSchemeUid.Guid
       <!--NeedCopy-->
      
    • 要使用完整复制磁盘模式创建计算机目录,并应用了加密存储策略的计算机配置文件模板:

       $identityPool = New-AcctIdentityPool
       -IdentityPoolName "<string>"
       -NamingScheme "<string>-###"
       -NamingSchemeType Numeric
       -Domain "<domain name>"
       -ZoneUid "<Uid>"  -Scope @()
       <!--NeedCopy-->
      
       $provScheme =New-ProvScheme
       -HostingUnitName "<string>"
       -IdentityPoolName "<string>"
       -InitialBatchSizeHint 1
       -MasterImageVM "XDHyp:\HostingUnits\<hosting unit name>\<snapshot name>.snapshot"
       -NetworkMapping @{"0"="XDHyp:\HostingUnits\<hosting unit name>\\<string>.network"}
       -ProvisioningSchemeName "<string>"
       -Scope @() -VMCpuCount 4  -VMMemoryMB 8192 -MachineProfile "XDHyp:\HostingUnits\<hosting unit name>\<template name>.template"
       -TenancyType Shared
       -FunctionalLevel "L7_20" -UseFullDiskCloneProvisioning
       <!--NeedCopy-->
      
       $catalog = New-BrokerCatalog
       -AllocationType "Static"
       -PersistUserChanges  "OnLocal"
       -Description "<string>"  -IsRemotePC $False
       -MinimumFunctionalLevel 'L7_9'
       -Name "<string>" -ProvisioningType 'MCS' -Scope @()
       -SessionSupport "SingleSession" -ZoneUid "<Uid>"
       <!--NeedCopy-->
      
       Set-BrokerCatalog -Name "<string>"
       -ProvisioningSchemeId $provScheme.ProvisioningSchemeUid.Guid
       <!--NeedCopy-->
      

要更新计算机配置文件,请使用 Set-ProvScheme 命令。例如:

Set-ProvScheme -ProvisioningSchemeName 'name' -IdentityPoolName 'name' -MachineProfile 'XDHyp:\HostingUnits\<hosting unit name>\<template name>.template'
<!--NeedCopy-->

检查多个网卡

在使用计算机配置文件以及 New-ProvSchemeSet-ProvScheme 命令中的 NetworkMapping 参数时,您会在多个网卡的预检过程中收到各种错误消息。

针对多个网卡的预检清单如下所示:

  • 仅使用并验证计算机配置文件模板中的网卡数量。这些网卡指向的网络不会被使用或根据托管单元网络进行验证。
  • 如果计算机配置文件模板中的网卡数量大于托管单元中的网络数量,则会收到错误消息。
  • 如果计算机配置文件模板中的网卡数量为零,则会收到错误消息。 当计算机配置文件模板中的网卡数量为一时,则:

    • 如果在 New-ProvSchemeSet-ProvScheme 命令中未指定网络映射,并且托管单元网络为一个,则使用该托管单元网络。
    • 如果指定了网络映射,则在有效的情况下使用指定的网络映射。
  • 当计算机配置文件模板中的网卡数量大于 1,或托管单元网络数量大于 1 时,则:

    • 命令中需要有效的网络映射,并且应为每个网卡提供映射(即,NetworkMapping 数量应与计算机配置文件网卡数量相同)。
    • 多个网卡不能映射到托管单元中的同一网络。
    • NetworkMapping 数量和计算机配置文件网卡数量必须小于或等于托管单元网络数量。
    • NetworkMapping 必须为从 0 到 n-1 的每个 ID 提供,其中 n 是计算机配置文件模板中的网络适配器数量。

在 MCS 创建的虚拟机上预配数据磁盘

数据磁盘允许存储持久性数据,例如事件日志、安全跟踪和应用程序数据。您可以为 VMware 中 MCS 计算机目录的 MCS 创建的持久性或非持久性虚拟机创建并分配持久性或非持久性数据磁盘。

从主映像预配数据磁盘。准备好的主映像数据磁盘存储在 <Prov Scheme Name>-dataDisk-<datastoreId> 文件夹中。

您可以创建基于计算机配置文件和非基于计算机配置文件的 MCS 目录。对于基于计算机配置文件的 MCS 目录,您可以使用相同的主映像虚拟机作为计算机配置文件的数据磁盘源。

预配的虚拟机的“数据磁盘”从主映像派生存储策略和大小等属性。对于基于计算机配置文件的目录,它可以选择使用虚拟机模板的“数据磁盘”来派生属性。如果虚拟机模板没有数据磁盘,则使用存储的默认策略。

预配的虚拟机的数据磁盘与操作系统磁盘和身份磁盘创建在同一目录中。

支持的数据磁盘方案

以下是支持的操作系统磁盘和数据磁盘方案:

  • 持久性操作系统磁盘与持久性数据磁盘
  • 非持久性操作系统磁盘与持久性数据磁盘
  • 非持久性操作系统磁盘与非持久性数据磁盘

注意:

持久性计算机目录不能具有非持久性数据磁盘。

局限性

目前,以下操作暂不提供支持:

  • 对一个以上数据磁盘的预配。
  • 重置数据盘。
  • 将包含数据盘的 MCS 目录更新为不含数据盘的 MCS 目录。同样,将不含数据盘的 MCS 目录更新为包含数据盘的 MCS 目录。

主要步骤

  1. 在 VMware 中创建带数据盘的主映像 VM(#create-a-master-image-vm-with-data-disk-in-vmware)。对于基于计算机配置文件的 MCS 目录,您可以将相同的主映像 VM 用作计算机配置文件的数据盘源。
  2. 使用 New-ProvScheme PowerShell 命令创建包含已预配数据盘 VM 的 MCS 计算机目录。请参阅创建包含已预配数据盘 VM 的目录
  3. 使用 New-ProvVM PowerShell 命令将 VM 添加到目录。
  4. 登录到 VM 以查看数据盘是否已正确格式化。如果主映像 VM 中引用的数据盘上有内容,则该内容也位于数据盘上。

在 VMware 中创建带数据盘的主映像 VM

  1. 创建具有两个硬盘的 VM。一个是操作系统盘,另一个是数据盘。按照此指南将新硬盘(数据盘)添加到现有 VM。
  2. 登录到 VM 以初始化磁盘、设置所需的驱动器号并添加内容。

创建包含已预配数据盘 VM 的目录

New-ProvScheme PowerShell 命令中包含以下参数,以预配带数据盘的 MCS 计算机目录。

  • DataDisk:指定数据盘的路径。
  • DataDiskPersistence:指示 DataDisk 是持久的还是非持久的。

    如果 CleanOnBoot 为 false,则数据磁盘不能是非持久的。配置后,您无法更改计算机目录的 DataDiskPersistence 值。

创建目录后,使用 New-ProvVM 命令添加 VM。

映像更新

运行 Publish-ProvMasterVMImage 命令以更新操作系统和数据磁盘的源。运行 Publish-ProvMasterVMImage 命令后:

  • 新的 VM 是使用更新的操作系统和数据磁盘创建的。
  • 现有 VM 的非持久磁盘将在下次电源循环时更新。
  • 现有 VM 的持久磁盘不会在下次电源循环时更新。

删除数据磁盘

如果删除目录,则数据磁盘将被删除,除非您使用 forgetVMpurgeDBOnly 选项。如果删除 VM,则数据磁盘将被删除,除非您使用 forgetVMpurgeDBOnly 选项。这些条件仅适用于持久性 MCS 计算机目录。

故障排除

如果目录创建失败,请参阅 CTX294978

后续步骤

更多信息

创建 VMware 目录