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