XenApp and XenDesktop

配置和管理

本主题涵盖了配置和管理个人虚拟磁盘 (PvD) 环境时应考虑的事项。它还包括最佳实践指南和任务说明。

对于涉及 Windows 注册表操作的步骤:

注意:

不正确地编辑注册表可能导致严重问题,甚至可能需要重新安装操作系统。Citrix® 无法保证能够解决因不正确使用注册表编辑器而导致的问题。请自行承担使用注册表编辑器的风险。编辑注册表之前,请务必备份注册表。

注意事项:个人虚拟磁盘大小

以下因素会影响主个人虚拟磁盘卷的大小:

  • 用户将在其 PvD 上安装的应用程序的大小

    重新启动时,PvD 会确定应用程序区域 (UserData.v2.vhd) 中剩余的可用空间。如果此空间低于 10%,则应用程序区域会扩展到任何未使用的配置文件区域空间中(默认情况下,即 P: 驱动器上的可用空间)。添加到应用程序区域的空间大约是应用程序区域和配置文件区域中剩余可用空间总和的 50%。

    例如,如果 10 GB PvD(默认情况下为 5 GB)上的应用程序区域达到 4.7 GB,并且配置文件区域有 3 GB 可用空间,则添加到应用程序区域的增加空间计算方式如下:

    增加的空间 = (5.0-4.7)/2 + 3.0/2 = 1.65 GB

    添加到应用程序区域的空间仅为近似值,因为会为存储日志和开销预留少量空间。计算和可能的调整大小在每次重新启动时执行。

  • 用户配置文件的大小(如果未使用单独的配置文件管理解决方案)

    除了应用程序所需的空间外,请确保个人虚拟磁盘上有足够的可用空间来存储用户配置文件。计算空间要求时,请包括任何未重定向的特殊文件夹(例如“我的文档”和“我的音乐”)。现有配置文件大小可从“控制面板”(sysdm.cpl) 中获取。

    某些配置文件重定向解决方案存储存根文件(哨兵文件)而不是实际配置文件数据。这些配置文件解决方案最初可能看起来不存储任何数据,但实际上每个存根文件在文件系统中会占用一个文件目录条目;通常,每个文件大约 4 KB。如果使用此类解决方案,请根据实际配置文件数据而不是存根文件估算大小。

    企业文件共享应用程序(例如 ShareFile 和 Dropbox)可能会将数据同步或下载到个人 vDisk 上的用户配置文件区域。如果您使用此类应用程序,请在大小调整估算中为这些数据预留足够的空间。

  • 包含 PvD 清单的模板 VHD 消耗的开销

    模板 VHD 包含 PvD 清单数据(与主映像内容对应的哨兵文件)。PvD 应用程序区域由此 VHD 创建。由于每个哨兵文件或文件夹在文件系统中都包含一个文件目录条目,因此即使在最终用户安装任何应用程序之前,模板 VHD 内容也会占用 PvD 应用程序空间。您可以通过在进行清单盘点后浏览主映像来确定模板 VHD 的大小。或者,可以使用以下公式进行近似计算:

    模板 VHD 大小 =(基本映像上的文件数)x 4 KB

    通过右键单击基本 VM 映像上的 C: 驱动器并选择“属性”来确定文件和文件夹的数量。例如,包含 250,000 个文件的映像将生成一个大约 1,024,000,000 字节(略低于 1 GB)的模板 VHD。此空间将无法用于 PvD 应用程序区域中的应用程序安装。

  • PvD 映像更新操作的开销

    在 PvD 映像更新操作期间,PvD 根目录(默认为 P:)必须有足够的空间来合并两个映像版本中的更改以及用户对其 PvD 所做的更改。通常,PVD 会为此目的保留几百兆字节,但写入 P: 驱动器的额外数据可能会占用此保留空间,导致映像更新无法成功完成。PvD 池统计信息脚本(位于 XenDesktop 安装介质的 Support/Tools/Scripts 文件夹中)或 PvD 映像更新监视工具(位于 Support/Tools/Scripts\PvdTool 文件夹中)可以帮助识别目录中正在更新且几乎已满的任何 PvD 磁盘。

    防病毒产品的存在会影响运行清单或执行更新所需的时间。如果您将 CtxPvD.exe 和 CtxPvDSvc.exe 添加到防病毒产品的排除列表中,则性能可以得到改善。这些文件位于 C:\Program Files\Citrix\personal vDisk\bin 中。将这些可执行文件从防病毒软件的扫描中排除,可以将清单和映像更新性能提高多达十倍。

  • 意外增长的开销(意外的应用程序安装等)

    考虑在总大小中留出额外空间(固定量或 vDisk 大小的百分比),以适应用户在部署期间执行的意外应用程序安装。

