Citrix DaaS™

管理 VMware 目录

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

注意:

在管理 VMware 目录之前,需要完成 VMware 目录的创建。请参阅创建 VMware 目录

将预配的 VM 更新到当前预配方案状态

Set-ProvScheme 命令会更改预配方案。但是,它不会影响现有 VM。使用 PowerShell 命令 Set-ProvVMUpdateTimeWindow,可以将当前预配方案应用于现有持久性或非持久性 VM 或一组 VM。此功能适用于基于计算机配置文件和非基于计算机配置文件的计算机目录。

可以更新以下内容:

  • VMCpuCount:预配方案属性
  • VMMemoryMB:预配方案属性
  • Folder ID:自定义属性
  • Subnet mapping:预配方案属性
  • VM 的硬件版本:仅适用于基于计算机配置文件的计算机目录
  • 计算机配置文件:仅适用于基于计算机配置文件的计算机目录

可以更新:

  • 单个 VM
  • 与预配方案 ID 关联的特定 VM 列表或所有现有 VM
  • 与预配方案名称(计算机目录名称)关联的特定 VM 列表或所有现有 VM

更新现有 VM 之前

  1. 检查现有 VM 的配置。例如:

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. 更新预配方案。例如:

    $customProperties=<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Property xsi:type="StringProperty" Name="FolderId" Value="FOLDER_ID"/></CustomProperties>
    $memoryMb=<DOUBLE THE "UPDATE" MACHINE PROFILE>
    Set-ProvScheme -ProvisioningSchemeName my-catalog -VMCpuCount 4 -VmMemoryMb $memoryMb -CustomProperties $customerProperties -NetworkMapping @{"1" = "<A_NETWORK_PATH_FROM_THE_HOSTING_UNIT>"} -MachineProfile "<PATH_TO_UPDATE_MACHINE_PROFILE>"
    <!--NeedCopy-->
    
  3. 检查 VM 的当前属性是否与当前预配方案匹配,以及 VM 上是否有任何待处理的更新操作。例如:

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

    还可以查找具有特定版本的 VM。例如:

    Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

请求更新现有 VM 以在下次重新启动时应用

  1. 运行以下命令以更新现有 VM,并在下次重新启动时应用更新。

    • 要更新所有现有 VM。例如:

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • 要更新特定 VM 列表。例如:

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • 要根据 Get-ProvVM 的输出更新 VM。例如:

      Get-ProvVM -ProvisioningSchemeName "my-catalog" | Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      

    注意:

    • StartsNow 表示计划的开始时间是当前时间。
    • DurationInMinutes 为负数(例如,–1)表示计划的时间窗口没有上限。
  2. 查找已计划更新的 VM。例如:

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  3. 重新启动 VM。下次开机时,属性更改将应用于现有 VM。可以使用以下命令检查更新状态。例如:

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

取消配置更新

还可以取消单个 VM、多个 VM 或整个目录的配置更新。要取消配置更新:

  1. 运行 Clear-ProvVMUpdateTimeWindow。例如:

    • 要取消为单个 VM 计划的配置更新:

       Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1”
       <!--NeedCopy-->
      
    • 要取消为多个 VM 计划的配置更新:

       Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2"
       <!--NeedCopy-->
      

      注意:

      VM 必须来自同一目录。

更新计算机目录的文件夹 ID

可以通过在 Set-ProvScheme 命令的自定义属性中指定 FolderId 来更新 MCS 计算机目录的文件夹 ID。更新文件夹 ID 后创建的 VM 将在此新文件夹 ID 下创建。如果未在 CustomProperties 中指定此属性,则 VM 将在主映像所在的文件夹下创建。

