Citrix Virtual Apps and Desktops

升级部署

简介

您可以将某些部署升级为更高版本,而无需事先设置新计算机或站点。此过程称为原位升级。要了解可以升级的 Citrix Virtual Apps and Desktops 版本,请参阅《Citrix 升级指南》。

要开始升级,请从新版本运行安装程序以升级以前安装的核心组件、VDA 以及某些其他组件。然后升级数据库和站点。

如果提供了更新版本,则可以升级能够通过完整产品安装程序(和独立的 VDA 安装程序)安装的任何组件。有关不通过完整产品安装程序安装的其他组件(例如 Citrix Provisioning 和 Profile Management),请参阅该组件的文档以了解指导信息。对于主机升级,请参阅相应的文档。

请在开始升级之前查看本文中的所有信息。

升级顺序

下图显示了升级顺序的步骤。升级过程包含示意图中的每个步骤的详细信息。

升级顺序的流程图

注意:

为了避免出现故障,必须先升级所有 Delivery Controller 和数据库,然后再执行与预配和交付组相关的任何任务(例如,创建新计算机目录、删除计算机目录、更新交付组中的计算机等)。

升级过程

大多数主要产品组件可以通过在包含组件的计算机上运行产品安装程序来升级。

如果一台计算机包含多个组件(例如,Studio 和许可证服务器),则该计算机上的所有组件都会升级(如果产品介质包含其软件的较新版本)。

要使用安装程序,请执行以下操作:

  • 要运行完整产品安装程序的图形界面,请登录到计算机,然后插入介质或装载新版本的 ISO 驱动器。双击 AutoSelect
  • 要使用命令行界面,请发出恰当的命令。请参阅使用命令行安装

步骤 1:准备

在开始升级之前,请确保您已准备就绪。阅读并完成任何必要的任务:

步骤 2:升级许可证服务器

如果安装中包含 Citrix 许可证服务器软件的新版本,请先升级此组件,然后再升级任何其他组件。

如果您尚不确定许可证服务器是否与新版本兼容,则必须先在许可证服务器上运行安装程序,然后再升级任何其他核心组件。

步骤 3:升级 StoreFront

如果安装介质包含 StoreFront 软件的新版本,请在包含 StoreFront 服务器的计算机上运行安装程序。

  • 在图形界面中,从扩展部署部分选择 Citrix StoreFront
  • 在命令行中运行 CitrixStoreFront-x64.exe,该命令在 Citrix Virtual Apps and Desktops 安装介质的 x64 文件夹中可用。

步骤 4:升级 Director

如果安装介质包含 Director 软件的新版本,请在包含 Director 的计算机上运行安装程序。

步骤 5:升级 Citrix Provisioning

Citrix Provisioning 安装介质与 Citrix Virtual Apps and Desktops 安装介质分开使用。要了解如何安装和升级 Citrix Provisioning 服务器和目标设备软件,请参阅 Citrix Provisioning 产品文档

步骤 6:升级一半 Delivery Controller

例如,如果您的站点包含四个 Controller,应在其中两个 Controller 上运行安装程序。

使另一半的 Controller 处于活动状态,以便用户能访问此站点。VDA 可以在其余 Controller 中进行注册。有时,站点容量可能会因可用 Controller 的减少而降低。升级仅导致在最终数据库升级步骤期间建立新的客户端连接时出现短暂的中断。直到整个站点都完成升级后,升级后的 Controller 才能处理请求。

如果站点中只有一个 Controller,则升级期间该站点将无法正常运行。

初步站点测试在实际升级开始之前在第一个 Controller 上运行。有关详细信息,请参阅初步站点测试

步骤 7:升级 Studio

如果尚未升级 Studio(因为它与其他组件位于同一台计算机上),请在包含 Studio 的计算机上运行安装程序。

步骤 8:重新启动 Studio

重新启动升级的 Studio。升级过程将自动恢复。

步骤 9:升级数据库和站点

注意:

为了避免出现故障,必须先升级所有 Delivery Controller 和数据库,然后再执行与预配和交付组相关的任何任务(例如,创建新计算机目录、删除计算机目录、更新交付组中的计算机等)。

