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.Anonymous、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

加密操作

加密操作权限控制谁可以对哪种类型的对象执行哪种类型的加密操作。vSphere Native Key Provider 使用 Cryptographer.* 权限。加密操作需要以下最低权限:

注意:

使用配备 vTPM 的 VM 创建 MCS 计算机目录需要这些权限。

SDK 用户界面
Cryptographic operations.Direct Access 权限 > 所有权限 > 加密操作 > 直接访问
Cryptographic operations.Add disk 权限 > 所有权限 > 加密操作 > 添加磁盘
Cryptographic operations.Clone 权限 > 所有权限 > 加密操作 > 克隆
Cryptographic operations.Encrypt 权限 > 所有权限 > 加密操作 > 加密
Cryptographic operations.Encrypt new 权限 > 所有权限 > 加密操作 > 加密新对象
Cryptographic operations.Migrate 权限 > 所有权限 > 加密操作 > 迁移
Cryptographic operations.Read KMS 信息 权限 > 所有权限 > 加密操作 > 读取 KMS 信息

预配计算机 (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 主机连接时,可以通过一个对话框查看要连接的计算机的证书。然后,您可以选择是否信任该证书。

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

故障排除

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

VMware 虚拟化环境