执行以下步骤以更新计算机目录的文件夹 ID。

  1. 打开 Web 浏览器并输入 vSphere Web Client 的 URL。
  2. 输入凭据并单击 登录
  3. vSphere Web Client 中创建 VM 放置文件夹。
  4. 打开 PowerShell 窗口。
  5. 运行 asnp citrix®* 以加载 Citrix 特定的 PowerShell 模块。
  6. Set-ProvSchemeCustomProperties 中指定 FolderID。在此示例中,文件夹 ID 值为 group-v2406

    Set-ProvScheme -ProvisioningSchemeUid "50bb319c-2e83-4a37-9ea1-94f630687372" -CustomProperties "<CustomProperties xmlns=""http://schemas.citrix.com/2014/xd/machinecreation"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""><Property xsi:type=""StringProperty"" Name=""FolderId"" Value=""group-v2406"" /></CustomProperties>"
    <!--NeedCopy-->
    
  7. 使用 Studio 将 VM 添加到计算机目录。
  8. 在 vSphere Web Client 上检查新 VM。新 VM 在新文件夹下创建。

使用 PowerShell 命令查找文件夹 ID

使用 PowerShell 命令 Get-HypConfigurationDataForItem 查找 VMware Hypervisor 中现有文件夹的文件夹 ID。

为 VMware Hypervisor 创建托管连接和资源组。然后,执行以下步骤以查找该 Hypervisor 上文件夹的文件夹 ID。

  1. 确定 VM 文件夹树根目录的 XDHyp 路径。例如:

    XDHyp:\Connections\VMwareConn\Datacenter.datacenter
    <!--NeedCopy-->
    
  2. 使用 Get-HypConfigurationDataForItem 检索树结构。例如:

    Get-HypConfigurationDataForItem -LiteralPath XDHyp:\Connections\VMwareConn\Datacenter.datacenter
    <!--NeedCopy-->
    
  3. 运行以下命令以从输出 XML 中识别文件夹 ID。在此示例中,在 XML 输出中查找 ExampleFolder 的文件夹 ID。

    $result = Get-HypConfigurationDataForItem -LiteralPath XDHyp:\Connections\VMwareConn\Datacenter.datacenter
    $result.VmPlacementFolder
    <!--NeedCopy-->
    

    XML 输出:

    <?xml version="1.0" encoding="utf-16"?>
    <CtxVmPlacementFolder xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Name>vm</Name>
    <Id>group-v4</Id>
    <SubFolder>
    <CtxVmPlacementFolder>
      <Name>vCLS</Name>
      <Id>group-v75</Id>
      <SubFolder />
    </CtxVmPlacementFolder>
    <CtxVmPlacementFolder>
      <Name>MyOtherFolder</Name>
      <Id>group-v1110</Id>
      <SubFolder />
    </CtxVmPlacementFolder>
    <CtxVmPlacementFolder>
      <Name>ExampleFolder</Name>
      <Id>group-v4658</Id>
      <SubFolder />
    </CtxVmPlacementFolder>
    </SubFolder>
    </CtxVmPlacementFolder>
    <!--NeedCopy-->
    

在 vSphere 中查找文件夹 ID

访问任何 ESXi 或 vCenter 服务器系统上的 MOB 以查找 VM 的文件夹 ID。

Managed Object Browser (MOB) 是所有 ESX/ESXi 和 vCenter 服务器系统内置的基于 Web 的服务器应用程序。此 vSphere 实用程序允许查看有关 VM、数据存储和资源池等对象的详细信息。

  1. 打开 Web 浏览器并输入 http://x.x.x.x/mob,其中 x.x.x.x 是 vCenter Server 或 ESX/ESXi 主机的 IP 地址。例如,https://10.60.4.70/mob
  2. 在 MOB 的主页上,单击属性 content 的值。
  3. 单击 rootFolder 的值。
  4. 单击 childEntity 的值。
  5. 单击 vmFolder 的值。
  6. 可以在 childEntity 的值中找到文件夹 ID。

识别 MCS 创建的资源

以下是 MCS 在 VMware 平台上添加到资源的标记。表中的标记表示为“key”:“value”。

资源名称 标记
Preparation VM “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “XdConfig:”XdProvisioned=True”
VM in catalog “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “XdConfig:”XdProvisioned=True”

更多信息

管理 VMware 目录