请查看准备,了解更新 SQL Server 数据库架构所需的权限。

  • 如果您有足够的权限来更新 SQL Server 数据库架构,则可以启动自动数据库升级。继续自动升级数据库和站点
  • 如果您的数据库权限不足,则可以启动使用脚本的手动升级,然后在数据库管理员(拥有所需的权限的用户)的帮助下继续操作。对于手动升级,Studio 用户将生成脚本,然后运行启用和禁用服务的脚本。数据库管理员使用 SQLCMD 实用程序或 SQLCMD 模式下的 SQL Server Management Studio 运行用于更新数据库架构的其他脚本。继续手动升级数据库和站点
  • 如果您有多区域部署并希望自动升级数据库和站点,Citrix 建议应在托管站点的 SQL Server 数据库的同一区域中执行 dbschema 升级。否则,自动升级数据库和站点可能会失败。

Citrix 强烈建议您在升级之前备份数据库。请参阅 CTX135207。数据库升级期间,禁用产品服务。此时,Controller 无法为站点代理任何新连接,因此应认真规划。

自动升级数据库和站点

  1. 启动新升级的 Studio。
  2. 指示您希望自动开始站点升级并确认您已准备就绪。

数据库和站点升级将继续进行。

手动升级数据库和站点

  1. 启动新升级的 Studio。
  2. 指示您要手动升级站点。向导将检查许可证服务器的兼容性并请求确认。
  3. 确认您已备份数据库。

    向导会生成并显示脚本以及升级步骤核对表。如果自从升级产品版本后数据库的架构未发生变化,则不生成该脚本。例如,如果日志记录数据库架构未发生变化,则不生成 UpgradeLoggingDatabase.sql 脚本。

  4. 按照所示顺序运行以下脚本。

    • DisableServices.ps1:Studio 用户在 Controller 上运行此 PowerShell 脚本以禁用产品服务。
    • UpgradeSiteDatabase.sql:数据库管理员在包含站点数据库的服务器上运行此 SQL 脚本。
    • UpgradeMonitorDatabase.sql:数据库管理员在包含 Monitor 数据库的服务器上运行此 SQL 脚本。
    • UpgradeLoggingDatabase.sql:数据库管理员在包含配置日志记录数据库的服务器上运行此 SQL 脚本。只有在此数据库更改时(例如,在应用修补程序之后)才运行此脚本。
    • EnableServices.ps1:Studio 用户在 Controller 上运行此 PowerShell 脚本以启用产品服务。

    数据库升级完成且产品服务启用之后,Studio 会自动对环境和配置进行测试,然后生成一份 HTML 报告。如果确定出现了问题,可以还原数据库备份。解决问题之后,可以重新升级数据库。

  5. 完成核对表任务后,单击完成升级

步骤 10:升级其余的 Delivery Controller

在新升级的 Studio 的导航窗格中选择 Citrix Studio 站点名称。在常规任务选项卡上,选择升级其余的 Delivery Controller

完成升级并确认完成之后,关闭 Studio,然后再重新打开。Studio 可能会提示额外进行一次站点升级,以在站点中注册 Controller 的服务,或者创建区域 ID(如果不存在)。

步骤 11:升级 VDA

重要:

如果要将 VDA 升级到版本 1912 或更高版本,请参阅将 VDA 升级到 1912 或更高版本

在包含 VDA 的计算机上运行产品安装程序。

如果使用 Machine Creation Services 和主映像创建计算机,请转到您的主机并在主映像上升级 VDA。可以使用任何可用的 VDA 安装程序。

如果使用 Citrix Provisioning 创建计算机,请参阅 Citrix Provisioning 产品文档了解有关升级的指南。

观看此视频以了解更多

关于 VDA 升级率先垂范的示范做法的专家建议

步骤 12:更新计算机目录和交付组

步骤 13:升级完成后

完成升级后,可以测试新升级的站点。在 Studio 的导航窗格中选择 Citrix Studio 站点名称。在常规任务选项卡上,选择测试站点。这些测试是在升级数据库之后自动运行的,但您可以随时重新运行。

如果未启动 SQL Server Browser 服务,则当本地 Microsoft SQL Server Express 用于站点数据库时,对 Windows Server 2016 上的 Controller 执行测试可能会失败。为了避免这种情况,请执行以下操作:

  • 启用 SQL Server Browser 服务(如有必要),然后启动该服务。
  • 重新启动 SQL Server (SQLEXPRESS) 服务。

