Citrix Virtual Apps and Desktops

VMware 虚拟化环境

如果您使用 VMware 提供虚拟机,请按照此指导进行操作。

安装 vCenter Server 以及相应的管理工具。(不支持 vSphere vCenter 链接模式操作。)

如果您计划使用 MCS,请勿在 vCenter Server 中禁用数据存储浏览器功能(如 https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2101567 中所述)。禁用了此功能时,MCS 无法正常工作。

可以使用 Citrix Provisioning(以前称为 Provisioning Services) 和 Machine Creation Services 预配以下各项:

  • 支持的桌面或服务器操作系统 VM 的旧版 BIOS。
  • 支持的桌面或服务器操作系统 VM 的 UEFI,包括安全启动。

所需权限

创建 VMware 用户帐户以及一个或多个 VMware 角色。请根据需要分配用户权限的粒度级别来创建这些角色。使用 Citrix Virtual Apps and Desktops 执行操作所需的 vCenter 权限列表定义每个角色的权限。

要向用户授予权限,请在数据中心级别将该用户与角色关联。有关在 vCenter 中设置权限的详细信息,请参阅 VMware 文档

以下各表显示了 Citrix Virtual Apps and Desktops 操作与所需的最低 VMware 权限之间的映射关系。

注意:

某些 vSphere 版本的权限列表显示名称(特别是用户界面)不同。例如,在 vSphere 6.7 中,用户界面权限为更改内存更改设置,而非本页上注明的所需权限中所述的设置内存

添加连接和资源

SDK 用户界面
系统。匿名、System. Read 和 System.View 自动添加。可以使用内置的只读角色。

电源管理

SDK 用户界面
VirtualMachine.Interact.PowerOff 虚拟机 > 交互 > 关闭
VirtualMachine.Interact.PowerOn 虚拟机 > 交互 > 打开
VirtualMachine.Interact.Reset 虚拟机 > 交互 > 重置
VirtualMachine.Interact.Suspend 虚拟机 > 交互 > 挂起

预配计算机 (Machine Creation Services)

要使用 MCS 预配计算机,必须具备以下权限:

SDK 用户界面
Datastore.AllocateSpace 数据存储 > 分配空间
Datastore.Browse 数据存储 > 浏览数据存储
Datastore.FileManagement 数据存储 > 低级别文件操作
Network.Assign 网络 > 分配网络
Resource.AssignVMToPool 资源 > 将虚拟机分配到资源池
VirtualMachine.Config.AddExistingDisk 虚拟机 > 配置 > 添加现有磁盘
VirtualMachine.Config.AddNewDisk 虚拟机 > 配置 > 添加新磁盘
VirtualMachine.Config.AdvancedConfig 虚拟机 > 配置 > 高级
VirtualMachine.Config.RemoveDisk 虚拟机 > 配置 > 删除磁盘
VirtualMachine.Config.CPUCount 虚拟机 > 配置 > 更改 CPU 计数
VirtualMachine.Config.Memory 虚拟机 > 配置 > 更改内存
VirtualMachine.Config.Settings 虚拟机 > 配置 > 更改设置
VirtualMachine.Interact.PowerOff 虚拟机 > 交互 > 关闭
VirtualMachine.Interact.PowerOn 虚拟机 > 交互 > 打开
VirtualMachine.Interact.Reset 虚拟机 > 交互 > 重置
VirtualMachine.Interact.Suspend 虚拟机 > 交互 > 挂起
VirtualMachine.Inventory.CreateFromExisting 虚拟机 > 清单 > 从现有项创建
VirtualMachine.Inventory.Create 虚拟机 > 清单 > 新建
VirtualMachine.Inventory.Delete 虚拟机 > 清单 > 删除
VirtualMachine.Provisioning.Clone 虚拟机 > 预配 > 克隆虚拟机
VirtualMachine.State.CreateSnapshot vSphere 5.0 Update 2、vSphere 5.1 Update 1 和 vSphere 6.x Update 1:虚拟机 > 状态 > 创建快照;vSphere 5.5: 虚拟机 > 快照管理 > 创建快照

映像更新和回滚

SDK 用户界面
Datastore.AllocateSpace 数据存储 > 分配空间
Datastore.Browse 数据存储 > 浏览数据存储
Datastore.FileManagement 数据存储 > 低级别文件操作
Network.Assign 网络 > 分配网络
Resource.AssignVMToPool 资源 > 将虚拟机分配到资源池
VirtualMachine.Config.AddExistingDisk 虚拟机 > 配置 > 添加现有磁盘
VirtualMachine.Config.AddNewDisk 虚拟机 > 配置 > 添加新磁盘
VirtualMachine.Config.AdvancedConfig 虚拟机 > 配置 > 高级
VirtualMachine.Config.RemoveDisk 虚拟机 > 配置 > 删除磁盘
VirtualMachine.Interact.PowerOff 虚拟机 > 交互 > 关闭
VirtualMachine.Interact.PowerOn 虚拟机 > 交互 > 打开
VirtualMachine.Interact.Reset 虚拟机 > 交互 > 重置
VirtualMachine.Inventory.CreateFromExisting 虚拟机 > 清单 > 从现有项创建
VirtualMachine.Inventory.Create 虚拟机 > 清单 > 新建
VirtualMachine.Inventory.Delete 虚拟机 > 清单 > 删除
VirtualMachine.Provisioning.Clone 虚拟机 > 预配 > 克隆虚拟机

