创建 VMware 目录

Last published : Nov 13, 2026
创建计算机目录 介绍了创建计算机目录的向导。以下信息涵盖了 VMware 虚拟化环境特有的详细信息。
注意:
在创建 VMware 目录之前,您需要完成与 VMware 的连接创建。请参阅连接到 VMware。

创建主 VM

使用主 VM 在计算机目录中提供用户桌面和应用程序。在您的虚拟机管理程序上:
  1. 在主 VM 上安装 VDA,选择优化桌面的选项,这可以提高性能。
  2. 为主 VM 创建快照以用作备份。
注意:
您可以使用 MCS 在 vSAN 8.0 环境中预配 VM。

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

您可以使用计算机配置文件创建 MCS 计算机目录。计算机配置文件输入的源是 VMware 模板。计算机配置文件从 VMware 模板捕获硬件属性,并将其应用于目录中新预配的 VM。
注意:
  • 主映像输入(快照)和计算机配置文件输入 (VMware 模板) 必须都启用 vTPM 或都禁用 vTPM。此规则适用于 New-ProvScheme 和 Set-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 @()
      $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"
      $catalog = New-BrokerCatalog
      -AllocationType "Static"
      -PersistUserChanges  "OnLocal"
      -Description "<string>"
      -IsRemotePC $False
      -MinimumFunctionalLevel 'L7_9'
      -Name "<catalog name>"
      -ProvisioningType 'MCS'
      -Scope @()
      -SessionSupport "SingleSession" -ZoneUid "<Uid>"
      Set-BrokerCatalog -Name "<string>"
      -ProvisioningSchemeId $provScheme.ProvisioningSchemeUid.Guid
    • 要创建计算机目录,其中非 vTPM VMware 模板作为计算机配置文件的来源,并且主映像安装了 Windows 10:
      $identityPool = New-AcctIdentityPool
      -IdentityPoolName "<string>"
      -NamingScheme "<string>-###" -NamingSchemeType Numeric
      -Domain "<domain name>"
      -ZoneUid "<Uid>"  -Scope @()
      $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"
      $catalog = New-BrokerCatalog
      -AllocationType "Static"
      -PersistUserChanges  "OnLocal"
      -Description "<string>"
      -IsRemotePC $False
      -MinimumFunctionalLevel 'L7_9' -Name "<string>" -ProvisioningType 'MCS' -Scope @()
      -SessionSupport "SingleSession" -ZoneUid "<Uid"
      Set-BrokerCatalog -Name "<string>"
      -ProvisioningSchemeId $provScheme.ProvisioningSchemeUid.Guid
    • 要使用完整复制磁盘模式创建计算机目录,并应用带有加密存储策略的计算机配置文件模板:
      $identityPool = New-AcctIdentityPool
      -IdentityPoolName "<string>"
      -NamingScheme "<string>-###"
      -NamingSchemeType Numeric
      -Domain "<domain name>"
      -ZoneUid "<Uid>"  -Scope @()
      $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
      $catalog = New-BrokerCatalog
      -AllocationType "Static"
      -PersistUserChanges  "OnLocal"
      -Description "<string>"  -IsRemotePC $False
      -MinimumFunctionalLevel 'L7_9'
      -Name "<string>" -ProvisioningType 'MCS' -Scope @()
      -SessionSupport "SingleSession" -ZoneUid "<Uid>"
      Set-BrokerCatalog -Name "<string>"
      -ProvisioningSchemeId $provScheme.ProvisioningSchemeUid.Guid
要更新计算机配置文件,请使用 Set-ProvScheme 命令。例如:
Set-ProvScheme -ProvisioningSchemeName 'name' -IdentityPoolName 'name' -MachineProfile 'XDHyp:\HostingUnits\<hosting unit name>\<template name>.template'

检查多个网卡

当使用计算机配置文件以及 New-ProvScheme 和 Set-ProvScheme 命令中的 NetworkMapping 参数时,在多个网卡的预检期间会收到各种错误消息。
多个网卡的预检清单如下:
  • 仅使用并验证计算机配置文件模板中的网卡数量。这些网卡指向的网络不会被使用或根据托管单元网络进行验证。
  • 如果计算机配置文件模板中的网卡数量大于托管单元中的网络数量,则会收到错误消息。
  • 如果机器配置文件模板中的 NIC 计数为零,您会收到错误消息。 当机器配置文件模板中的 NIC 计数为一时,则:
    • 如果在 New-ProvScheme 或 Set-ProvScheme 命令中未指定网络映射,并且托管单元网络为一个,则使用托管单元网络。
    • 如果指定了网络映射,则在有效的情况下使用指定的网络映射。
  • 当机器配置文件模板中的 NIC 计数大于 1,或者托管单元网络计数大于 1 时,则:
    • 命令中需要有效的网络映射,并且应为每个 NIC 提供映射(即,NetworkMapping 计数应与机器配置文件 NIC 计数相同)。
    • 在托管单元中,多个 NIC 不能映射到同一网络。
    • NetworkMapping 计数和机器配置文件 NIC 计数必须小于或等于托管单元网络计数。
    • 必须为从 0 到 n-1 的每个 ID 提供 NetworkMapping,其中 n 是机器配置文件模板中网络适配器的数量。

在 MCS 创建的 VM 上预配数据盘

数据盘允许存储持久性数据,例如事件日志、安全跟踪和应用程序数据。您可以为 VMware 中 MCS 计算机目录的 MCS 创建的持久性或非持久性 VM 创建并分配持久性或非持久性数据盘。
从主映像预配数据盘。准备好的主映像数据盘存储在 <Prov Scheme Name>-dataDisk-<datastoreId> 文件夹中。
您可以创建基于机器配置文件和非基于机器配置文件的 MCS 目录。对于基于机器配置文件的 MCS 目录,您可以使用相同的主映像 VM 作为机器配置文件的数据盘源。
预配的 VM 的数据盘从主映像派生存储策略和大小等属性。对于基于机器配置文件的目录,它可以选择使用 VM 模板的数据盘来派生属性。如果 VM 模板没有数据盘,则使用存储的默认策略。
预配的 VM 的数据盘与操作系统和身份盘在同一目录中创建。

支持的数据盘方案

以下是支持的操作系统磁盘和数据磁盘方案:
  • 持久性操作系统磁盘与持久性数据磁盘
  • 非持久性操作系统磁盘与持久性数据磁盘
  • 非持久性操作系统磁盘与非持久性数据磁盘
注意:
持久性计算机目录不能具有非持久性数据磁盘。

限制

目前不支持以下操作:
  • 预配多个数据磁盘。
  • 重置数据磁盘。
  • 将具有数据磁盘的 MCS 目录更新为不带数据磁盘的 MCS 目录。同样,将不带数据磁盘的 MCS 目录更新为具有数据磁盘的 MCS 目录。

主要步骤

  1. 在 VMware 中创建带数据磁盘的主映像 VM。对于基于计算机配置文件的 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:指示数据盘是持久的还是非持久的。
    如果 CleanOnBoot 为 false,则数据盘不能是非持久的。计算机目录配置完成后,无法更改 DataDiskPersistence 的值。
创建目录后,使用 New-ProvVM 命令添加 VM。

映像更新

运行 Publish-ProvMasterVMImage 命令以更新操作系统和数据盘的源。运行 Publish-ProvMasterVMImage 命令后:
  • 新 VM 将使用更新的操作系统和数据盘创建。
  • 现有 VM 的非持久性磁盘将在下次电源循环时更新。
  • 现有 VM 的持久性磁盘不会在下次电源循环时更新。

删除数据盘

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

故障排除

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

下一步操作

更多信息