升级部署中的其他组件。有关指导,请参阅以下产品文档:

如果需要使用更高版本替换 Microsoft SQL Server Express LocalDB 软件,请参阅替换 SQL Server Express LocalDB

删除 PvD、AppDisk 和不受支持的主机

Citrix Virtual Apps and Desktops 7 当前版本部署中不支持以下技术和主机类型:

  • 个人虚拟磁盘 (PvD),用于在目录中存储用户的 VM 旁边的数据。用户个性化层功能现在负责处理用户持久性。
  • 用于管理交付组中使用的应用程序的 AppDisk
  • 主机类型:Azure Classic、Azure Resource Manager (ARM)、Amazon Web Services (AWS)、CloudPlatform(原始 Citrix 产品)。

    • 有关此版本中支持的主机类型,请参阅系统要求
    • 有关可继续使用 ARM 和 AWS 的其他方法的信息,请参阅 CTX270373

如果您的当前部署使用 PvD 或 AppDisk,或者连接到不受支持的主机类型,则只有在删除使用这些技术的项目后,才能升级到版本 2006(或受支持的更高版本)。

当安装程序检测到一个或多个不受支持的技术或主机类型时,升级将暂停或停止,并显示一条解释性消息。安装程序日志包含详细信息。

为了帮助确保升级成功,请查看并遵循适用的指导以删除不受支持的项目。

即使您未在部署中使用 PvD 或 AppDisk,相关的 MSI 可能已包含在早期的 VDA 安装或升级中。在将 VDA 升级到版本 2006(或受支持的更高版本)之前,必须删除该软件,即使从未使用过该软件亦如此。使用图形界面时,可以为您完成删除操作,也可以在使用 CLI 时包含删除选项。有关详细信息,请参阅升级具有 PVD 或 AppDisk 组件的 VDA

删除 PvD

除非删除配置为使用 PvD 的所有计算机,否则部署升级将无法成功。这会影响目录和交付组。

要从组和目录中删除 PvD,请执行以下操作:

  1. 在 Studio 中,如果交付组包含使用 PvD 的目录中的计算机,请从组中删除这些计算机
  2. 在 Studio 中,删除所有目录,这些目录中包含使用 PvD 的计算机。

VDA 升级: 部署升级不会检测 VDA 是否安装了 AppDisk 或 PvD 组件。但是,VDA 安装程序会进行检测。有关详细信息,请参阅具有PvD 或 AppDisk 组件的 VDA

如果您计划使用 App Layering 而非 PvD,请参阅将 PvD 迁移到 App Layering 以了解有关移动数据的信息。

删除 AppDisk

从使用 AppDisk 的所有交付组中删除这些 AppDisk,然后删除 AppDisk 本身之后,部署升级才能继续。

  1. 在 Studio 导航窗格中选择交付组
  2. 选择一个组,然后在“操作”窗格中单击管理 AppDisk
  3. 单击用于从组中删除 AppDisk 的操作。
  4. 对使用 AppDisk 的每个交付组重复执行步骤 2 和 3。
  5. 在 Studio 导航窗格中选择 AppDisk
  6. 选择一个 AppDisk,然后单击用于删除该 AppDisk 的操作。
  7. 对每个 AppDisk 重复执行步骤 5 和 6。

VDA 升级: 部署升级不会检测 VDA 是否安装了 AppDisk 或 PvD 组件。但是,VDA 安装程序会进行检测。有关详细信息,请参阅具有PvD 或 AppDisk 组件的 VDA

删除不受支持的主机项目

如果站点与不受支持的主机类型(例如 Azure 或 AWS)建立了连接,则无法继续升级到版本 2006(或受支持的更高版本)。在尝试升级之前,请完成以下任务。

在 Studio 中:

具有 PvD 或 AppDisk 组件的 VDA

如果在 VDA 上安装了启用 PvD 和 AppDisk 技术的组件,删除这些组件之后才能升级该 VDA。

注意:

升级到版本 1912 时,您必须卸载当前 VDA,然后安装新 VDA。在本版本中,系统会询问您是否希望 Citrix 删除组件,然后继续升级。

