升级 StoreFront™
升级会保留您的 StoreFront 配置,并保持用户的收藏夹不变。相比之下,卸载 StoreFront 会删除 StoreFront 及相关服务、站点、收藏夹(在独立服务器上)和相关配置。
支持的升级路径
您可以从以下版本升级到 StoreFront 2203 最新 CU:
- StoreFront 2203 LTSR(初始版本或任何 CU)
- StoreFront 1912 LTSR(任何 CU)
- StoreFront 3.12 LTSR CU9
要从 3.12 CU9 之前的版本升级,您必须首先升级到 StoreFront 3.12 CU9。
警告:
当您从 1912 之前的版本升级时,部署中的任何桌面设备站点都将自动删除。作为替代方案,Citrix 建议对所有非域加入用例使用 Citrix Workspace 应用程序桌面锁定。
须知事项
- StoreFront 不支持包含不同产品版本的多个服务器部署,因此服务器组中的所有服务器都必须升级到相同版本,然后才能授予对部署的访问权限。
- StoreFront 不支持包含不同服务器操作系统的多个服务器部署,因此服务器组中的所有服务器都必须使用相同的 Windows Server 操作系统。
- 多个服务器部署不支持并发升级,服务器必须按顺序升级。
- StoreFront 升级运行前会执行一些预升级检查。如果任何预升级检查失败,升级将不会启动,并且会通知您失败原因。您的 StoreFront 安装保持不变。修复失败原因后,重新运行升级。
- 如果 StoreFront 升级本身失败,您现有的 StoreFront 安装可能会丢失其初始配置。将 StoreFront 安装恢复到功能正常的状态,然后重新运行升级。要将 StoreFront 恢复到功能正常的状态,请考虑以下方法:
- 恢复您在升级前创建的 VM 快照,
- 导入您在升级前导出的 StoreFront 配置(请参阅导出和导入 StoreFront 配置),
- 执行解决 StoreFront 升级问题中的故障排除建议。
- Citrix Virtual Apps and Desktops 元安装程序导致的任何 StoreFront 升级失败都会在对话框中报告,并提供相关失败日志的链接。
准备升级
在开始升级之前,建议您执行以下步骤,以防止升级失败:
- 在升级前规划您的备份策略。
- 验证您是否正在从支持的版本升级。
- 从 Citrix 网站下载 StoreFront 安装程序。
升级单个 StoreFront 服务器
- 通过创建 VM 快照来备份服务器。
- 导出现有 StoreFront 配置。如果服务器组中有多个服务器,则仅从一个服务器导出服务器组配置。只要您在它们之间传播了所有更改,服务器组中的所有服务器都会维护相同的配置副本。此备份允许您轻松构建新的服务器组,以便在出现问题时轻松恢复配置。请注意,您只能将此备份恢复到运行与导出时相同版本的服务器中。
- 如果您修改了
C:\inetpub\wwwroot\Citrix\<StoreName>\App_Data或C:\inetpub\wwwroot\Citrix\<StoreName>Auth\App_Data中的文件,例如 default.ica 和 usernamepassword.tfrm,请为每个应用商店备份它们。升级后,您可以恢复它们以恢复您的修改。 - 通过从任何负载平衡器中删除服务器或以其他方式阻止连接来阻止用户连接。
- 重新启动服务器。
- 确保没有正在运行的应用程序,包括 StoreFront 管理控制台、命令行和 PowerShell 窗口或任何其他可能锁定 StoreFront 文件的应用程序。这可确保安装程序在升级期间可以访问所有 StoreFront 文件。如果安装程序无法访问任何文件,则不会替换它们,并且升级会失败,从而导致删除现有 StoreFront 配置。
- 确保您没有打开包含 StoreFront 文件的目录的 Windows 资源管理器或命令提示符。
- 禁用任何防病毒应用程序。
- 运行所需版本的 StoreFront 安装文件。
在计划的维护停机期间升级 StoreFront 服务器组
要在计划的停机期间升级包含多个服务器的 StoreFront 服务器组,请完成以下步骤:
- 通过禁用负载平衡 URL 来禁用用户对服务器组的访问。这可以防止用户在升级过程中连接到部署。
- 按照升级单个 StoreFront 服务器中的说明升级每个服务器。
- 检查所有服务器是否正常运行。
- 通过启用负载平衡 URL 来启用用户对已升级服务器组的访问。
在不停机的情况下升级 StoreFront 服务器组
不支持同时升级实时 StoreFront 服务器组中的服务器。但是,您可以通过创建具有相同配置的新服务器组、升级它,然后将用户连接迁移到新服务器组来实现实时升级。用户在服务器组之间传输时需要重新向 StoreFront 进行身份验证。
例如,要升级包含三台服务器 A、B 和 C 的 StoreFront 服务器组:
- 使用 Export-STFConfiguration 导出 StoreFront 配置。此备份是必需的,因为服务器稍后在过程中会恢复出厂设置,这将删除配置数据。
- 使用 Export-STFStoreSubscriptions 从服务器 A 导出订阅数据。此备份是必需的,因为服务器稍后在过程中会恢复出厂设置,这将删除订阅数据。请参阅管理应用商店的订阅数据。
- 通过从负载平衡器中删除服务器 C 来禁用用户对服务器 C 的访问。这可以防止用户在升级过程中连接到服务器 C。负载平衡器继续向服务器 A 和 B 发送请求。
- 使用服务器 A 从组中删除服务器 C。 服务器 A 和 B 继续为您的用户资源提供访问权限。服务器 C 现在已从服务器组中孤立,并已恢复出厂设置。
- 使用 Clear-STFDeployment 将孤立的服务器 C 恢复为出厂默认设置。
- 使用 Import-STFConfiguration 将您之前导出的 StoreFront 配置导入到服务器 C。服务器 C 现在具有与旧服务器组相同的配置。稍后无需再次重复此步骤。只有一个服务器需要配置数据的副本,以便将其传播到加入组的任何其他服务器。
- 按照升级单个 StoreFront 服务器中的说明升级服务器 C。服务器 C 现在具有与旧服务器组相同的配置,并已升级到新版本的 StoreFront。
- 导入您之前导出到服务器 C 的订阅数据。稍后无需再次重复此步骤。只有一个服务器需要订阅数据的副本,以便将其传播到加入组的任何其他服务器。
- 使用服务器 B 重复步骤 3、4、5 和 7(不要重复步骤 6)。在此期间,只有服务器 A 为用户提供对资源的访问。因此,建议在工作量较小的安静工作期间执行此步骤,此时 StoreFront 服务器组上的负载预计最小。
- 使用加入现有服务器组过程将服务器 B 加入服务器 C。这会在当前版本的 StoreFront (服务器 A) 上提供单个服务器部署,并在新版本的 StoreFront (服务器 B 和 C) 上提供新的双节点服务器组。
- 将服务器 B 和 C 添加到负载平衡服务,以便它们可以接管服务器 A。
- 从负载平衡器中删除服务器 A,以便用户被定向到新升级的服务器 B 和 C。
- 使用服务器 A 重复步骤 5、7、10 和 11(不要重复步骤 6)。服务器组升级过程现已完成。服务器 A、B 和 C 具有与原始组相同的配置和订阅数据。
注意:
在服务器 A 是唯一可访问服务器的短暂期间,收藏夹可能会丢失(步骤 9)。这可能导致新服务器组在升级后拥有稍微过时的订阅数据库副本,并且任何新的收藏夹都可能丢失。
这没有功能影响,因为收藏夹数据对于用户登录和启动资源不是必需的。但是,用户在服务器 A 恢复出厂设置并加入新升级的组后,需要再次收藏资源。尽管不太可能丢失超过少量收藏记录,但这是在不停机的情况下升级实时 StoreFront 生产环境的可能后果。
解决升级问题
-
在 C:\Windows\Temp\StoreFront 中,打开最新的 CitrixMsi*.log 并搜索任何异常错误。
Thumbs.db Access 异常:由 C:\inetpub\wwwroot\citrix 或其子目录中的 thumbs.db 文件引起。删除找到的任何 thumbs.db 文件。
Cannot get exclusive file access \in use 异常:如果可用,恢复快照/备份,或重新启动服务器,并手动停止任何 StoreFront 服务。
Service cannot be started 异常:如果可用,恢复快照/备份,或安装完整版本的 .NET framework 4.5(而不是客户端配置文件)。
- 如果 CitrixMsi*.log 中没有异常错误,请检查服务器的 Event Viewer > Delivery Services 中是否有包含上述异常错误消息的任何错误。按照相应的建议进行操作。
- 如果事件查看器中没有异常错误,请检查 C:\Program Files\Citrix\Receiver StoreFront\logs 中的 Admin 日志,查找任何包含上述异常错误消息的错误。按照相应的建议进行操作。
有关日志文件的更多详细信息,请参阅安装日志。