您可以将 ArcGIS Enterprise 部署复制到断开连接的备用部署。如果主部署失败或不可访问,可将故障转移到备用部署。
备用部署通常在其他网络或子网络上运行,或甚至在与主部署不同的地理位置上运行。无论将备用部署放置在何处,请确保需要时能够通过 ArcGIS Enterprise 客户端对其进行访问。
地理性备援
如果您的主数据中心和备用数据中心分别位于不同的地理位置,则可实施地理性备援。数据中心发生灾难性事件(如飓风或其他自然灾害)时,您可激活备用数据中心,从而恢复各项操作。
要成功进行地理性备援,需要满足特定的要求。
- 主环境和备用环境必须完全相同。每个数据中心的 ArcGIS Enterprise 部署中必须具有相同数量的计算机,且用于访问组件的 URL 必须相同。
- 地理性备援通常遵循主动-被动方式;因此,必须将数据和内容不断地复制到备用 ArcGIS Enterprise 部署中。
- 要成功进行地理性备援需要依赖第三方组件。例如,全局站点选择器或全局域名系统 (DNS) 服务器非常重要,这样在不得不进行从主数据中心到备用数据中心的切换时,才不会使 ArcGIS Enterprise 用户的任何操作中断。
要确保发生故障或灾害时停机时间最短,您可以部署一个具有高可用性的地理性备援 ArcGIS Enterprise。这是要实现的部署中最复杂的一种,因为它需要最多的计算机和最多的维护工作。配置两个独立的数据中心,并使每个数据中心各自具有一个高可用性 ArcGIS Enterprise 部署。在每个数据中心中,所有计算机名称的配置都相同且不存在单点故障,这包括数据(无论数据存储在高可用性文件服务器还是高可用性数据库中)、所有 Web 服务器和负载均衡器,以及 ArcGIS Enterprise 组件。将持续创建主部署的备份,可立即恢复独立数据中心中的备用部署,或在主部署发生故障时恢复。
规划复制的部署
首先,确定所需计算机的数量。接下来,为复制的 ArcGIS Enterprise 部署规划下列灾难恢复要求:
- 重复 - 确保这两个数据中心和 ArcGIS Enterprise 部署包含相同的架构。
- 复制 - 备份主数据中心中的内容和数据并存储到备用数据中心。
- 监测 - 查看日志以确定故障发生的时间,并确定其是否严重到需要转移到备用数据中心的程度。
- 故障转移 - 决定是否将故障转移到 ArcGIS Enterprise 中的其他组件,或者将整个 ArcGIS Enterprise 部署故障转移到另一个数据中心。
确定计算机需求
所需的计算机数量取决于配置 ArcGIS Enterprise 的方法。您至少需要两台计算机。如果 ArcGIS Enterprise 部署不需要存储大量数据和服务,不包括时空大数据存储,且访问人数不多,则可配置由单机 GIS Server 站点组成的主部署,并在同一台计算机上安装 Portal for ArcGIS 和 ArcGIS Data Store。您还需要另外一台计算机来存储复制的备用部署。
如果 ArcGIS Enterprise 部署使用较频繁(例如,有大量人员访问 Web GIS、组织中存储了大量项目或者需要频繁编辑部署),您可能需要单机或多机 GIS Server 站点,并且应该在每台彼此独立并独立于 Portal for ArcGIS 计算机的计算机上安装 ArcGIS Data Store 和 GIS Server。发布多个托管场景图层时,您可能需要配置 ArcGIS Data Store(切片缓存数据存储)以将场景缓存数据库存储到另一台计算机上。如果您要使用时空大数据存储,则至少需要一台额外的计算机。在这种情况下,使用下列公式计算所需的计算机数量:
(<number of GIS Server machines> + 1 Portal for ArcGIS machine + <number of machines in the data store>) X 2
请注意,备用部署无需其他 ArcGIS 许可证,因为系统不会主动对其进行访问;只有主部署失败时才会将备用部署作为主动部署。
另请注意,您创建备份文件时,webgisdr 实用程序会记录 ArcGIS Enterprise 组件的软件版本。您要将文件导入的备用部署必须与您最初部署的版本相同。
复制部署
在 ArcGIS Enterprise 中,您必须考虑通常围绕可访问性变化的多种可变选项。地图服务依赖于共享文件夹中的数据或通过数据库连接访问的数据。ArcGIS Enterprise 中的各个计算机通过特定的 URL 相互通信。鉴于上述原因,必须将一个站点中的 ArcGIS Enterprise 部署复制到另一个站点中,以便每个数据中心的部署中的每个组件(例如,文件夹位置、数据库名称和 URL)都相同。需要为存储文件地理数据库的网络连接存储 (NAS) 设备,或者 Portal for ArcGIS 和 ArcGIS Server 配置文件指定相同的名称,以便备用部署能够成功连接到资源。所有的 ArcGIS Enterprise 组件都必须安装在每个部署中的同一目录下。最后,两个数据中心中的计算机数量必须相同,因为如果能够对用户负载作出响应的计算机数量不足,可能会产生性能问题。请注意,您可以使用 DNS 条目或修改计算机上的 hosts 文件,以使主机名一致。
复制 ArcGIS Enterprise
Portal for ArcGIS 包含的工具 - webgisdr - 允许您将门户内容、联合的 ArcGIS Server 站点和 ArcGIS Data Store 关系及切片缓存数据存储内容(关系和切片缓存)导出为一个文件,您可以将此文件移动到要恢复的备用计算机上。此工具可维护 Portal for ArcGIS、ArcGIS Server 和 ArcGIS Data Store 的已配置设置,并可在发布时将门户中创建的所有内容以及复制的数据复制到托管服务器和数据存储。
请注意,此工具不会复制通过托管服务器或联合的 ArcGIS Server 站点注册的数据库或文件夹中的数据,例如,数据库中的数据或文件地理数据库数据。这主要取决于将该数据复制到备用 ArcGIS Enterprise 部署的组织,并确保备用部署上的服务可以访问复制的数据。
当将数据源注册到 ArcGIS Server 站点时,您将提供有关如何访问数据的具体信息。备用部署的此类信息必须与主部署的相同。例如,如果将用于源数据的文件地理数据库复制到备用部署,则文件地理数据库的目录路径必须与主部署上的相同。此外,备用部署必须能够使用您在主部署上的 ArcGIS Server 站点注册数据库时所提供的相同连接信息来访问数据库。
webgisdr 工具既可在 Windows 任务计划程序中作为计划任务运行,也可在 Linux 环境下作为 cron 作业运行。此外,只要运行此工具的计算机与 ArcGIS Enterprise 组件之间的通信已开放,便可将工具移动至与门户安装不同的其他计算机并在其上运行工具。
将 ArcGIS Enterprise 备份从主部署导出后应立即恢复到备用部署。此操作可避免恢复增量备份顺序错误,这表示主部署失败时数据损失和停机时间都会降到最少。如果没有立即恢复备份,则导入备份和将故障转移至备用部署时可能需要额外的系统开销。
此外,还应考虑到,如果创建备份时主部署的某些设置异常,且存在将备份导入到备用部署的自动化流程,则这些异常设置将被导入到备用部署。
有关复制 ArcGIS Enterprise 部署的说明,请参阅配置灾难恢复。
监控 ArcGIS Enterprise
监测对于复制的环境和高可用性环境均非常重要。在高可用性环境中,部署的某些部分可能无需人工干预即可实现故障转移。例如,如果 ArcGIS Enterprise 的主门户发生故障,软件会立即将故障转移到备用门户而无需任何人工干预。同样,ArcGIS Server 和 ArcGIS Data Store 组件也可能会发生故障,而系统则可以像没有发生任何单点故障时一样正常运行。考虑到 ArcGIS Enterprise 中可能不会发生任何明显干扰,因此您应设置好机制,以便通知管理员 ArcGIS Enterprise 部署内任何特定组件所发生的故障。将 Python(或您选择的脚本语言)与 ArcGIS Server 和 Portal for ArcGIS REST API 配合使用以自动监控部署的各个部分,如下所示:
- 定期查询 Portal for ArcGIS 和 ArcGIS Server 日志,以检查是否存在指示特定组件故障的消息。发生故障时,系统会编写脚本以发送电子邮件或通知管理员注意。
- 使用 Portal for ArcGIS 内的健康检查功能和 ArcGIS Server 管理 API 以查询日志并检查问题。
- 验证所有联合服务器以确保它们正在运行,且可通过门户访问它们。
- 验证到所有数据存储的连接。这不仅包括到关系、切片缓存和时空大数据存储的连接,也包括到注册的文件夹和数据库、大数据文件共享和栅格数据存储的连接。
- 定期查询重要的服务和网页地图,以确保它们正常运行。
- 在复制之前,查询主计算机上的 Indexer Status,以确保门户中的所有内容均在主计算机上构建索引。在复制之后,查询两台计算机上的 Indexer Status,以确认索引值在备用部署与主部署之间匹配。databaseCount 的值和每个 indexCount 的 name 在两个部署内及其之间都应该相同。例如,当您查询 Indexer Status 时,它会显示数据库中有多少项目与建立索引的项目数量相比较。数据库 (databaseCount) 中的内容应与每个项目类型 (indexCount) 的索引内容 (name) 匹配,如以下示例所示。如果 databaseCount 和 indexCount 不符合项目类型,则需要为门户重新构建索引。主计算机和备用计算机上的此输出应该相同。
{"indexes": [ { "name": "users", "databaseCount": 42, "indexCount": 42 }, { "name": "groups", "databaseCount": 21, "indexCount": 21 }, { "name": "search", "databaseCount": 8499, "indexCount": 8499 } ]}
在复制的环境中,故障转移需要人工干预;因此,您必须对部署进行监测以确定故障发生的时间,从而决定是否有必要进行故障转移。
如果您自动进行从主部署到备用部署的复制,则还需要监控这些过程以确保成功完成备份、移动文件和恢复操作。
故障转移
在 ArcGIS Enterprise 中,Portal for ArcGIS、ArcGIS Server 和 ArcGIS Data Store 都各自具有执行故障转移的内部机制。在高可用性配置中,每个组件都能够在不对整个 ArcGIS Enterprise 产生严重干扰的情况下实现故障转移。
从主数据中心复制到备用数据中心的部署的故障转移通常会涉及组织的 IT 部门,可通过全局站点选择器 (GSS) 或全局 DNS 实现。组织成员通常仅可通过几个 URL 访问 ArcGIS Enterprise 部署,例如,https://myportalwa.organization.com/portal 可用作门户 URL,https://myserverwa.organization.com/server 可用作 ArcGIS Server 服务 URL。GSS 或全局 GNS 可以为各个主机名分配 IP 地址。如果需要将故障转移到另一个数据中心,GSS 或全局 DNS 将为 myportalwa.organization.com 和 myserverwa.organization.com 主机名重新分配与备用数据中心相关联的 IP 地址。这不会对客户端和用户产生任何影响,但是所有请求均会发送至备用数据中心。主数据中心在线备份后,即可将主站点主机的 IP 地址重新分配至原始数据中心内的 IP 地址。然后,您需要将备用数据中心的数据协调至主数据中心,以确保主数据中心包含备用数据中心处于活动状态期间创建的所有新内容和数据。
如果编辑了任意一个托管服务器或联合 ArcGIS Server 站点的注册数据库(企业级地理数据库或数据库)的数据,则需要使用数据库复制工具以确保原始主 ArcGIS Enterprise 部署包含更新的数据。如果注册到 ArcGIS Server 部署中任意 ArcGIS Enterprise 站点的基于文件的数据源(例如文件地理数据库)中的数据发生改变,请将已编辑的文件复制到其存储位置的原始目录。最后,使用 webgisdr 实用程序从备用数据中心导出 ArcGIS Enterprise 备份,然后将其导入到主数据中心。此工具会将门户中的内容(包括相关的托管要素和场景图层数据以及注册到门户的新的非托管服务)复制到原始主 ArcGIS Enterprise 部署。