AppDisk 和 PvD 组件可能已安装在早期 VDA 版本中,即使您从未使用过这些技术亦如此:

  • 图形界面:在 VDA 安装程序中,其他组件页面包含 Citrix AppDisk/Personal vDisk 选项。默认情况下,7.15 LTSR 和更早的 7.x 版本启用了此选项。因此,如果您接受默认值(或在提供该选项的任何版本中明确启用了该选项),该组件已安装。
  • CLI:指定 /baseimage 选项已安装的组件。

要执行的操作

如果 VDA 安装程序未检测到当前安装的 VDA 中的 AppDisk 或 PvD 组件,则会像往常一样进行升级。

如果安装程序在当前安装的 VDA 中检测到 AppDisk 或 PvD 组件:

  • 图形界面: 升级暂停。此时将显示一条消息,询问您是否希望自动删除不受支持的组件。如果单击确定,则会自动删除组件并继续进行升级。
  • CLI:为避免命令失败,请在命令中包括以下选项:

    • /remove_appdisk_ack
    • /remove_pvd_ack

限制

升级存在以下限制:

  • 选择性组件安装: 如果在安装任何组件或将任何组件升级到新版本时不升级不同计算机上需要升级的其他组件,Studio 将会提醒您。例如,假设一个升级包括新版本的 Controller 和 Studio。您升级 Controller,但您未在安装了 Studio 的计算机上运行安装程序。在您升级 Studio 之前,Studio.不允许您继续管理站点。

    您不必升级 VDA,但 Citrix 建议升级所有 VDA 以使您能够使用所有可用功能。

  • 早期版本或技术预览版: 不能从早期版本、技术预览版或预览版本进行升级。
  • 早期版本的操作系统中的组件: 不能在 Microsoft 或 Citrix 不再支持的操作系统上安装当前 VDA。有关详细信息,请参阅早期版本的操作系统统

  • 混合环境/站点: 如果必须继续运行早期版本的站点和当前版本的站点,请参阅混合环境注意事项

  • 产品选择: 从早期版本升级时,无需选择或指定在安装过程中设置的产品(Citrix Virtual Apps 或 Citrix Virtual Apps and Desktops)。

混合环境注意事项

升级时,Citrix 建议您升级所有组件和 VDA,以便能够访问您的版本中的所有新增功能和增强功能。

例如,尽管可以在含有早前版本 Controller 的部署中使用当前 VDA,但当前版本中的新增功能可能无法使用。使用非当前版本时,也可能会出现 VDA 注册问题。

在某些环境中,可能无法将所有 VDA 升级到最新版本。在这种情况下,如果创建计算机目录,可以指定计算机上安装的 VDA 版本。(这称为功能级别。)默认情况下,此设置指定建议的最低 VDA 版本。对于大多数部署,默认值就足够了。仅当目录包含的 VDA 早于默认值时,才考虑将设置更改为早期版本。不建议在计算机目录中混合使用多个 VDA 版本。

如果目录是使用默认的最低 VDA 版本设置创建的,并且一台或多台计算机安装了默认版本之前的 VDA 版本,这些计算机将无法在 Controller 中注册,并且将无法使用。

有关详细信息,请参阅 VDA 版本和功能级别

具有不同版本的多个站点

如果您的环境中包含的站点安装了不同的产品版本(例如 XenDesktop 7.18 站点和 Citrix Virtual Apps and Desktops 1909 站点),Citrix 建议使用 StoreFront 来汇总不同产品版本中的应用程序和桌面。有关详细信息,请参阅 StoreFront 文档。

在混合环境中,继续使用与每个发行版对应的 Studio 和 Director 版本,但要确保不同版本安装在单独的计算机上。

早期版本的操作系统

假设您在运行受支持的操作系统 (OS) 版本的计算机上安装了早期版本的组件。现在,您想要使用较新的组件版本,但该组件的当前版本不再支持该操作系统。

例如,假定您在 Windows Server 2008 R2 计算机上安装了服务器 VDA。现在您想要将该 VDA 升级到当前版本,但要升级到的当前版本不支持 Windows Server 2008 R2。

如果您尝试在不再允许使用的操作系统上安装或升级组件,则将显示一条错误消息,例如“无法在此操作系统上安装”。

这些注意事项适用于升级当前版本和长期服务版本。(它不会影响将 CU 应用到 LTSR 版本。)

请单击以下链接了解支持的操作系统:

无效的操作系统

