Skip To Content

配置 ArcGIS Enterprise 灾难恢复

您可以将 ArcGIS Enterprise 部署复制到断开连接的备用部署。 在主部署失败的情况下,此备用部署可恢复为在线状态,并成为主动部署。

由于备用部署不会主动连接到主部署,因此可将备用部署设置在另一座建筑物或者其他城市中,以防止因当地发生自然灾害或断电而停机。 但请注意,必须确保可通过您的客户端访问此备用部署。

使用 webgisdr 工具将 ArcGIS Enterprise 主部署组件导出为压缩文件,并使用此压缩文件设置和维护备用部署。

在配置灾难恢复之前,请确保您已阅读灾难恢复和复制

导出 ArcGIS Enterprise

可使用 webgisdr 实用程序,通过导出操作和属性文件导出 ArcGIS Enterprise 主部署。 导出的文件包括您的门户、托管服务器、关系和切片缓存数据存储以及联合服务器。 文件大小和创建文件所需的时间可能有所不同,具体取决于您门户中的项目数量、您所拥有托管 Web 图层的数量和类型、您所拥有联合服务器的数量以及托管和联合服务器中 ArcGIS Server 计算机的数量。

您可在 Portal for ArcGIS 工具目录中找到 webgisdr 实用程序。 要使用此实用程序,必须满足下列条件:

  • 您指定的共享目录必须足以包含导出的文件。 执行一次 ArcGIS Enterprise 部署的测试导出以大概了解文件大小,确定共享目录中要保留的文件数量,然后相应估算目录的大小。
  • ArcGIS Enterprise 部署中 ArcGIS Data Store 的增量备份在 SHARED_LOCATION 备份目录的过渡文件夹中存储。 不应删除或修改过渡文件夹及其内容。
  • ArcGIS Enterprise 的主部署和备用部署中安装各软件组件所使用的帐户和运行 webgisdr 工具使用的帐户的名称、用户 ID 和群组 ID 必须相同,且必须拥有共享目录的读写权限。

注:

如果您的门户内容存储在文件系统中,则实时防病毒扫描会影响备份的性能。 请考虑从防病毒扫描程序中排除门户内容目录以及备份 SHARED_LOCATIONBACKUP_LOCATION 目录。

