PVS 加速器

XenServer PVS 加速器功能向使用 XenServer 和 Citrix Provisioning 的客户提供了扩展的功能。要对 Citrix Virtual Apps and Desktops 进行映像管理和托管,通常会选择 Citrix Provisioning。PVS 加速器显著提高了已然出色至极的 XenServer 和 Citrix Provisioning 的组合的性能。这一新增功能提供的部分优势包括:

  • 数据局部性: 利用内存、SSD 和 NVM 设备的性能和局部性来实现读取请求,同时显著降低网络使用率。

  • 改进了最终用户体验: 数据局部性缩短了缓存的目标设备 (VM) 的读 I/O 延迟,进一步加快了最终用户应用程序的运行速度。

  • 加快了 VM 启动和启动高峰时期的速度: 缩短了读 I/O 延迟并且提高了效率,能够加快 VM 的启动时间,并且可以在大量设备在短时间内启动时提升性能。

  • 通过添加更多虚拟机管理程序主机简化了扩展过程: 所需的 Citrix Provisioning 服务器数量可能会减少,因为存储负载有效地分散在所有 XenServer 主机上。峰值负载使用原始主机中的缓存进行处理。

  • 降低了 TCO 并且简化了基础结构要求: Citrix Provisioning 服务器数量减少意味着硬件和许可证要求降低,并且管理开销也降低。所释放的容量可用于工作负载。

注意

PVS 加速器适用于 XenServer Enterprise Edition 客户或通过 Citrix Virtual Apps and Desktops 授权访问 XenServer 的客户。要使用 PVS 加速器功能,请将许可证服务器升级到版本 11.14。

PVS 加速器的工作原理

PVS 加速器利用驻留在 XenServer 的控制域 (dom0) 中的代理机制。启用此功能后,Citrix Provisioning 目标设备 (VM) 读取请求将直接在 XenServer 主机上缓存。这些请求在物理内存或存储库中缓存。该 XenServer 主机上的后续 VM 发出相同的读取请求时,虚拟磁盘将直接通过流技术从缓存推送,而非从 Citrix Provisioning 服务器推送。不再需要通过流技术从 Citrix Provisioning 服务器推送大大降低了网络利用率以及服务器上的处理量。此方法大大改进了 VM 的性能。

启用 PVS 加速器

客户必须在 XenServer 和 Citrix Provisioning 中完成以下配置设置,以启用 PVS 加速器功能:

  1. 在池中的每个 XenServer 主机上安装 PVS 加速器补充包。可以从 XenServer 产品下载页面下载该补充包。可以使用 XenCenter 或 xe CLI 安装该补充包。有关如何使用 XenCenter 安装补充包的信息,请参阅 XenCenter 帮助。有关 CLI 的说明,请参阅《XenServer 补充包和 DDK 指南》。

  2. 在 XenServer 中使用 XenCenter 或 xe CLI 配置 PVS 加速器。此配置包括添加 Citrix Provisioning 站点以及指定 Citrix Provisioning 缓存存储的位置。
    • 有关 CLI 的说明,请参阅下面部分中的在 XenServer 中使用 CLI 配置 PVS 加速器
    • 有关使用 XenCenter 配置 PVS 加速器的信息,请参阅 XenCenter 帮助。
  3. 在 XenServer 中配置 PVS 加速器后,请使用 PVS UI 完成 PVS 站点的缓存配置。有关详细说明,请参阅在 Citrix Provisioning 中完成缓存配置

在 XenServer 中使用 CLI 配置 PVS 加速器

  1. 运行以下命令以在 XenServer 上创建 Citrix Provisioning 站点配置:

    PVS_SITE_UUID=$(xe pvs-site-introduce name-label=My PVS Site)
    
  2. 对于池中的每个主机,请指定要使用的缓存。可以选择将缓存存储在存储库 (SR) 上或者控制域内存中。

在存储库上配置缓存存储

为缓存存储选择存储库 (SR) 时,请考虑以下特性:

优势

  • 最新读取的数据尽可能缓存在内存中。访问这些数据的速度可以与使用控制域内存一样快。
  • 位于 SR 上时,缓存会变得更大。一般而言,SR 空间的成本远低于内存空间的成本。在 SR 上缓存能够卸载 Citrix Provisioning 服务器上的更多负载。
  • 不需要修改控制域内存设置。缓存自动使用控制域中的可用内存,永远不会导致控制域内存不足。

劣势

  • 如果 SR 速度缓慢,并且请求的数据不在内存层中,缓存过程的速度将低于远程 Citrix Provisioning 服务器的速度。