下表列出了不适用于安装/升级当前版本中的组件的早期版本的操作系统。下表指出了列出的每个操作系统支持的最新的有效组件版本,以及安装和升级变得无效的组件版本。

下表中的操作系统包括 Service Pack 和更新。

操作系统 组件/功能 最新的有效版本 不能安装/升级的截至版本
Windows 7 和 Windows 8 VDA 7.15 LTSR 7.16
Windows 7 和 Windows 8 其他安装程序组件 7.17 7.18
1607 之前的 Windows 10 版本 VDA 7.15 LTSR 7.16
Windows 10 x86 版本 VDA 1906.2.0 1909
Windows Server 2008 R2 VDA 7.15 LTSR 7.16
Windows Server 2008 R2 其他安装程序组件 7.17 7.18
Windows Server 2012 VDA 7.15 LTSR 7.16
Windows Server 2012 其他安装程序组件 7.17 7.18
Windows Server 2012 R2 其他安装程序组件 * 1912 LTSR 2003
Windows Server 2012 R2 服务器 VDI 7.15 LTSR 7.16

Windows XP 和 Windows Vista 不适用于任何 7.x 组件或技术。

* 适用于 Delivery Controller、Studio、Director 和 VDA。

可以执行的操作

可以选择的对象。您可以:

继续使用当前的操作系统

这些方法对 VDA 而言是可行的方法。如果您希望继续使用安装了早期版本的操作系统的计算机,可以选择以下选项之一:

  • 继续使用已安装的组件版本。
  • 下载最新的有效组件版本,然后将该组件升级到该版本。(这假设尚未安装最新的有效组件版本。)

例如,您在 Windows 7 SP1 计算机上安装了 7.14 版本的 VDA。Windows 7 操作系统计算机上最新的有效 VDA 版本为 XenApp 和 XenDesktop 7.15 LTSR。可以继续使用 7.14 或下载 7.15 LTSR VDA,然后将您的 VDA 升级到该版本。这些早期版本的 VDA 在包含较新版本的 Delivery Controller 的部署中运行。例如,7.15 LTSR VDA 可以连接到 Citrix Virtual Apps and Desktops 7 1808 Controller。

重新创建映像或升级计算机

这些方法对 VDA 以及其他未安装核心组件(例如 Delivery Controller)的计算机而言是可行的方法。选择以下方法之一:

  • 使计算机停止服务(打开维护模式并允许所有会话关闭)后,可以重新创建其映像至受支持的 Windows 操作系统版本,然后安装最新版本的组件。
  • 要升级操作系统而不重新创建映像,请先升级操作系统,然后再卸载 Citrix 软件。否则,Citrix 软件将处于不受支持的状态。然后,安装新组件。

添加新计算机,然后删除旧计算机

如果必须升级包含 Delivery Controller 或其他核心组件的计算机上的操作系统,此方法可行。

Citrix 建议站点中的所有 Controller 都具有相同的操作系统。不同的 Controller 的操作系统不同时,以下升级顺序可将时间间隔降至最低。

  1. 创建站点中的所有 Delivery Controller 的快照,然后备份站点数据库。
  2. 在操作系统受支持的干净服务器上安装新 Delivery Controller。例如,在两台 Windows Server 2016 计算机上安装一个 Controller。
  3. 将新 Controller 添加到站点中。
  4. 删除对当前版本无效的操作系统中运行的 Controller。例如,删除两台 Windows Server 2008 R2 计算机中的两个 Controller。请按照 Delivery Controller 中有关删除 Controller 的建议进行操作。

准备

开始升级之前,请查看以下信息并完成必要的任务。

注意:

尽管升级 VDA 以后会按照升级顺序进行,最好在开始升级之前选择安装程序并查看该过程,这样您即可知晓预期效果。

选择安装程序和界面

使用产品 ISO 中的完整产品安装程序升级组件。可以使用完整产品安装程序或其中一个独立的 VDA 安装程序来升级 VDA。所有的安装程序都提供图形界面和命令行接口。

有关详细信息,请参阅安装程序

安装详情: 完成任何准备工作并准备好启动安装程序后,安装一文会显示您将看到的内容(如果使用图形界面)或键入的内容(如果使用命令行接口)。