操作方法:配置个人 vDisk 大小和分配

您可以通过设置 VHD 的初始大小来手动调整确定 VHD 相对于 P: 驱动器大小的自动调整大小算法。例如,如果您知道用户将安装一些应用程序,这些应用程序即使在算法调整大小后也太大而无法容纳在 VHD 上,这会很有用。在这种情况下,您可以增加应用程序空间的初始大小以适应用户安装的应用程序。

最好在主映像上调整 VHD 的初始大小。或者,当用户没有足够的空间安装应用程序时,您可以在虚拟桌面上调整 VHD 的大小。但是,您必须在每个受影响的虚拟桌面上重复该操作;您无法在已创建的目录中调整 VHD 的初始大小。

确保 VHD 足够大以存储防病毒定义文件,这些文件通常很大。

在 HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\personal vDisk\Config 中找到并设置以下注册表项。(请勿修改此注册表项中的其他设置。)所有设置都必须在主映像上指定(MinimumVHDSizeInMB 除外,它可以在单个计算机上更改);在主映像上指定的设置将在下一次映像更新期间应用。

  • 最小VHD大小MB

    指定个人 vDisk 应用程序部分 (C:) 的最小大小(以兆字节为单位)。新大小必须大于现有大小,但小于磁盘大小减去 PvDReservedSpaceMB。

    增加此值会将 vDisk 上配置文件部分的可用空间分配给 C:。如果使用小于 C: 驱动器当前大小的值,或者如果 EnableDynamicResizeOfAppContainer 设置为 0,则此设置将被忽略。

    默认值 = 2048

  • 启用应用程序容器的动态大小调整

    启用或禁用动态调整大小算法。

    • 当设置为 1 时,如果 C: 上的可用空间低于 10%,则应用程序空间(在 C: 上)会自动调整大小。允许的值为 1 和 0。需要重新启动才能使调整大小生效。
    • 当设置为 0 时,VHD 大小根据 XenDesktop 7.x 之前版本中使用的方法确定。

    默认值 = 1

  • 启用用户配置文件重定向

    启用或禁用将用户配置文件重定向到 vDisk。

    • 当设置为 1 时,PvD 会将用户配置文件重定向到个人 vDisk 驱动器(默认为 P:)。配置文件通常重定向到 P:\Users,对应于标准 Windows 配置文件。此重定向可在 PvD 桌面需要重置时保留配置文件。

    • 当设置为 0 时,vDisk 上的所有空间(减去 PvDReservedSpaceMB)都分配给 C:(vDisk 的应用程序部分),并且 vDisk 驱动器 (P:) 在 Windows 资源管理器中被隐藏。Citrix 建议在使用 Citrix Profile management 或其他漫游配置文件解决方案时,通过将值设置为 0 来禁用重定向。

      此设置将配置文件保留在 C:\Users 中,而不是将其重定向到 vDisk,并让漫游配置文件解决方案处理这些配置文件。

      此值确保 P: 上的所有空间都分配给应用程序。

      假设此值设置为 0,则表示已部署配置文件管理解决方案。不建议在没有漫游配置文件解决方案的情况下禁用配置文件重定向,因为后续的 PvD 重置操作会导致配置文件被删除。

    映像更新时请勿更改此设置,因为它不会更改现有配置文件的位置,但会将个人 vDisk 上的所有空间分配给 C: 盘并隐藏 PvD。

    在部署目录之前,请配置此值。目录部署后,您将无法更改此值。

    重要提示:从 XenDesktop 7.1 开始,执行映像更新时,此值的更改将不被接受。在首次创建配置文件源目录时设置此键的值。之后无法修改重定向行为。

    默认值 = 1

  • 应用程序PvD百分比

    设置 vDisk 的应用程序部分 (C:) 和配置文件部分之间的分配比例。此值在创建新 VM 时以及在 EnableDynamicResizeOfAppContainer 设置为 0 的映像更新期间使用。

    对 PercentOfPvDForApps 进行更改,仅当 EnableDynamicResizeOfAppContainer 设置为 0 时才会生效。默认情况下,EnableDynamicResizeOfAppContainer 的值为 1(表示已启用),这意味着 AppContainer(即您所见的 C 盘)仅在存储空间接近满载时(即动态地)进行扩展——具体而言,当剩余可用空间少于 10% 时。

    增加 PercentOfPvDForApps 仅增加应用程序部分允许扩展的最大空间。它不会立即为您预配该空间。您还必须在主映像中配置分配比例,该比例将在下一次映像更新期间应用。

    如果您已经生成了一个 EnableDynamicResizeOfAppContainer 设置为 1 的计算机目录,那么在主映像中将该设置更改为 0 以进行下一次更新,并配置适当的分配比例。只要请求的分配大小大于 C 盘当前分配的大小,该请求就会被接受。

    如果您希望完全控制空间分配,请将此值设置为 0。这允许完全控制 C 盘大小,并且不依赖于用户在低于阈值时消耗空间来扩展驱动器。

    默认值 = 50%(为两个部分分配相等空间)

  • PvDReservedSpaceMB

    指定 vDisk 上用于存储个人 vDisk 日志和其他数据的保留空间大小(以兆字节为单位)。

    如果您的部署包含 XenApp 6.5(或更早版本)并使用应用程序流技术,请将此值增加 Rade 缓存的大小。

    默认值 = 512

  • PvDResetUserGroup

    仅适用于 XenDesktop 5.6 - 允许指定的用户组重置个人虚拟磁盘。更高版本的 XenDesktop 使用委派管理来实现此功能。