执行以下过程可在存储库上配置缓存存储:

  1. 运行以下命令可查找用于缓存的 SR 的 UUID:

        xe sr-list name-label=Local storage host=host-name-label --minimal)
    
  2. 创建缓存存储。

        xe pvs-cache-storage-create host=host-name-label pvs-site-uuid=PVS_SITE_UUID
         sr-uuid=SR_UUID size=10GiB
    

    注意

    选择存储库 (SR) 时,该功能最多将占用在 SR 上指定的缓存大小。此外,该功能还将隐式使用可用控制域内存作为最大努力缓存层。

在控制域内存中配置缓存存储

为缓存存储选择控制域内存时,请考虑以下特性:

优势

使用内存意味着访问或填充缓存时读/写性能将一直非常快。

劣势

  • 硬件的大小必须适中,因为用于缓存存储的 RAM 不适用于 VM。

  • 必须在配置缓存存储之前扩展控制域内存。

    注意

    如果选择在控制域内存中存储缓存,该功能最多将占用控制域内存中指定的缓存大小。此选项仅在已将额外的内存分配给控制域时可用。有关增加控制域内存的信息,请参阅更改分配给控制域的内存量

    增加分配给主机的控制域的内存量后,可以为 PVS 加速器显式分配额外的内存。

    执行以下过程可在控制域内存中配置缓存存储:

    1. 运行以下命令可查找要配置为用于缓存的主机的 UUID:

      xe host-list name-label=host-name-label --minimal
      
    2. 创建特殊类型 tmpfs 的 SR:

      xe sr-create type=tmpfs name-label=MemorySR host-uuid=HOST_UUID device-config:uri=""
      
    3. 运行以下命令可创建缓存存储:

      xe pvs-cache-storage-create host-uuid=HOST_UUID
      pvs-site-uuid=PVS_SITE_UUID sr-uuid=SR_UUID size=1GiB
      

      其中 SR_UUID 是在步骤 b 中创建的 SR 的 UUID

在 Citrix Provisioning 中完成缓存配置

在 XenServer 中配置 PVS 加速器后,请执行以下步骤以完成 Citrix Provisioning 站点的缓存配置。

在 Citrix Provisioning 管理员控制台中,使用 Citrix Virtual Desktops 设置向导或流 VM 向导(取决于部署类型)访问代理功能。尽管这两个向导相似,并且共享多个相同的屏幕,但仍存在以下差异:

  • Citrix Virtual Desktops 设置向导用于配置使用 Citrix Virtual Desktops 控制的 XenServer 虚拟机管理程序上运行的 VM。

  • 流 VM 向导用于在主机上创建 VM。不涉及 Citrix Virtual Desktops。

启动 Citrix Provisioning 管理员控制台:

  1. 导航到 Citrix Provisioning 站点。

  2. 选择 Citrix Provisioning 站点,然后单击鼠标右键以显示上下文菜单。

  3. 根据部署选择恰当的向导。选择选项对所有虚拟机启用 PVS 加速器以启用 PVS 加速器功能。

  4. 如果是首次启用虚拟磁盘缓存,流虚拟机设置向导上将显示 XenServer 屏幕。此屏幕显示在 XenServer 上配置的尚未与 Citrix Provisioning 站点关联的所有 Citrix Provisioning 站点的列表。使用该列表可选择要应用 PVS 加速器的 Citrix Provisioning 站点。使用相同的 XenServer 主机为相同的 Citrix Provisioning 站点运行该向导时将不显示此屏幕。

  5. 单击下一步完成缓存配置。

  6. 单击完成预配 Citrix Virtual Desktops 或流 VM,并将选定的 Citrix Provisioning 站点与 XenServer 中的 PVS 加速器相关联。完成此步骤后,PVS 加速器配置窗口中的查看 PVS 服务器按钮将在 XenCenter 中启用。单击查看 PVS 服务器按钮将显示与 Citrix Provisioning 站点关联的所有 PVS 服务器的 IP 地址。

缓存操作

使用 PVS 加速器功能时,请注意以下事项:

  • XenCenter 和 Citrix Provisioning 中的 PVS 加速器用户界面仅在安装了 PVS 加速器补充包时呈现。

  • Citrix 预配目标设备能够识别其代理状态。安装该功能后,无需执行其他配置。

  • 在部署了多个使用相同 VHD 的 Citrix Provisioning 服务器但具有不同文件系统时间戳的环境中,数据可能会多次缓存。由于存在此限制,因此,Citrix 建议您为虚拟磁盘使用 VHDX 格式,而非 VHD 格式。

  • 启动启用了 PVS 加速器的 VM 后,VM 的缓存状态将在 XenCenter 中显示:
    • 在池或主机的 PVS 选项卡中
    • 在 VM 的常规选项卡中
  • 可以在 XenCenter 中使用主机的性能选项卡中的 RRD 衡量指标确认 PVS 加速器的正确操作。有关详细信息,请参阅监视和管理部署