如果您最初是使用 VDAWorkstationCoreSetup.exe 安装程序安装单会话 VDA,Citrix 建议使用该安装程序对其进行升级。如果使用完整产品 VDA 安装程序或 VDAWorkstationSetup.exe 安装程序升级 VDA,可能会安装最初排除的组件,除非在升级中明确将其忽略/排除。

将 VDA 升级到当前版本时,计算机在升级过程中将重新启动。(此要求是 7.17 及更高版本的要求)。此要求不能避免。升级在重新启动后自动继续进行(除非您在命令行中指定了 /noresume)。

数据库操作

备份站点数据库、监视数据库和配置日志记录数据库。按照 CTX135207 中的说明进行操作。如果在升级后发现任何问题,可以还原备份。

有关升级不再受支持的 SQL Server 版本的信息,请参阅 SQL Server 版本检查。(这是指用于站点、监视和配置日志记录数据库的 SQL Server。)

Microsoft SQL Server Express LocalDB 会自动安装,以便与本地主机缓存一起使用。如果需要替换早期版本,新版本必须为 SQL Server Express 2017 LocalDB CU16。有关升级组件和站点后使用新版本替换 SQL Server Express LocalDB 的详细信息,请参阅替换 SQL Server Express LocalDB

确保您的 Citrix Licensing 是最新的

有关管理 Citrix Licensing 的综合性概述,请参阅激活、升级和管理 Citrix 许可证

可以使用完整产品安装程序升级许可证服务器。或者,也可以单独下载和升级许可组件。请参阅升级

在升级之前,请确保您的 Customer Success Services/软件维护/专享升级服务日期对新产品版本有效。日期必须至少为 2021.02.15。

确保您的 Citrix 许可证服务器兼容

确保 Citrix 许可证服务器与新版本兼容。有两种方式实现此要求:

  • 在升级任何其他 Citrix 组件之前,请从包含 Delivery Controller 的计算机上的 ISO 布局中运行 XenDesktopServerSetup.exe 安装程序。如果存在任何不兼容问题,安装程序会报告该问题并提供解决问题的建议步骤。

  • 在安装介质上的 XenDesktop Setup 目录中,运行以下命令:.\LicServVerify.exe -h <license-server-fqdn> -p 27000 -v。显示内容指示许可证服务器是否兼容。如果许可证服务器不兼容,请升级许可证服务器。

备份所有 StoreFront 修改

开始升级之前,如果您对 C:\inetpub\wwwroot\Citrix\<StoreName>\App_Data 中的文件(例如,default.icausernamepassword.tfrm)进行了修改,请为每个应用商店备份这些文件。升级后,您可以还原它们以恢复进行的修改。

关闭应用程序和控制台

在开始升级之前,请关闭可能会导致文件锁定的所有程序,其中包括管理控制台和 PowerShell 会话。

重新启动计算机可确保清除任何文件锁定,以及不存在任何未完成的 Windows 更新。

在开始升级之前,请停止并禁用所有第三方监视代理服务。

确保您有合适的权限

除了是域用户以外,您还必须是要升级产品组件的计算机上的本地管理员。

可以自动或手动升级站点数据库和站点。对于自动数据库升级,Studio 用户的权限必须能够更新 SQL Server 数据库架构(例如 db_securityadmindb_owner 数据库角色)。有关详细信息,请参阅数据库

如果 Studio 用户没有这些权限,启动手动数据库升级将生成脚本。Studio 用户从 Studio 运行其中一些脚本。数据库管理员使用 SQL Server Management Studio 等工具运行其他 SQL 脚本。

其他准备任务

  • 备份模板并升级虚拟机管理程序(如果需要)
  • 完成您的业务连续性计划规定的任何其他准备任务。

初步站点测试

升级 Delivery Controller 和站点时,初步站点测试在实际升级开始之前运行。这些测试将验证:

  • 站点数据库可以访问并且已备份
  • 与基本 Citrix 服务的连接正常运行
  • Citrix 许可证服务器地址可用
  • 可以访问配置日志记录数据库

测试运行后,可以查看结果报告。然后,可以修复检测到的任何问题并重新运行测试。运行初步站点测试失败,然后解决任何问题都会影响您的站点的运行方式。

包含测试结果的报告是一个与安装日志位于同一目录中的 HTML 文件 (PreliminarySiteTestResult.html)。如果该文件不存在,则将创建。如果该文件存在,则会覆盖其内容。