删除预配的计算机

SDK 用户界面
Datastore.Browse 数据存储 > 浏览数据存储
Datastore.FileManagement 数据存储 > 低级别文件操作
VirtualMachine.Config.RemoveDisk 虚拟机 > 配置 > 删除磁盘
VirtualMachine.Interact.PowerOff 虚拟机 > 交互 > 关闭
VirtualMachine.Inventory.Delete 虚拟机 > 清单 > 删除

存储配置文件 (vSAN)

要在 vSAN 数据存储上创建目录期间查看、创建或删除存储策略,必须具备以下权限:

SDK 用户界面
storage.Profile 驱动的存储更新 配置文件驱动的存储 > 配置文件驱动的存储更新
storage.Profile 驱动的存储视图 配置文件驱动的存储 > 配置文件驱动的存储视图

标记和自定义属性

标记和自定义属性允许您将元数据附加到在 vSphere 清单中创建的 VM,从而更轻松地搜索和筛选这些对象。要创建、编辑、分配和删除标记或类别,必须具备以下权限:

SDK 用户界面
Tagging.Create vSphere 标记 > 创建 vSphere 标记
Tagging.Create vSphere 标记 > 创建 vSphere 标记类别
Tagging.Edit vSphere 标记 > 编辑 vSphere 标记
Tagging.Edit vSphere 标记 > 编辑 vSphere 标记类别
Tagging.Delete vSphere 标记 > 删除 vSphere 标记
Tagging.Delete vSphere 标记 > 删除 vSphere 标记类别
Tagging.Assign vSphere 标记 > 分配或取消分配 vSphere 标记
Tagging.Assign vSphere 标记 > 在对象上分配或取消分配 vSphere 标记
Global.ManageCustomFields 全局 > 管理自定义属性
Global.SetCustomField 全局 > 设置自定义属性

注意:

当 MCS 创建计算机目录时,它会使用特殊的名称标记来标记目标 VM。这些标记将主映像与 MCS 创建的 VM 区分开来,并防止使用 MCS 创建的 VM 进行映像准备。您可以在 vCenter 中通过 XdProvisioned 属性的值来识别差异。如果 MCS 创建了 VM,该属性将设置为 True

预配计算机 (Citrix Provisioning)

所有来自预配计算机 (Machine Creation Services) 的权限以及以下各项。

SDK 用户界面
VirtualMachine.Config.AddRemoveDevice 虚拟机 > 配置 > 添加或删除设备
VirtualMachine.Config.CPUCount 虚拟机 > 配置 > 更改 CPU 计数
VirtualMachine.Config.Memory 虚拟机 > 配置 > 内存
VirtualMachine.Config.Settings 虚拟机 > 配置 > 设置
VirtualMachine.Provisioning.CloneTemplate 虚拟机 > 预配 > 克隆模板
VirtualMachine.Provisioning.DeployTemplate 虚拟机 > 预配 > 部署模板

注意:

要通过 Citrix Provisioning 控制台使用 Citrix Virtual Apps and Desktops 设置向导和导出设备向导预配 VM,需要克隆和部署模板的权限。

获取和导入证书

为了保护 vSphere 通信的安全,Citrix 建议您使用 HTTPS,而不使用 HTTP。

HTTPS 需要数字证书。使用由证书颁发机构颁发的符合贵组织的安全策略的数字证书。