重要

  • PVS 加速器要求 Citrix Provisioning 7.13 或更高版本。
  • PVS 加速器适用于 XenServer Enterprise Edition 客户或通过 Citrix Virtual Desktops 和 Citrix Virtual Apps 授权访问 XenServer 的客户。
  • PVS 加速器要求使用许可证服务器 11.14。
  • PVS 加速器利用 OVS 的功能,因此在使用 Linux 桥接作为网络后端的主机上不可用。
  • PVS 加速器在缓存的 VM 的第一个虚拟网络接口 (VIF) 上运行。因此,请将第一个 VIF 连接到 Citrix Provisioning 存储网络以使缓存功能运行。

PVS 加速器功能缓存以下内容:

  • 从虚拟磁盘中读取,但不写入到写入缓存或从中读取

  • 取决于映像版本。多个 VM 使用相同的映像版本时,这些 VM 将共享缓存的块。

  • 使用任何非永久写入缓存类型的设备

  • 访问模式为“标准映像”的虚拟磁盘。不适用于访问模式为“专用映像”的虚拟磁盘

  • 类型标记为“生产”或“测试”的设备。不缓存标记为维护类型的设备

PVS 加速器 CLI 操作

下一节介绍了使用 PVS 加速器时客户能够通过 CLI 执行的操作。客户还可以使用 XenCenter 执行这些操作。有关详细信息,请参阅 XenCenter 帮助。

查看 Citrix Provisioning 配置的 Citrix Provisioning 服务器地址和端口

PVS 加速器通过优化 VM 与 Citrix Provisioning 服务器之间的网络流量运行。在 Citrix Provisioning 服务器上完成配置时,Citrix Provisioning 服务器将使用其 IP 地址和端口填充 XenServer 上的 pvs-server 对象。PVS 加速器随后使用此信息专门优化 VM 与其 Citrix Provisioning 服务器之间的流量。可以使用以下命令列出所配置的 Citrix Provisioning 服务器:

xe pvs-server-list pvs-site-uuid=PVS_SITE_UUID params=all

配置 VM 以启用缓存

可以使用以下任意工具为 VM 启用 PVS 加速器:

  • Citrix 预配 CLI
  • Citrix Virtual Desktops 设置向导
  • 流 VM 设置向导
  • XenCenter
  • xe CLI

xe CLI 使用 VM 的 VIF 配置 PVS 加速器。它将创建一个 Citrix Provisioning 代理,该代理将 VM 的 VIF 与 Citrix Provisioning 站点链接。

要配置 VM,请运行以下命令:

  1. 查找 VM 的第一个 VIF 以在其上启用缓存:

    VIF_UUID=$(xe vif-list vm-name-label=pvsdevice_1 device=0 --minimal)
    
  2. 创建 Citrix Provisioning 代理

    xe pvs-proxy-create pvs-site-uuid=PVS_SITE_UUID vif-uuid=$VIF_UUID
    

对 VM 禁用缓存

可以通过销毁将 VM 的 VIF 与 pvs-site 链接的 Citrix Provisioning 代理为 VM 禁用 PVS 加速器。

  1. 查找 VM 的第一个 VIF:

    VIF_UUID=$(xe vif-list vm-name-label=pvsdevice_1 device=0 --minimal)
    
  2. 查找 VM 的 Citrix Provisioning 代理:

    PVS_PROXY_UUID=$(xe pvs-proxy-list vif-uuid=$VIF_UUID --minimal)
    
  3. 销毁 Citrix Provisioning 代理:

    xe pvs-proxy-destroy uuid=$PVS_PROXY_UUID
    

删除主机或站点的 PVS 加速器存储

要删除主机或站点的 PVS 加速器存储,请运行以下命令:

  1. 查找要销毁其存储的主机:

    HOST_UUID=$(xe host-list name-label=HOST_NAME --minimal)
    
  2. 查找对象的 UUID:

    PVS_CACHE_STORAGE_UUID=$(xe pvs-cache-storage-list host-uuid=$HOST_UUID --minimal)
    
  3. 销毁对象:

    xe pvs-cache-storage-destroy uuid=$PVS_CACHE_STORAGE_UUID
    

忘记站点的 PVS 加速器配置

要忘记站点的 PVS 加速器配置,请执行以下操作:

  1. 查找 Citrix Provisioning 站点:

    PVS_SITE_UUID=$(xe pvs-site-list name-label=My PVS Site)
    
  2. 运行以下命令可忘记 Citrix Provisioning 站点:

    xe pvs-site-forget uuid=$PVS_SITE_UUID
    

PVS 加速器