其他设置:

  • Windows Update Service—确保在主映像中将 Windows 更新设置为“从不检查更新”,并将 Windows 更新服务设置为“禁用”。如果 Windows Update Service 需要在 PvD 上运行,将其设置为“从不检查更新”有助于防止更新安装到关联的计算机上。

    Windows 8 应用商店需要此服务运行才能安装任何 Modern 风格的应用程序。

  • Windows 更新—这些更新包括 Internet Explorer 更新,并且必须在主映像上应用。

  • 需要重新启动的更新—应用于主映像的 Windows 更新可能需要多次重新启动才能完全安装,具体取决于这些更新中提供的补丁类型。在进行 PvD 清点之前,请确保正确重新启动主映像,以完全完成所有已应用的 Windows 更新的安装。

  • 应用程序更新—更新主映像上安装的应用程序,以节省用户虚拟磁盘上的空间。这还可以避免在每个用户的虚拟磁盘上重复更新应用程序的工作。

注意事项:主映像上的应用程序

某些软件可能与 PvD 组合用户环境的方式冲突,因此您必须将其安装在主映像上(而不是在单个计算机上)以避免这些冲突。此外,尽管其他一些软件可能不会与 PvD 的操作冲突,但 Citrix 仍建议将其安装在主映像上。

必须安装在主映像上的应用程序:

  • 代理和客户端(例如,系统中心配置管理器代理、App-V 客户端、Citrix Receiver™)
  • 安装或修改早期启动驱动程序的应用程序
  • 安装打印机或扫描仪软件或驱动程序的应用程序
  • 修改 Windows 网络堆栈的应用程序
  • 虚拟机工具,例如 VMware 工具和 XenServer® 工具