如果无法使用证书颁发机构所颁发的数字证书,则可以使用由 VMware 安装的自签名证书。仅当贵组织的安全策略允许时才能使用此方法。在每个 Delivery Controller 中添加 VMware vCenter 证书。

  1. 将运行 vCenter Server 的计算机的完全限定域名 (FQDN) 添加到该服务器上的主机文件中,文件位于:%SystemRoot%/WINDOWS/system32/Drivers/etc/。只有当域名系统中尚不存在运行 vCenter Server 的计算机的 FQDN 时,才需要执行此步骤。

  2. 使用以下任意三种方法之一获取 vCenter 证书:

    从 vCenter Server。

    1. 将 rui.crt 文件从 vCenter Server 复制到 Delivery Controller 上可访问的位置。
    2. 在 Controller 上,导航到导出的证书所在的位置,然后打开 rui.crt 文件。

    使用 Web 浏览器下载证书。如果使用 Internet Explorer,请右键单击 Internet Explorer,然后选择以管理员身份运行以下载或安装证书。

    1. 打开 Web 浏览器,与 vCenter Server 建立安全 Web 连接(例如 https://server1.domain1.com))。
    2. 接受安全警告。
    3. 单击显示证书错误的地址栏。
    4. 查看证书并单击“详细信息”选项卡。
    5. 选择 Copy to file and export in .CER format(复制到文件并导出为 .CER 格式),并在系统提示时提供名称。
    6. 保存导出的证书。
    7. 导航到导出的证书所在的位置,然后打开 .CER 文件。

    从以管理员身份运行的 Internet Explorer 直接导入。

    • 打开 Web 浏览器,与 vCenter Server 建立安全 Web 连接(例如 https://server1.domain1.com))。
    • 接受安全警告。
    • 单击显示证书错误的地址栏。
    • 查看证书。
  3. 将证书导入到每个 Controller 上的证书存储中。

    1. 单击安装证书选项,选择本地计算机,然后单击下一步
    2. 选择将所有的证书都放入下列存储,然后单击浏览。选择受信任人,然后单击确定。单击下一步,然后单击完成

    如果在安装后更改 vSphere 服务器的名称,必须在该服务器上生成新的自签名证书,然后再导入新证书。

配置注意事项

创建主 VM:

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

  1. 在主 VM 上安装 VDA,选择用于优化桌面的选项,这样会提高性能。
  2. 生成主 VM 的快照作为备份。

创建连接:

在连接创建向导中执行以下操作:

  • 选择 VMware 连接类型。
  • 指定 vCenter SDK 接入点的地址。
  • 指定先前设置的具有创建 VM 权限的 VMware 用户帐户的凭据。以域/用户名格式指定用户名。

VMware SSL 指纹

VMware SSL 指纹功能无需手动创建与 VMware vSphere 虚拟机管理程序的主机连接。在创建连接之前,不再需要在站点中的 Delivery Controller 与虚拟机管理程序的证书之间手动创建信任关系。

VMware SSL 指纹功能将不受信任的证书的指纹存储在站点数据库中。此配置可确保虚拟机管理程序可以连续地被 Citrix Virtual Apps and Desktops 识别为可信任,即使不是 Controller 识别的亦如此。

在 Studio 中创建 vSphere 主机连接时,可以通过一个对话框查看要连接的计算机的证书。然后,您可以选择是否信任该证书。

重置操作系统磁盘

使用 PowerShell 命令 Reset-ProvVMDisk 在 MCS 创建的计算机目录中重置永久性 VM 的操作系统磁盘。

要成功运行 PowerShell 命令,请确保:

  • 目标 VM 位于永久性 MCS 目录中。
  • MCS 计算机目录运行正常。
  • 这意味着资源预配方案和主机存在,并且预配方案有正确的条目。
  • VMware vCenter 未处于维护模式。
  • 目标 VM 已关闭电源并处于维护模式。

请执行以下步骤以重置操作系统磁盘:

  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载特定于 Citrix 的 PowerShell 模块。
  3. 使用以下任一方式运行 PowerShell 命令 Reset-ProvVMDisk

    • 将 VM 列表指定为以逗号分隔的列表,然后在每个 VM 上执行重置:

       Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -VMName ("abc","def") -OS
       <!--NeedCopy-->
      
    • 将 VM 列表指定为 Get-ProvVM 命令的输出,然后在每个 VM 上执行重置:

       (Get-ProvVM -ProvisioningSchemeName "xxx") | Reset-ProvVMDisk "abc" -OS
       <!--NeedCopy-->
      
    • 按名称指定单个 VM:

       Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -VMName "abc" -OS
       <!--NeedCopy-->
      
    • Get-ProvVM 命令返回的每个 VM 创建单独的重置任务。这种方法效率较低,因为每个任务都将执行相同的冗余检查,例如虚拟机管理程序功能检查、每个 VM 的连接检查。

       Get-ProvVM -ProvisioningSchemeName "xxx" | Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -OS
       <!--NeedCopy-->
      
  4. 出现确认提示,其中列出了要重置的 VM 以及一条警告消息,提示这是不可恢复的操作。如果您没有提供答案并按 Enter 键,则不会采取进一步的操作。

    注意:

    在重置过程完成之前,请勿使 VM 退出维护模式或打开其电源。

    可以运行 PowerShell 命令 -WhatIf 来打印其要执行的操作,然后在不执行该操作的情况下退出。

    也可以使用以下方法之一绕过确认提示:

    • 提供 -Force 参数:

       Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -VMName "abc" -OS -Force
       <!--NeedCopy-->
      
    • 提供 -Confirm:$false 参数:

       Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -VMName "abc" -OS -Confirm:$false
       <!--NeedCopy-->
      
    • 在运行 Reset-ProvVMDisk 之前,请将 $ConfirmPreference 更改为

       PS C:\Windows\system32> $ConfirmPreference='None'
       PS C:\Windows\system32> $ConfirmPreference
       None
       PS C:\Windows\system32> Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -VMName "abc" -OS
       <!--NeedCopy-->
      
  5. 运行 Get-ProvTask 以获取 Reset-ProvVMDisk 命令返回的任务的状态。

更新计算机目录的文件夹 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 将在新文件夹下创建。

在 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。
VMware 虚拟化环境