Citrix DaaS

管理 VMware 目录

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

注意:

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

更新计算机目录的文件夹 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 虚拟机管理程序中查找现有文件夹的文件夹 ID。

为 VMware 虚拟机管理程序创建主机连接和资源组。然后,执行以下步骤,在该虚拟机管理程序上查找某个文件夹的文件夹 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。

托管对象浏览器 (MOB) 是一款基于 Web 的服务器应用程序,内置于所有 ESX/ESXi 和 vCenter 服务器系统中。此 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。

VM 的存储迁移

可以将现有 VM 的磁盘存储从旧存储移动到新存储。在迁移过程中,MCS 保留 VM 功能,例如电源管理、重置操作系统磁盘等。您还可以使用新磁盘存储将新 VM 添加到计算机目录中。要执行此操作,请使用 PowerShell 命令 Move-ProvVMDisk

当前,您只能迁移完整克隆永久 VM。

新存储必须满足以下条件:

  • 它必须位于旧存储的同一个群集中。
  • 运行 VM 的主机必须能够同时访问新数据存储和旧数据存储。

可以执行以下任务:

  • 迁移磁盘存储
  • 弃用旧存储

迁移磁盘存储

要迁移磁盘存储,请执行以下操作:

  1. 向现有托管单元中添加新存储。将旧存储更改为 Superseded(已取代)。您可以使用 Studio 或 PowerShell 命令来完成此操作。

    • 如果使用 Studio,请参阅编辑存储
    • 如果使用 PowerShell 命令:
      • 运行 Add-Hyphostingunitstorage 以将新存储添加到现有托管单元中。
      • 在将 Superseded(已取代)设置为 true 的情况下运行 Set-Hyphostingunitstorage,以禁止在旧存储中创建新 VM。
  2. 关闭 VM 并打开维护模式
  3. 将 VM 的磁盘存储移至新存储并更新存储信息。例如:

    Move-ProvVMDisk -ProvisioningSchemeName "myFullCloneProvScheme" -VMName ("VMware-TestVM01", "VMware-TestVM02") -DiskType OS,Identity -DestinationStorageId datastore1,datastore1
    <!--NeedCopy-->
    
  4. 获取迁移的任务 ID。例如:

    ,(Get-ProvVM -ProvisioningSchemeName xxxxx) | Move-ProvVMDisk -ProvisioningSchemeName xxxxx -DiskType OS,Identity -DestinationStorageId datastore1,datastore1
    <!--NeedCopy-->
    
  5. 检查迁移的状态。

    • (Get-ProvTask -TaskID xxxxxxxxx).DiskMovedVirtualMachines:提供成功进行磁盘迁移的 VM 列表,包括已迁移到新存储的 VM。
    • (Get-ProvTask -TaskID xxxxxxxxx).DiskMoveFailedVirtualMachines:提供迁移失败的 VM 列表。
    • (Get-ProvTask -TaskID xxxxxxxxx).NotStartedVirtualMachines:提供尚未开始迁移的 VM 列表。
    • Get-ProvVM -ProvisioningSchemeName xxxxx -VMName "VMware-TestVM01:提供迁移后更新的 VM 属性。检查 StorageIdAssignedImageBootedImageIdentityDiskIdIdentityDiskStorageLastBootTime 等属性。

迁移 MCS 创建的带有快照的 VM 的磁盘后,您可能会在看到警告消息 Consolidation is required in the VSphere Client(vSphere Client 中需要进行整合)。要进行整合并避免数据丢失,请执行以下操作:

  1. 获取 VMware VM 备份。例如,将所有 VM 文件传输到数据存储中的另一个文件夹。
  2. 看到警告后,单击 Consolidate(整合),然后单击确定以确认整合。

弃用旧存储

要在 VM 磁盘迁移后弃用旧存储,请执行以下操作:

  1. 获取有关托管单元的每个磁盘存储中的基础磁盘和计算机数量的信息。例如:

    $result=Get-ProvSchemeResourceInStorage -ProvisioningSchemeName xxxxx
    $result
    $result.ProvResourceInStorage | Format-List -Property *
    <!--NeedCopy-->
    

    成功迁移后,MCS 会自动删除过时的基础磁盘,并且旧存储中没有计算机。因此,在运行命令后,请确保旧存储中没有计算机和基础磁盘。

  2. 运行 Remove-Hyphostingunitstorage 以从托管单元中完全删除旧存储。您也可以使用 Studio 移除旧存储。

识别 MCS 创建的资源

下面是 MCS 向 VMware 平台上的资源添加的标签。表中的标签表示方式为 “key”:”value”。

资源名称 标记
准备 VM “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “XdConfig:”XdProvisioned=True”
目录中的 VM “CitrixProvisioningSchemeId”: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “XdConfig:”XdProvisioned=True”

更多信息

管理 VMware 目录