以下是应安装在主映像上的应用程序:

  • 分发给大量用户的应用程序。在每种情况下,部署前请关闭应用程序更新:
    • 使用批量许可的企业应用程序,例如 微软 Office、微软 SQL Server
    • 常用应用程序,例如 Adobe 阅读器、火狐浏览器和谷歌浏览器
  • 大型应用程序,例如 SQL Server、Visual Studio 和应用程序框架(例如 .NET)

以下建议和限制适用于用户在具有个人 vDisk 的计算机上安装的应用程序。如果用户具有管理权限,则其中一些无法强制执行:

  • 用户不应从主映像卸载应用程序,然后将其重新安装到其个人 vDisk 上。
  • 更新或卸载主映像上的应用程序时请务必小心。在映像上安装某个版本的应用程序后,用户可能会安装需要此版本的附加应用程序(例如,插件)。如果存在此类依赖关系,则更新或卸载映像上的应用程序可能会导致附加组件出现故障。例如,在主映像上安装 Microsoft Office 2010 后,用户在其个人 vDisk 上安装 Visio 2010。之后在主映像上升级 Office 可能会导致本地安装的 Visio 无法使用。
  • 不支持具有硬件相关许可证(通过加密狗或基于签名的硬件)的软件。

需要考虑的因素:预配服务

将预配服务与 PvD 结合使用时:

  • 必须将 Soap Service 帐户添加到 Studio 的管理员节点,并且必须具有“计算机管理员”或更高级别的角色。这可确保在将 Provisioning Services (PVS) vDisk 提升到生产环境时,PvD 桌面进入“正在准备”状态。
  • 必须使用 Provisioning Service 版本控制功能来更新个人 vDisk。当版本提升到生产环境时,Soap Service 会将 PvD 桌面置于“正在准备”状态。
  • 个人 vDisk 大小应始终大于 Provisioning Services 写入缓存磁盘(否则,Provisioning Services 可能会错误地选择个人 vDisk 用作其写入缓存)。
  • 创建交付组后,您可以使用 PvD 映像更新监视工具或调整大小和池统计信息脚本 (personal-vdisk-poolstats.ps1) 监视个人 vDisk。

正确调整写入缓存磁盘的大小。在正常操作期间,PvD 会捕获大多数用户写入(更改)并将其重定向到个人 vDisk。这意味着您可以减小 Provisioning Services 写入缓存磁盘的大小。但是,当 PvD 不活动时(例如在映像更新操作期间),较小的 Provisioning Services 写入缓存磁盘可能会填满,从而导致计算机崩溃。

Citrix 建议您根据 Provisioning Services 最佳实践调整 Provisioning Services 写入缓存磁盘的大小,并添加等于主映像上模板 VHD 大小两倍的空间(以满足合并要求)。合并操作极不可能需要所有这些空间,但这是有可能的。

使用 Provisioning Services 部署包含已启用 PvD 的计算机的目录时:

  • 请遵循 预配服务 文档中的指导。
  • 您可以通过编辑 Studio 中的连接来更改电源操作限制设置;请参见下文。
  • 如果您更新 Provisioning Services vDisk,在安装/更新应用程序和其他软件并重新启动 vDisk 后,运行 PvD 清单,然后关闭 VM。然后,将新版本提升到生产环境。目录中的 PvD 桌面应自动进入“正在准备”状态。如果未进入,请检查 Soap Service 帐户在 Controller 上是否具有计算机管理员或更高权限。

Provisioning Services 测试模式功能使您能够创建包含使用更新的主映像的计算机的测试目录。如果测试确认测试目录可行,您可以将其提升到生产环境。

注意事项:计算机创建服务™