按照如下步骤导出主 ArcGIS Enterprise 部署:

  1. 创建模板属性文件的副本。 您可将副本保存到模板所在的目录或新目录下。

    模板属性文件—webgisdr.properties—默认安装在 /arcgis/portal/tools/webgisdr 下。

    在本示例中,文件副本命名为 mywebgis.properties 并保存在 /home/ags/arcgis/portal/propfiles 下。

  2. 打开属性文件副本并对其进行编辑,以包含站点的特定信息。

    • PORTAL_ADMIN_URL = <门户管理目录 URL>

      指定 Portal for ArcGIS 管理目录的 URL。 使用格式 https://portalhostname.domain.com:7443/arcgis,其中 portalhostname.domain.com 为安装了 Portal for ArcGIS 的计算机的完全限定名称。

    • PORTAL_ADMIN_USERNAME = <门户管理员用户名>

      指定分配给管理员角色的门户成员的用户名。

    • PORTAL_ADMIN_PASSWORD = <门户管理员密码>

      指定门户管理员帐户的密码。

    • PORTAL_ADMIN_PASSWORD_ENCRYPTED = <true | false>

      首次使用管理员密码填充文件时,请将该选项设置为 false。 保存文件后密码将加密,可将 PORTAL_ADMIN_PASSWORD_ENCRYPTED 的值设置为 true 以表示该密码已加密。 如果以后需要更改密码,可设置 PORTAL_ADMIN_PASSWORD_ENCRYPTED = false,提供新的管理员密码,然后保存文件。

    • BACKUP_RESTORE_MODE = <backup | full | incremental>

      指定要创建的备份类型。 在 10.9 版本中引入 backup 模式,可在门户计算机上的硬盘空间有限或未定期安排备份时使用。 使用此模式时,将限制内部事务日志的默认大小,防止其占满您的硬盘。 如果仅创建完整备份,可将此属性设置为 backup。 如果要创建完整备份和增量备份,可以创建两个不同的属性文件 - 一个具有 BACKUP_RESTORE_MODE = full,可偶尔用于创建完整备份,另一个具有 BACKUP_RESTORE_MODE = incremental,用于在完整备份的间隔生成增量备份。 每个增量备份均包含自上一次完整备份后所发生的所有更改。

    • SHARED_LOCATION = <备份文件位置>

      指定要创建 ArcGIS ServerPortal for ArcGISArcGIS Data Store 备份文件临时副本的共享位置。 已安装 ArcGIS ServerPortal for ArcGISArcGIS Data Store 的帐户和运行 webgisdr 实用程序的帐户必须具有此位置的读写权限。 确保该位置足以容纳每个组件的备份文件。 虽然经过压缩,但文件仍然相当大,具体取决于数据的数量和类型。 如果有托管场景图层和缓存,并且 INCLUDE_SCENE_TILE_CACHES 设置为 true,则 ArcGIS Data Store 备份文件可能非常大。

      确保路径中的反斜线已被转义。 例如,C:\backups 将被输入为 C:\\backups\fileserver\backups 将被输入为 \\\\fileserver\\backups
    • INCLUDE_SCENE_TILE_CACHES = <true | false>

      如果要将托管场景图层发布至门户并在备份中包含场景缓存数据,可将 INCLUDE_SCENE_TILE_CACHES 设置为 true。 请注意,如果设置为 true,备份中将包含所有场景缓存数据,而不仅仅是上次备份后创建的新缓存数据。 如果已知上次备份后未创建新的场景缓存,或者不需要将场景发布至门户,可将 INCLUDE_SCENE_TILE_CACHES 设置为 false

    • BACKUP_STORE_PROVIDER = {FileSystem | AmazonS3 | AzureBlob}

      定义是否要保存文件系统或云存储上的 webgissite 备份文件。

      要将您的 ArcGIS Enterprise 备份存入本地文件共享位置,请指定 FileSystem,然后 webgisdr 实用程序将把您的备份文件存入您指定用于 BACKUP_LOCATION 的文件共享中。

      要将您的 ArcGIS Enterprise 备份存入 Amazon Simple Storage Service (S3)S3 兼容存储段存储位置,请创建一个专为存储由 webgisdr 实用程序生成的备份文件的存储段,并使用访问您的存储段所需的信息更新 S3 属性

      要将您的 ArcGIS Enterprise 备份存入 Microsoft Azure Blob 存储,请创建一个专为存储由 webgisdr 实用程序生成的备份文件的 Azure Blob 存储容器,并使用访问您的容器所需的信息更新 Azure 属性

      注:

      如果您的 ArcGIS Enterprise 部署为本地部署,但是备份存储在云中,则与将备份存储在本地文件共享中相比,创建备份和恢复备份所需的时间更长。

    • BACKUP_LOCATION = <备份文件本地位置>

      指定 webgissite 备份文件的位置。

      确保路径中的反斜线已被转义。 例如,C:\backups 将被输入为 C:\\backups\\fileserver\backups 将被输入为 \\\\fileserver\\backups

      备份文件最初将被存入 SHARED_LOCATION,但是将被复制到 BACKUP_LOCATION。 确保该位置足以容纳备份文件。 虽然经过压缩,但文件仍然相当大,具体取决于数据的数量和类型。 运行 webgisdr 实用程序的帐户必须拥有对 BACKUP_LOCATION 的读写权限。

      如果您设置 BACKUP_LOCATION 为文件夹,灾难恢复工具将向该文件夹导入最新的可用备份文件。 如果您设置 BACKUP_LOCATION 为文件夹中的特定备份文件,则灾难恢复工具将导入该文件。

      注:

      在导出期间,打包备份可能要花费很长时间,请考虑将 BACKUP_LOCATION 设置为本地路径。 然后,您可以将操作完成的包复制到所需位置。 确保本地驱动器上有足够的空间,用于临时存储备份。

    • COMPRESSION_METHOD= <copy | fastest | fast | normal | maximum | ultra>

      确定 webgissite 备份的压缩方法。 如果未填充或注释掉默认值,则该值为 copy。 在大多数情况下,可将其保留为已注释状态。 管理员可以选择进一步压缩备份,但这会导致完成备份所需的时间增加。

    • 如果您设置 BACKUP_STORE_PROVIDERAmazonS3,请提供有关如下属性的信息:
      • S3_ACCESSKEY = <您的 Amazon Web Services (AWS) 帐户的访问密钥>

        如果您设置 S3_CREDENTIAL_TYPE = accessKey,则您只需设置本项。 该访问密钥所代表的 IAM 用户必须有您指定的具有 S3_BUCKET 属性的 S3 存储段的读写权限。

      • S3_SECRETKEY = <您的 AWS 帐户的保密密钥>

        为您的 AWS 帐户指定与访问密钥相关的保密密钥。 仅当 S3_CREDENTIAL_TYPE 设置为 accessKey 时,使用此项。

      • S3_ENCRYPTED = false

        将此设置保留为 false。 当您运行 webgisdr 实用程序时,如果您将 S3_CREDENTIAL_TYPE 设置为 accessKey,则实用程序将加密访问密钥和保密密钥,并设置 S3_ENCRYPTED 为加密访问密钥值。

      • S3_BUCKET= <S3 存储段名称>

        这是您想要存入 ArcGIS Enterprise 备份文件的 Amazon S3 存储段的名称。

      • S3_CREDENTIAL_TYPE= <IAMRole | accessKey>

        如果您要使用 AWS IAM 角色访问 S3_BUCKET,请将 S3_CREDENTIAL_TYPE 设置为 IAMRole。 如果您要通过一个访问密钥使用 AWS IAM 用户访问 S3_BUCKET,请将其设置为 accessKey。 该 IAM 角色或用户必须有您指定的具有 S3_BUCKET 属性的 S3 存储段的读写权限。

      • S3_REGION= <AWS 区域,您创建 S3 存储段的位置>
      • S3_BACKUP_NAME = <备份文件名称>

        仅当您恢复 ArcGIS Enterprise 部署时,使用本属性。 指定要恢复的备份文件的名称。 如果您不指定备份文件的名称,则将恢复最新的备份文件。

    • 如果您的 ArcGIS Enterprise 部署在 AWS 上运行,且门户内容目录存储在 Amazon S3 中,则需要内容目录的备份存储段。 该存储段不应与门户所在的存储段相同。否则,每次执行备份都会出现重复内容。 在 S3 中创建一个备份存储段,在属性文件中将 PORTAL_BACKUP_S3_BUCKET 设置为存储段的名称并将 PORTAL_BACKUP_S3_REGION 设置为创建 S3 存储段的 AWS 区域。 有关此类型实施的详细信息,请参阅 ArcGIS Enterprise on Amazon Web Services 帮助中的使用 AWS 存储服务配置高可用性 ArcGIS Enterprise

      注:

      如果您的部署的机器使用 VPC 终端节点访问 Amazon S3,则不允许跨区域复制。 在实施地理冗余时,在与备用部署相同的区域中创建一个存储段,并确保在运行 WebGISDR 导入操作之前使用 AWS CLI(或自动化过程)同步导出的门户内容备份存储段。 此复制存储段需在 webgisdr.properties 恢复文件中指定为具有适当区域的 PORTAL_BACKUP_S3_BUCKET

      旧版本:

      ArcGIS Enterprise 10.5.1 之前的版本中,PORTAL_BACKUP_S3_BUCKET 属性为 BACKUP_BUCKET_NAME

    • 如果您设置 BACKUP_STORE_PROVIDERAzureBlob,请提供有关如下属性的信息:
      • AZURE_BLOB_ACCOUNT_NAME = <Azure 存储帐户>

        指定 Azure Blob 存储帐户名称。

        提示:

        当您在 Cloud Builder部署选项面板上选择使用 Azure 云存储进行配置和内容存储选项时,您指定了此存储帐户名称。

      • AZURE_BLOB_ACCOUNT_KEY = <帐户密钥>

        指定与 Azure Blob 存储帐户相关联的帐户密钥。

      • AZURE_BLOB_ACCOUNT_KEY_ENCRYPTED = false

        当您首次为文件添加 ACCOUNT_KEY 值时,指定 false。 当您保存 webgisdr.properties 文件时,密钥将被加密,且该工具将这些属性设置为 true

      • AZURE_BLOB_CONTAINER_NAME = <Azure 存储容器的名称>

        指定 Blob 容器名称。

      • AZURE_BLOB_ACCOUNT_ENDPOINT_SUFFIX = <Blob 存储帐户端点>

        指定 Blob 服务存储帐户端点

      • (可选)AZURE_BLOB_ENDPOINT_URL = <Blob 服务 URL>

        如果您使用自定义 blob 存储端点,则请指定 Blob 服务端点 URL。 如果您未使用自定义端点,请不要取消注释此行。 默认 URL 的格式为 https://<BLOB_ACCOUNT_NAME>.blob.core.windows.net

    • 您也可以将门户内容目录存储在 Azure Blob 存储容器中。 如果您如此操作,则需要 Azure 中内容目录的备份存储段。 该存储段不应与门户所在的存储段相同。否则,每次执行备份都会出现重复内容。 以 PORTAL_BACKUP_BLOB 开头的属性集定义了用于门户内容目录的帐户。 这些属性的值应与以上 AZURE_BLOB 部分中的设置值相匹配;该部分的定义也适用于此处。
      • PORTAL_BACKUP_BLOB_ACCOUNT_NAME = <Azure 存储帐户>
      • PORTAL_BACKUP_BLOB_ACCOUNT_KEY = <帐户密钥>
      • PORTAL_BACKUP_BLOB_ACCOUNT_KEY_ENCRYPTED = false
      • PORTAL_BACKUP_BLOB_CONTAINER_NAME = <Azure 存储容器的名称>
      • PORTAL_BACKUP_BLOB_ACCOUNT_ENDPOINT_SUFFIX = <Blob 存储帐户端点>
      • (可选)PORTAL_BACKUP_BLOB_ENDPOINT_URL = <自定义 Blob 服务 URL>
    • IS_PORTAL_PKI_AUTHENTICATED = <true | false>

      如果已配置公钥基础设施 (PKI) 以安全访问门户,请将此值设置为 true

      了解有关门户身份验证选项的详细信息

      如果设置为 true,请为以下附加属性提供值:

      • PORTAL_CLIENT_CERTIFICATE_FILE_PATH = <证书的完整文件路径>

        指定 PKCS12 格式的门户 PKI 证书的完整文件路径。

      • PORTAL_CLIENT_CERTIFICATE_PASSWORD = <证书密码>

        指定 PKI 证书的相应密码。

      • PORTAL_CLIENT_CERTIFICATE_PASSWORD_ENCRYPTED = false

        首次输入证书密码值时,请将此值保留为 false。 保存此值后首次运行工具时,该工具将对密码进行加密并将此属性更改为 true

    在本示例中,URL 为 https://portalhostname.domain.com:7443/arcgis 的门户的备份,及其托管与联合服务器的服务和设置,以及存储在 ArcGIS Data Store 关系数据存储中的托管要素图层数据最初将输出至 \\\\myserver\\tempbackups 上的文件。 单独的文件将被压缩成单个备份文件 (entbackup) 并复制到 \\mybuserver\\wgbackups。 将不包含 ArcGIS Data Store 切片缓存数据存储的场景图层缓存,因为 INCLUDE_SCENE_TILE_CACHES 设置为 false

    
    PORTAL_ADMIN_URL = https://portalhostname.domain.com:7443/arcgis
    PORTAL_ADMIN_USERNAME = admin
    PORTAL_ADMIN_PASSWORD = Th3.Ad.Pass
    PORTAL_ADMIN_PASSWORD_ENCRYPTED = false
    
    BACKUP_RESTORE_MODE = backup
    SHARED_LOCATION = \\\\myserver\\tempbackups
    INCLUDE_SCENE_TILE_CACHES = false
    
    BACKUP_STORE_PROVIDER = FileSystem
    BACKUP_LOCATION = \\\\mybuserver\\wgbackups\\entbackup

    在本示例中,URL 为 https://portalonaws.mydomain.com:7443/gis 的门户的备份,及其内容目录(储存在 S3 存储段 portalcontent),托管与联合服务器的服务和设置,以及储存在关系和切片缓存数据存储中的数据将被输出至 AWS 区域 eu-west-1 中的 S3 存储段 entbackups。 备份文件名为 fullbackup06June。 IAM 角色用于访问 AWS 帐户。

    
    PORTAL_ADMIN_URL = https://portalonaws.mydomain.com:7443/arcgis
    PORTAL_ADMIN_USERNAME = entadmin
    PORTAL_ADMIN_PASSWORD = p0rtl.a.p
    PORTAL_ADMIN_PASSWORD_ENCRYPTED = false
    
    BACKUP_RESTORE_MODE = backup
    SHARED_LOCATION = \\fileserver\backups
    INCLUDE_SCENE_TILE_CACHES = true
    BACKUP_STORE_PROVIDER = AmazonS3
    
    S3_BUCKET = entbackups
    S3_CREDENTIAL_TYPE = IAMRole
    S3_REGION = eu-west-1
    S3_BACKUP_NAME = fullbackup06June
    
    PORTAL_BACKUP_S3_BUCKET = contentbackups
    PORTAL_BACKUP_S3_REGION =eu-west-1

    此示例适用于 Microsoft Azure Blob 存储。 URL 为 https://portalonazure.domain.com:7443/arcgis 的门户的备份、其内容目录、门户托管与联合服务器的服务和设置,以及存储在关系数据存储和切片缓存数据存储中的数据将被输出至 Azure Blob drbackups

    
    PORTAL_ADMIN_URL = https://portalonazure.domain.com:7443/arcgis
    PORTAL_ADMIN_USERNAME = entadmin
    PORTAL_ADMIN_PASSWORD = p0rtl.a.p
    
    BACKUP_RESTORE_MODE = backup
    SHARED_LOCATION = \\fileserver\backups
    BACKUP_STORE_PROVIDER = AzureBlob
    
    AZURE_BLOB_ACCOUNT_NAME = entbackups
    AZURE_BLOB_ACCOUNT_KEY = <key>
    AZURE_BLOB_ACCOUNT_KEY_ENCRYPTED =false
    AZURE_BLOB_ACCOUNT_ENDPOINT_SUFFIX = core.windows.net
    AZURE_BLOB_CONTAINER_NAME = drbackups
    
    PORTAL_BACKUP_BLOB_ACCOUNT_NAME = entbackups
    PORTAL_BACKUP_BLOB_ACCOUNT_KEY = <key>
    PORTAL_BACKUP_BLOB_ACCOUNT_KEY_ENCRYPTED = false
    PORTAL_BACKUP_BLOB_ACCOUNT_ENDPOINT_SUFFIX = core.windows.net
    PORTAL_BACKUP_BLOB_CONTAINER_NAME = contentbackups

  3. 保存属性文件。

    使用该文件运行 webgisdr 实用程序后,PORTAL_ADMIN_PASSWORD 值将在文件中被加密,而 PORTAL_ADMIN_PASSWORD_ENCRYPTED 被设置为 true

  4. 打开 shell 命令,将目录更改为 webgisdr 实用程序的位置,然后使用导出选项运行该实用程序。

    在本示例中,属性文件 (mywebgis.properties) 保存在用户创建的目录 /home/ags/arcgis/portal/propfiles 下。

    webgisdr --export --file /home/ags/arcgis/portal/propfiles/mywebgis.properties
  5. 您还可以添加另一个命令(例如验证脚本),使其在 webgisdr 工具完成后运行。 例如:

    > call webgisdr.bat -i -f webgisdr.properties
    > IF %ERRORLEVEL% EQU 0 <your validation script file>