运行测试

  • 使用安装程序的图形界面进行升级时,向导将包含一个页面,您可以在该页面中开始测试并显示报告。测试运行并且您已查看报告并解决找到的任何问题后,可以重新运行测试。测试成功完成时,请单击“下一步”以继续执行向导。
  • 使用命令行界面进行升级时,测试将自动运行。默认情况下,如果测试失败,将不执行升级。查看报告并解决问题后,请重新运行命令。

Citrix 建议您始终先运行初步站点测试,然后解决所有问题,再继续升级 Controller 和站点。潜在的优势非常值得花费片刻时间来运行测试。但是,您可以忽略这一建议的操作。

  • 使用图形界面升级时,可以选择跳过测试并继续升级。
  • 从命令行升级时,不能跳过测试。默认情况下,失败的站点测试会导致安装程序失败,而不执行升级。在大多数情况下,如果包括 /ignore_site_test_failure 选项,任何测试失败都将被忽略,升级继续进行。(有关例外情况,请参阅 SQL Server 版本检查 。)

升级多个 Controller 时

开始在一个 Controller 上升级,然后开始在同一个站点中的另一个 Controller 上升级(在第一个升级完成之前)时:

  • 如果已在第一个 Controller 上完成初步站点测试,初步站点测试页面将不在另一个 Controller 上的向导中显示。
  • 如果当您在另一个 Controller 上开始升级时第一个 Controller 上的测试正在进行,站点测试页面将在另一个 Controller 上的向导中显示。但是,如果第一个 Controller 上的测试完成,则将仅保留来自第一个 Controller 的测试结果。

与站点的运行状况无关的测试失败问题

  • 如果初步站点测试由于内存不足失败,请提供更多可用内存,然后重新运行测试。
  • 如果您有升级权限,但未运行站点测试,初步站点测试将失败。要解决此问题,请使用有权运行测试的用户帐户重新运行安装程序。

SQL Server 版本检查

成功的 Citrix Virtual Apps and Desktops 部署需要对站点、监视器和配置日志记录数据库使用受支持的 Microsoft SQL Server 版本。使用不再受支持的 SQL Server 版本升级 Citrix 部署可能会导致出现功能问题,并且站点将不受支持。

要了解要升级到的 Citrix 版本支持哪些 SQL Server 版本,请参阅该版本的系统要求一文。

升级 Controller 时,Citrix 安装程序会检查用于站点、监视器和配置日志记录数据库的当前已安装的 SQL Server 版本。

  • 如果检查确定当前安装的 SQL Server 版本不是要升级到的 Citrix 版本中受支持的版本:

    • 图形界面:升级将停止并显示消息。单击我理解,然后单击取消以关闭 Citrix 安装程序。(您无法继续升级。)
    • 命令行界面:命令失败(即使您在命令中包含 /ignore_db_check_failure 选项亦如此)。

    升级 SQL Server 版本,然后重新启动 Citrix 升级。

  • 如果检查无法确定当前安装的 SQL Server 版本,请查看要升级到的版本中是否支持当前安装的版本(系统要求)。

    • 图形界面:升级将停止并显示消息。

      • 如果支持当前安装的 SQL Server 版本,请单击我理解以关闭该消息,然后单击下一步继续进行 Citrix 升级。
      • 如果不支持当前安装的 SQL Server 版本,请单击我理解以关闭该消息,然后单击取消以结束 Citrix 升级。将 SQL Server 升级到受支持的版本,然后重新启动 Citrix 升级。
    • 命令行界面:命令失败并显示消息。关闭消息后:

      • 如果支持当前安装的 SQL Server 版本,请使用 /ignore_db_check_failure 选项重新运行该命令。
      • 如果不支持当前安装的 SQL Server 版本,请将 SQL Server 升级到受支持的版本。重新运行该命令以启动 Citrix 升级。

升级 SQL Server

如果调出新 SQL Server 服务器并迁移站点数据库,则必须更新连接字符串。

如果站点当前为站点数据库使用 SQL Server Express(Citrix 在站点创建过程中自动安装):

  1. 安装最新的 SQL Server Express 版本。
  2. 分离数据库。
  3. 将数据库附加到新的 SQL Server Express。
  4. 迁移连接字符串。

有关详细信息,请参阅配置连接字符串和 Microsoft SQL Server 产品文档。