当使用机器创建服务 (MCS) 部署包含支持 PvD 的计算机的目录时:

  • 请遵循 XenDesktop® 文档中的指导。
  • 创建主映像后运行 PvD 清单,然后关闭 VM(如果您不关闭 VM,PvD 将无法正常运行)。然后,拍摄主映像的快照。
  • 在“创建计算机目录”向导中,指定个人 vDisk 大小和驱动器盘符。
  • 创建交付组后,您可以使用 PvD 映像更新监视工具或调整大小和池统计脚本 (personal-vdisk-poolstats.ps1) 监视个人 vDisk。
  • 您可以通过在 Studio 中编辑连接来更改电源操作限制设置;请参见下文。
  • 如果您更新主映像,请在更新映像上的应用程序和其他软件后运行 PvD 清单,然后关闭虚拟机。之后,为主映像创建快照。
  • 使用 PvD 映像更新监控工具或 personal-vdisk-poolstats.ps1 脚本来验证将使用更新后的主映像的每个启用 PvD 的虚拟机上是否有足够的空间。
  • 更新计算机目录后,PvD 桌面将进入“准备中”状态,因为它们会单独处理新主映像中的更改。桌面将根据计算机更新期间指定的推出策略进行更新。
  • 使用 PvD 映像更新监控工具或 personal-vdisk-poolstats.ps1 脚本来监控处于“准备中”状态的 PvD。

操作方法:从 vDisk 中排除文件和文件夹

使用规则文件从 vDisk 中排除文件和文件夹。您可以在个人 vDisk 部署时执行此操作。规则文件名为 custom_*_rules.template.txt,位于 \config 文件夹中。每个文件中的注释提供了额外的文档。

操作方法:更新主映像时运行清单

启用 PvD 后以及安装后对主映像进行任何更新后,刷新磁盘清单(称为“运行清单”)并创建新快照非常重要。

由于管理员而非用户管理主映像,因此如果您安装的应用程序将二进制文件放置在管理员的用户配置文件中,则该应用程序将不适用于共享虚拟桌面用户(包括基于池化计算机目录和与 PvD 池化计算机目录的桌面)。用户必须自行安装此类应用程序。

最佳实践是在此过程的每个步骤之后拍摄映像快照。

  1. 通过安装任何应用程序或操作系统更新,并在计算机上执行任何系统配置来更新主映像。

    对于计划使用个人 vDisk 部署的基于 Windows XP 的主映像,请检查没有打开的对话框(例如,确认软件安装的消息或使用未签名驱动程序的提示)。在此环境中,主映像上打开的对话框会阻止 VDA 向 Delivery Controller 注册。您可以使用“控制面板”阻止未签名驱动程序的提示。例如,导航到“系统”>“硬件”>“驱动程序签名”,然后选择忽略警告的选项。

  2. 关闭计算机。对于 Windows 7 计算机,当 Citrix Personal vDisk 阻止关机时,单击“取消”。

  3. 在 Citrix Personal vDisk 对话框中,单击“更新清单”。此步骤可能需要几分钟才能完成。

    重要提示:如果您中断了以下关机操作(即使只是对映像进行次要更新),Personal vDisk 的清单将不再与主映像匹配。这将导致 Personal vDisk 功能停止工作。如果您中断了关机操作,则必须重新启动计算机,将其关闭,并在出现提示时再次单击“更新清单”。

  4. 在清单操作关闭计算机之后,请务必为主映像创建快照。

您可以将清单导出到网络共享,然后将该清单导入到主映像。有关详细信息,请参阅“导出和导入 PvD 清单”。

操作方法:配置连接限制设置

Citrix Broker Service 控制提供桌面和应用程序的计算机的电源状态。Broker Service 可以通过 Delivery Controller 控制多个虚拟机管理程序。Broker 电源操作控制 Controller 与虚拟机管理程序之间的交互。为避免虚拟机管理程序过载,更改计算机电源状态的操作会被分配优先级,并使用限制机制发送到虚拟机管理程序。以下设置会影响限制。您可以通过在 Studio 中编辑连接(“高级”页面)来指定这些值。