完成备份后,将针对为 BACKUP_STORE_PROVIDER 设置的值创建文件。 如果将 BACKUP_STORE_PROVIDER 设置为 FileSystem,则备份将位于在属性文件中为 BACKUP_LOCATION 指定的位置。 如果将 BACKUP_STORE_PROVIDER 设置为 AmazonS3AzureBlob,它将被复制到各自的云存储位置。

文件的名称为 <timestamp>.webgissite

移动导出文件

如果导出文件是在备用部署无法访问的位置上创建的,请将备份文件移动到 webgisdr 工具能够访问的某一位置上。 创建专用于导入的属性文件的副本,并对新属性文件中的 BACKUP_LOCATION 值进行更新以反映导出文件的新位置。 如果 BACKUP_LOCATION 是目录,则该工具会将目录内的最新备份提取到 SHARED_LOCATION。 如果将 BACKUP_LOCATION 设置为特定备份文件,则该工具会将该备份提取到 SHARED_LOCATION

请确保备用部署中的计算机能够访问 SHARED_LOCATION 路径。

确保运行 webgisdr 工具的帐户至少具有对 BACKUP_LOCATION 的读取权限以及对 SHARED_LOCATION 的写入权限。 此外,确保安装有 ArcGIS ServerPortal for ArcGISArcGIS Data Store 的帐户具有对 SHARED_LOCATION 的读取权限。

