如何在 App-V Client 上配置只读缓存

应用到: Application Virtualization 4.6

在 Microsoft Application Virtualization (App-V) 4.6 中,该客户端支持使用共享的只读缓存。利用共享的只读缓存,该客户端可以在虚拟桌面基础结构 (VDI) 系统中高效地使用磁盘空间,在该系统中,用户在虚拟机 (VM) 上运行应用程序,这些虚拟机承载于数据中心服务器环境中并共享存储区域网络 (SAN) 上的网络存储。以下步骤概述了在任何一个主要 VDI 体系结构(即“共用 VM”或“静态 VM”)中实现 App-V Client 所需的过程。本文档假定您熟悉 App-V System 及其组件的规划、部署和操作以及 VDI 服务器的操作和管理。有关 App-V 的详细信息,请参阅 Application Virtualization (https://go.microsoft.com/fwlink/?LinkId=122939)

备注

以下步骤所述的详细信息仅作为示例。您可以使用不同的方法完成整个过程。

在 VDI 方案中部署 App-V Client

通过使用其中填充了所有用户所需的所有应用程序的共享只读缓存,您可以在 VDI 方案中部署 App-V Client。然后,您可以配置 VDI 主 VM 映像,使所有 App-V Client 均使用相同的缓存文件。通过使用 App-V 发布过程,向用户授予对特定应用程序的访问权限。由于缓存中预加载了所有应用程序,所以当用户启动应用程序时不会发生流式处理。但是,用于预填充缓存的程序包必须放在 App-V 服务器上,该服务支持实时流协议 (RTSP) 流式处理并授予对 App-V Client 的访问权限。如果您使用 App-V Management Server 发布应用程序,则可以使用它提供此流式处理功能。

部署过程包括以下四个主要任务:

  • 创建并填充主共享缓存文件

  • 将共享缓存文件复制到 VDI 服务器存储

  • 在 VDI 主映像上配置 App-V Client 软件

  • 在初始部署之后管理共享缓存文件的更新部署周期

这些任务需要仔细规划。建议您制定并记录一个可重复执行的有序过程供您的组织遵循。这对于初次准备和部署主共享缓存文件以及不断管理应用程序更新(每项更新都要求更新主共享缓存)尤其重要。使用下列过程完成这些主要任务。

备注

虽然可以使用一些不同的方法来发布应用程序,但是下列过程使用 App-V Management Server 进行发布。

在共用 VM VDI 或静态 VM VDI 方案中配置用于初始部署的只读缓存

  1. 在 VDI 服务器上的 VM 中安装并配置 App-V Management Server,以提供用户身份验证和发布支持。

  2. 在此 Management Server 的 Content 文件夹中填充所有用户所需的所有应用程序包。

  3. 设置安装了 App-V Client 的临时计算机。用具有对所有应用程序的访问权限的帐户登录该临时计算机以便将整套应用程序发布到该计算机,然后将应用程序传输到缓存以便完全加载应用程序。

    重要

    临时计算机所使用的操作系统类型和系统体系结构必须与将运行 App-V Client 的 VM 所使用的操作系统类型和系统体系结构相同。

  4. 在安全模式下重启临时计算机以确保不会启动驱动程序,此操作会锁定缓存文件。

    备注

    或者,可以停止并禁用 Application Virtualization 服务,然后重新启动计算机。复制文件之后,请记住重新启用并启动该服务。

  5. 将 Sftfs.fsd 缓存文件复制到 VDI 服务器的 SAN 上所有 VM 都可以访问的位置,例如共享文件夹中。针对 Everyone 组将文件夹访问权限设置为“只读”,针对将管理缓存文件更新的管理员将文件夹访问权限设置为“完全控制”。缓存文件的位置可从注册表 AppFS\FileName 中获得。

    重要

    您必须将 FSD 文件放在响应性和可靠性等效于本地附加存储性能的某个位置,例如 SAN。

  6. 在 VDI 主 VM 映像上安装 App-V Desktop Client,然后将其配置为使用只读缓存,方法是在客户端上将以下注册表项值添加到 AppFS 项。AppFS 项位于 HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\SoftGrid\4.5\Client\AppFS。

    类型 用途

    FileName 

    字符串

    FSD 的路径

    指定共享缓存文件的路径,例如 \\VDIServername\Sharefolder\SFTFS.FSD(必需)。

    ReadOnlyFSD

    DWORD 

    1

    将客户端配置为在只读模式下运行。这可以确保客户端不会试图将更新传输到程序包缓存。(必需)

    ErrorLogLocation

    字符串

    错误日志 (.etl) 文件的路径

    用于指定错误日志的路径的项。(推荐。使用本地路径,如 C:\Logs\Sftfs.etl)。

  7. 将主 VM 映像客户端配置为使用发布服务器以及在登录时使用发布刷新。用户登录 VDI 系统并从主 VM 映像生成其 VM 时,发布刷新循环过程将会发生并发布用户帐户已获授权的所有应用程序。这些应用程序从共享缓存中运行。

在共用 VM 方案中为程序包升级配置客户端

  1. 完成应用程序包的升级与测试。

  2. 在 App-V Server 上对程序包进行升级。然后,将应用程序的新版本发布并传输到临时计算机上的客户端,以便将其完全加载到缓存中。

  3. 在安全模式下重启临时计算机以确保不会启动驱动程序。

    备注

    或者,可以在 Services.msc 中停止并禁用 Application Virtualization 服务,然后重新启动计算机。复制文件之后,请记住重新启用并启动该服务。

  4. 将 Sftfs.fsd 缓存文件复制到 VDI 服务器的 SAN 上所有 VM 都可以访问的位置,例如共享文件夹中。可以使用其他文件名(例如 SFTFS_V2.FSD),以区分新版本。

  5. 要在 VDI 主 VM 映像上将 App-V Desktop Client 配置为使用更新的共享缓存文件,请更改 AppFS 注册表项 FILENAME 值以指向已更新文件的位置,例如 \\VDIServername\Sharefolder\SFTFS_V2.FSD。如果用户注销然后重新登录,则将使用更新后的主映像为这些用户创建新的 VM。其所有用户设置都将得以保留并应用于新的 VM。之后,用户便可以访问更新后的应用程序了。

在静态 VM 方案中为程序包升级配置客户端

  1. 完成应用程序包的升级与测试。

  2. 在 App-V Server 上对程序包进行升级。然后,将应用程序的新版本发布并传输到临时计算机上的客户端,以便将这些应用程序完全加载到缓存中。

  3. 在安全模式下重启临时计算机以确保不会启动驱动程序。

    备注

    或者,可以在 Services.msc 中停止并禁用 Application Virtualization 服务,然后重新启动计算机。复制文件之后,请记住重新启用并启动该服务。

  4. 将 Sftfs.fsd 缓存文件复制到 VDI 服务器的 SAN 上所有 VM 都可以访问的位置,例如共享文件夹中。可以使用其他文件名(例如 SFTFS_V2.FSD),以区分新版本。

  5. 要在 VDI 主 VM 映像上将 App-V Desktop Client 配置为使用更新的共享缓存文件,请更改 AppFS 注册表项 FILENAME 值以指向已更新文件的位置,例如 \\VDIServername\Sharefolder\SFTFS_V2.FSD。这将确保新用户获取新版本。

  6. 创建一个脚本,该脚本编辑 AppFS 项 FILENAME 值,以将其设置为更新的缓存的位置,例如 \\VDIServername\Sharefolder\SFTFS_V2.FSD。将此脚本配置为在用户注销或登录时运行(例如使用组策略设置进行配置),以使其在 App-V Client 驱动程序启动前运行。当用户注销然后重新登录时,其现有 VM 将更新,用户将使用缓存的已更新副本。之后,用户便可以访问更新后的应用程序了。

升级缓存时如何使用符号链接

您可以在以下操作系统中使用符号链接,而不是在每次部署包含新程序包或更新的程序包的新缓存文件时修改 AppFS 项 FILENAME 值:Windows Vista、Windows 7 和 Windows Server 2008。有关符号链接的详细信息,请参阅 Symbolic Links(符号链接)(https://go.microsoft.com/fwlink/?LinkId=157626)。相反,Windows XP 不支持使用符号链接,因此您必须改用交接点。有关交接的详细信息,请参阅 Microsoft 知识库中的文章 205524 (https://go.microsoft.com/fwlink/?LinkId=182553),另外请参阅工具 Junction v1.05 (https://go.microsoft.com/fwlink/?LinkId=182554)。

将符号链接配置为引用缓存

  1. 在初始部署阶段,在 VDI 服务器主机操作系统上以本地管理员身份打开命令提示符窗口。

  2. 使用 MKLINK 命令创建符号链接,然后将其配置为指向 Sftfs.fsd 文件。

    **     mklink symlinkname \\vdihostserver\sharefolder\sftfs.fsd**

  3. 在 VDI 主 VM 映像上,使用“以管理员身份运行”选项打开命令提示符窗口,并授予远程链接权限以便 VM 可以访问 VDI 主机操作系统上的符号链接。默认情况下,远程链接权限被禁用。

    **     fsutil behavior set SymlinkEvaluation R2R:1**

    备注

    在存储服务器上,必须启用合适的链接权限。这些权限为 L2L:1L2R:1R2L:1R2R:1,具体取决于链接的位置和 Sftfs.fsd 文件。

  4. 在 VDI 主 VM 映像上配置 App-V Desktop Client 时,将 AppFS 项 FILENAME 值设置为等于使用符号链接的 FSD 文件的 UNC 路径,例如,将其设置为 \\VDIHostserver\Symlinkname。App-V Client 第一次访问缓存时,符号链接会将缓存文件的句柄传递到该客户端。客户端在运行时将一直使用该句柄。即使现有客户端打开了旧共享缓存,也仍然可以安全地更新符号链接的值。

  5. 如果必须升级程序包或向缓存添加新程序包,请遵循静态 VM 或共用 VM 方案中升级过程的步骤 1–5。然后删除符号链接,并重新创建该链接,以指向共享缓存文件的新版本。重新启动 VM 时,客户端会收到缓存的已更新副本的句柄,因为 VM 所使用的路径包含已更新的符号链接。之后,用户便可以访问新应用程序和更新后的应用程序了。

另请参阅

任务

如何安装 Application Virtualization Management Server
如何手动安装 Application Virtualization Client

其他资源

如何使用命令行安装客户端

-----
你可以在 TechNet 库中了解有关 MDOP 的详细信息,在 TechNet Wiki 上搜索疑难解答,或者在 FacebookTwitter 上与我们联系。 请将关于 MDOP 文档的建议和意见发送到 MDOPdocs@microsoft.com。