若要配置连接节流值,请执行以下操作:

  1. 在 Studio 导航窗格中选择“配置”>“托管”。
  2. 选择连接,然后在“操作”窗格中选择“编辑连接”。
  3. 您可以更改以下值:
    • 并发操作(所有类型)—允许的最大并发进行中的电源操作数。此设置既指定为绝对值,也指定为与虚拟机管理程序连接的百分比。使用这两个值中较低的一个。

      默认值 = 100 绝对值,20%

    • 并发 Personal vDisk 清单更新—允许的最大并发 Personal vDisk 电源操作数。此设置既指定为绝对值,也指定为连接的百分比。使用这两个值中较低的一个。

      默认值 = 50 绝对值,25%

      要计算绝对值:确定最终用户存储支持的总 IOPS (TIOPS)(这应由制造商指定或计算得出)。使用每 VM 350 IOPS (IOPS/VM),确定在存储上任何给定时间应处于活动状态的 VM 数量。通过将总 IOPS 除以 IOPS/VM 来计算此值。

      例如,如果最终用户存储为 14000 IOPS,则活动 VM 的数量为 14000 IOPS / 350 IOPS/VM = 40。

    • 每分钟最大新操作数—每分钟可发送到管理程序的新电源操作的最大数量。指定为绝对值。

      默认值 = 10

为帮助您确定部署中这些设置的最佳值:

  1. 使用默认值,测量测试目录的映像更新的总响应时间。这是映像更新开始时间 (T1) 与目录中最后一台计算机上的 VDA 向 Controller 注册时间 (T2) 之间的差值。总响应时间 = T2-T1。
  2. 测量映像更新期间管理程序存储的每秒输入/输出操作数 (IOPS)。此数据可作为优化的基准。(默认值可能是最佳设置;或者,系统可能会达到 IOPS 的最大值,这将需要降低设置值。)
  3. 如下所述更改“同时进行的 Personal vDisk 清单更新”值(保持所有其他设置不变)。
    1. 将值增加 10,并在每次更改后测量总响应时间。继续将值增加 10 并测试结果,直到总响应时间出现恶化或没有变化。
    2. 如果上一步通过增加值没有带来改进,则以 10 为增量减小该值,并在每次减小后测量总响应时间。重复此过程,直到总响应时间保持不变或不再进一步改进。这可能是最佳的 PvD 电源操作值。
  4. 获取 PvD 电源操作设置值后,一次调整一个同时操作(所有类型)和每分钟最大新操作数。按照上述过程(以增量方式增加或减少)测试不同的值。

操作方法:系统中心配置管理器 2007 与 PvD

系统中心配置管理器 (配置管理器) 2012 不需要特殊配置,并且可以像任何其他主映像应用程序一样安装。以下信息仅适用于系统中心配置管理器 2007。不支持早于配置管理器 2007 的配置管理器版本。

完成以下步骤以在 PvD 环境中使用 Configuration Manager 2007 代理软件。

  1. 在主映像上安装客户端代理。
    1. 在主映像上安装配置管理器客户端。
    2. 停止 ccmexec 服务(SMS 代理)并将其禁用。
    3. 按如下方式从本地计算机证书存储中删除 SMS 或客户端证书:
      • 混合模式:证书(本地计算机)\SMS\证书
      • 本机模式
        • 证书 (本地计算机)\个人\证书
        • 删除由您的证书颁发机构(通常是内部公钥基础结构)颁发的客户端证书
    4. Delete or rename C:\Windows\smscfg.ini.
  2. 删除用于唯一标识客户端的信息。
    1. (可选)删除或移动 C:\Windows\System32\CCM\Logs 目录下的日志文件。
    2. 安装虚拟投递代理(如果以前未安装),并获取 PvD 清单。
    3. 关闭主映像,拍摄快照,并使用此快照创建计算机目录。
  3. 验证个人 vDisk 并启动服务。在每个 PvD 桌面首次启动后,执行一次这些步骤。例如,可以使用域 GPO 完成此操作。
    • 通过检查注册表项 HKLM\Software\Citrix\personal vDisk\config\virtual 是否已在系统中正确创建并存在,以确认 PvD 处于正常运行的活动状态。
    • 请将 ccmexec 服务(即 SMS 代理程序)的启动类型设置为“自动”,并随后启动此服务。Configuration Manager 客户端将主动联系 Configuration Manager 服务器,从而获取新的唯一证书和全局唯一标识符 (GUID)。