为达到本工作流示例的目的,属性文件的副本命名为 toimport.properties

安装备用部署的组件

首次将 ArcGIS Enterprise 部署导入到备用部署之前,您需要在备用计算机上安装和配置所有软件组件(ArcGIS ServerPortal for ArcGISArcGIS Web AdaptorArcGIS Data Store)。 备用部署上用于访问门户(负载均衡器 URL 或 Web Adaptor URL)的 URL 和 ArcGIS Server 服务 URL 必须与主部署上的相同。

例如,如果在主部署上用于访问门户的 URL 为 https://myportalslb.organization.com/portal,而用于访问 GIS Server 的服务 URL 为 https://myserverslb.organization.com/server,那么备用部署必须使用与主部署相同的 URL。

备用部署无需其他 ArcGIS 许可,因为不会主动对其进行访问;只有主部署失败时才会将备用部署作为主动部署。

导入备用部署

在备用计算机上创建空部署后,即可将内容从主部署中导入。

如果 ArcGIS Enterprise 主部署具有高可用性,则当您导入至备用部署时,webgisdr 工具会保持 GIS Server 站点及 ArcGIS Data Store 关系和切片缓存数据存储的高可用性设置。 对于门户,webgisdr 工具注销备用门户计算机,将门户恢复到主计算机,并在导入时重新注册备用计算机。

  1. 在备用部署的 Portal for ArcGIS 计算机上打开命令 shell,将目录更改为 webgisdr 实用程序的位置,然后使用导入选项运行该实用程序。

    在本示例中,属性文件 (toimport.properties) 保存在用户创建的目录 /home/ags/arcgis/portal/propfiles 下。

    webgisdr --import --file /home/ags/arcgis/portal/propfiles/toimport.properties

    请注意,属性文件不必位于首次创建此文件时所保存的目录中。 如果此文件发生移动,请使用 --file 参数指定新的目录位置。

维护备用部署

为最大限度降低数据丢失,请尽可能频繁地从主部署中导出数据并将其导入备用部署。 维护频率取决于导出和导入部署所需的时间,以及您是否能够将导出和导入过程编写成脚本,而无需手动干预(例如,您可能需要将文件以物理方式从一个位置复制到另一个位置)。

主部署失败时切换到备用部署

正如灾难恢复和复制中所述,IT 部门可在主部署失败时将备用部署恢复为在线状态。