对于任何软件包或系统,规划升级、维护和修补都是架构设计过程的重要组成部分。 虽然您可以部署一个特定版本的系统,但随着更新不断进行和发现越来越多的安全问题,以及锁着用户与系统交互,将不可避免地需要对系统应用修补程序、更新或升级。
即使是像 ArcGIS Online 这样完全托管的 SaaS 系统也需要考虑进行修补和升级。 虽然 ArcGIS Online 的更新过程可能不涉及由系统用户执行的操作,但要确保成功升级和修补,需要正确规划已公布的新功能、在升级后仔细监测内容和工作流以及在出现问题时提交问题。
修补这一术语几乎可以应用于所有软件,但在 ArcGIS 中,它通常指在官方软件版本之间提供或为先前版本提供的特定软件更新,用于解决功能上的某些差距、已识别的软件缺陷或问题。 通常,修补程序不会引入任何新功能,并且仅在软件发布后的一段时间(根据“软件产品生命周期”的规定)内才会考虑、构建和提供修补程序。 例如,请参阅 ArcGIS Enterprise 产品生命周期。
修补方法因不同类别的 ArcGIS 产品而异,包括 ArcGIS Online、ArcGIS Enterprise 和其他客户端应用程序。
对于 ArcGIS Online,将对在新软件版本发布日期之后的一段时间内识别的所有问题应用修补程序。 在此初始阶段之后,不会应用任何修补程序,除非发布下一个常规 ArcGIS Online 版本。 修补程序作为一种 SaaS 产品可直接应用,无需用户执行任何操作且对用户不可见,不会对旧版本进行修补,因为一次只有一个 ArcGIS Online 版本可供用户使用,即当前版本。
对于 ArcGIS Enterprise,修补程序以适用于 Windows 和 Linux 的可下载、可安装文件的形式提供。 在 Kubernetes 中,它们是直接从软件应用的。 可以从 Esri 支持网站识别、下载和应用修补程序,也可以使用 ArcGIS Enterprise 随附的检查 ArcGIS Enterprise 更新工具识别修补程序并将其直接应用于系统。 有关此过程的详细信息,请参阅 ArcGIS Enterprise 文档。
应根据目标系统的停机时间仔细规划如何将修补程序应用于 ArcGIS Enterprise 组件。 大多数修补程序需要重新启动正在修补的软件组件,在服务或组件重新启动时需要短暂停机。 对于高可用性系统,请参阅如何将修补程序和更新应用于高可用性组件。 修补程序可以在初始软件安装后部署(如果已发布),也可以通过 Chef 或 PowerShell DSC 等自动化工具进行部署。
在任意情况下,应该有目的地进行特定修补,与其他软件组件或操作系统的 IT 修补程序相协调。 修补一个组件通常会影响其他组件,通常最好将修补程序合并到一个窗口或时间段中,以减少用户的停机时间。 有目的地修补意味着需要仔细考虑要修补的组件的顺序,并确保修补机制(自动化过程或员工管理的过程)遵循此设计和计划。
如果发现任何问题,通常可以回滚或卸载修补程序,但修补程序的设计采用累积方式,因此可以将多个已发布修补程序应用于系统,无需定义特定顺序或定义重要性。 在某些情况下,修补程序指特定功能,而在其他情况下,它们可能提供常规安全更新,因此建议应用所有已发布 ArcGIS Enterprise 修补程序。
ArcGIS Pro 更新,特别是已安装版本的修补程序(使用 Major.minor.patch 编号方法进行标识)会定期发布,但通常仅适用于最新版本的软件,但专注于公用事业行业的某些版本或特殊的安全修补方案除外。 修补程序通常直接在应用程序中应用,此时将通知登录到 ArcGIS Online 帐户的用户存在可用更新。 更新通常需要适当的软件安装权限,但用户可以根据需要自行决定是否安装更新。
ArcGIS Pro 修补程序也可以使用 Microsoft System Center 等软件自动化自动执行和部署。 对于大型 ArcGIS Pro 组织部署,需要仔细规划 ArcGIS Pro 更新,以便用户能够在整个组织中保持版本一致性,因为这可以促进兼容性并有助于技术支持流程。
除 ArcGIS Pro 之外的其他客户端应用程序的更新将以不同的方式处理,具体取决于应用程序。 例如,ArcGIS Experience Builder 开发人员版本在每个 Experience Builder for ArcGIS Online 版本发布后不久发布,并且通常不提供修补程序。 对于 ArcGIS 移动应用程序(例如 Field Maps 或 Survey123),修补程序将直接部署到相关的 App Store,并且随着移动作系统转向自动和静默更新应用程序,用户通常会自动接收更新。 对于在 ArcGIS Enterprise 中配置的应用程序,ArcGIS Enterprise 软件修补程序可能包含对此功能的更改,但不会在 Portal for ArcGIS 修补进程之外单独修补这些更改。
操作系统 (OS) 修补通常不在 GIS 软件团队的控制或责任范围内,则,但随着企业系统越来越符合 IT 标准,需要明确的操作系统修补计划才能实现架构完善的设计。 大多数企业 IT 组织已经拥有标准的修补方法,因此第一步是了解对 ArcGIS 系统的可能影响,以及如何减轻所有影响。
操作系统修补通常定期进行,例如,每周一次、每月一次或按照其他间隔。 一些修补方法会造成中断,通过突然重启来强制更新操作系统,而其他修补方法可以更得体地指示程序和服务关闭,然后重新启动并应用修补程序,甚至在不重新启动系统的情况下应用修补程序。 在所有情况下,建议在应用更新之前允许系统正常关闭,因为方法造成的中断越久,越可能会导致软件中的数据持久性组件出现问题,或意外停止正在进行的作业,例如地理处理任务。
操作系统更新还可能导致部署到系统的软件出现意外问题,应仔细追踪和记录,以在发现问题时可以回滚更新。 Esri 将审查和部署操作系统修补程序以了解兼容性以及潜在冲突或问题,并将在识别任何有问题的操作系统更新或配置时发布警示声明。
升级特指升级到软件的新主要或次要版本,而不是修补现有版本。 升级可以无缝进行,例如在 SaaS 系统中,也可以在使用本地软件时造成一定程度的中断,通常是一个经过精心规划、管理和测试的过程。 但是,用户要想访问最新的技术、功能和产品,需要进行升级,对于使用 ArcGIS 构建的大多数企业系统,需要定期进行升级。
升级 ArcGIS Enterprise 是一个有据可查且经过仔细测试的过程,如官方文档所述。 注意事项主题涵盖了与升级相关的重要决策,应在开始升级规划过程时进行查看。 如果您的组织升级速度缓慢或希望长时间使用单一版本,一定要部署 ArcGIS Enterprise 的长期支持版本。
对 ArcGIS Enterprise 组件的升级应始终包括通过 VM 快照、webgisdr
工具或其他机制进行系统备份,以在发现重大问题时恢复系统。
对大多数特定 ArcGIS Web 应用程序(例如 Experience Builder 或 Instant Apps)的升级大部分对用户不可见,因为它们是 ArcGIS Online 或 ArcGIS Enterprise 系统升级的一部分(因此作为大型升级的一部分自动应用),或者由操作系统自动升级(如果是移动应用程序)。
鉴于 ArcGIS Pro、作为企业级地理数据库启用的空间数据库与 ArcGIS Enterprise 或 ArcGIS Online 之间的关系,ArcGIS Pro 值得特别关注。 虽然大多数版本的 ArcGIS Pro 可以连接到大多数版本的 ArcGIS Enterprise,并且旧版 ArcGIS Pro 可用于发布到 ArcGIS Online,但几个关键细节如下:
需要与桌面和企业软件一起升级的另一个组件是地理数据库系统表,这些表是在创建或启用企业级地理数据库时在关系数据库中创建的。 将针对每个单独的数据库提供商记录地理数据库升级,并通过 ArcGIS Pro 或 Python 工具执行升级。 它们通常可以快速完成,但可能会造成中断,因为它们需要在升级期间删除所有用户和系统连接或断开与数据库的连接,之后才能更改相关的表和函数。 建议在升级地理数据库之前,在数据库或方案级别下备份企业级地理数据库。
操作系统升级值得特别关注,因为 IT 部门越来越多地请求或实施这些升级,随着旧版本不受支持或停用,这些部门正在将客户端(用户的笔记本电脑或台式计算机)和服务器迁移到较新版本的操作系统。 可以对活动工作系统的操作系统进行更新,并且更新可能会成功,但与在所需的操作系统版本上部署新 VM 并将部署迁移到该系统相比,前者被认为风险更大。
虽然用户已成功进行就地操作系统升级,但主要的潜在风险是出现的任何问题都可能与操作系统升级特别相关,并且可能无法在简单部署中重现,因此从 Esri 技术支持获得有效帮助可能更加困难,因为问题源自 Esri 组件外部。 与 IT 支持人员密切合作,了解与操作系统升级相关的影响、备份和恢复方法。