替换 SQL Server Express LocalDB

Microsoft SQL Server Express LocalDB 是本地主机缓存独立使用的 SQL Server Express 功能。本地主机缓存不需要除 SQL Server Express LocalDB 以外的 SQL Server Express 的任何组件。

如果您安装了早于 1912 的 Delivery Controller 版本,然后将部署升级到版本 1912 或更高版本,Citrix 不会自动升级 SQL Server Express LocalDB 版本。为什么不?因为您可能具有依赖于 SQL Server Express LocalDB 数据库的非 Citrix 组件。如果您有非 Citrix 组件正在使用 SQL Server Express LocalDB,请确保升级 SQL Server Express LocalDB 不会中断这些组件。要升级(替换)SQL Server Express LocalDB 版本,请按照本部分中的指导进行操作。

  • 将 Delivery Controller 升级到 Citrix Virtual Apps and Desktops 版本 1912 或 2003 时: 升级 SQL Server Express LocalDB 是可选的。本地主机缓存正常运行,不会丢失功能,而无论您是否升级 SQL Server Express LocalDB。我们添加了在对结束支持有疑虑的情况下,从 Microsoft for SQL Server Express LocalDB 2014 移动到更新版本的 SQL Server Express LocalDB 的选项。

  • 将 Delivery Controller 升级到高于 2003 的 Citrix Virtual Apps and Desktops 版本时: 支持的版本为 SQL Server Express 2017 LocalDB 累积更新 (CU) 16。如果您最初安装了版本 1912 之前的 Delivery Controller,并且自此之后没有用较新版本替换 SQL Server Express LocalDB,则必须立即替换该数据库软件。否则,本地主机缓存将无法正常运行。

您需要什么:

  • Citrix Virtual Apps and Desktops 安装介质(针对已升级到的版本)。介质包含 Microsoft SQL Server Express LocalDB 2017 CU 16 的副本。
  • 您从 Microsoft 下载的 Windows Sysinternals 工具。

过程:

  1. 完成 Citrix Virtual Apps and Desktops 组件、数据库和站点的升级。(这些数据库升级会影响站点、监视和配置日志记录数据库。它们不会影响使用 SQL Server Express LocalDB 的本地主机缓存数据库。)
  2. 在 Delivery Controller 上,从 Microsoft 下载 PsExec。请参阅 Microsoft 文档 PsExec v2.2
  3. 停止 Citrix High Availability Service。
  4. 在命令提示符中,运行 PsExec 并切换到网络服务帐户。

    psexec -i -u "NT AUTHORITY\NETWORK SERVICE" cmd

    或者,可以使用 whoami 确认命令提示符正在以网络服务帐户身份运行。

    whoami

    nt authority\network service

  5. 移动到包含 SqlLocalDB 的文件夹。

    cd "C:\Program Files\Microsoft SQL Server\120\Tools\Binn"

  6. 停止和删除 CitrixHA (LocalDB)。

    SqlLocalDB stop CitrixHA

    SqlLocalDB delete CitrixHA

  7. 删除 C:\Windows\ServiceProfiles\NetworkService 中的相关文件。

    HADatabaseName.*
    HADatabaseName_log.*
    HAImportDatabaseName.*
    HAImportDatabaseName_log.*
    <!--NeedCopy-->
    

    提示:您的部署可能没有 HAImportDatabaseName.*HAImportDatabaseName_log.*

  8. 使用用于删除程序的 Windows 功能从服务器中卸载 SQL Server Express LocalDB 2014。
  9. 安装 SQL Server Express LocalDB 2017 CU 16。在 Citrix Virtual Apps and Desktops 安装介质上的 Support > SQLLocalDB 文件夹中,双击 sqllocaldb.msi。可能会请求重新启动以完成安装。(新的 SQLLocalDB 位于 C:\Program Files\Microsoft SQL Server\140\Tools\Binn 中。)
  10. 启动 Citrix High Availability Service。
  11. 确保在每个 Delivery Controller 上创建本地主机缓存数据库。这确认了如果需要,高可用性服务(辅助 Broker)可以接管。

    • 在 Controller 服务器上,浏览到 C:\Windows\ServiceProfiles\NetworkService
    • 验证 HaDatabaseName.mdfHaDatabaseName_log.ldf 是否已创建。
升级部署