您可以将 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_LOCATION 和 BACKUP_LOCATION 目录。
按照如下步骤导出主 ArcGIS Enterprise 部署:
- 创建模板属性文件的副本。 您可将副本保存到模板所在的目录或新目录下。
模板属性文件—webgisdr.properties—默认安装在 /arcgis/portal/tools/webgisdr 下。
在本示例中,文件副本命名为 mywebgis.properties 并保存在 /home/ags/arcgis/portal/propfiles 下。
- 打开属性文件副本并对其进行编辑,以包含站点的特定信息。
- 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 Server、Portal for ArcGIS 和 ArcGIS Data Store 备份文件临时副本的共享位置。 已安装 ArcGIS Server、Portal for ArcGIS 和 ArcGIS 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_PROVIDER 为 AmazonS3,请提供有关如下属性的信息:
- 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 部署时,使用本属性。 指定要恢复的备份文件的名称。 如果您不指定备份文件的名称,则将恢复最新的备份文件。
- S3_ACCESSKEY = <您的 Amazon Web Services (AWS) 帐户的访问密钥>
- 如果您的 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_PROVIDER 为 AzureBlob,请提供有关如下属性的信息:
- 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_ACCOUNT_NAME = <Azure 存储帐户>
- 您也可以将门户内容目录存储在 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。
- PORTAL_CLIENT_CERTIFICATE_FILE_PATH = <证书的完整文件路径>
在本示例中,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
- PORTAL_ADMIN_URL = <门户管理目录 URL>
- 保存属性文件。
使用该文件运行 webgisdr 实用程序后,PORTAL_ADMIN_PASSWORD 值将在文件中被加密,而 PORTAL_ADMIN_PASSWORD_ENCRYPTED 被设置为 true。
- 打开 shell 命令,将目录更改为 webgisdr 实用程序的位置,然后使用导出选项运行该实用程序。
在本示例中,属性文件 (mywebgis.properties) 保存在用户创建的目录 /home/ags/arcgis/portal/propfiles 下。
webgisdr --export --file /home/ags/arcgis/portal/propfiles/mywebgis.properties
- 您还可以添加另一个命令(例如验证脚本),使其在 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 设置为 AmazonS3 或 AzureBlob,它将被复制到各自的云存储位置。
文件的名称为 <timestamp>.webgissite。
移动导出文件
如果导出文件是在备用部署无法访问的位置上创建的,请将备份文件移动到 webgisdr 工具能够访问的某一位置上。 创建专用于导入的属性文件的副本,并对新属性文件中的 BACKUP_LOCATION 值进行更新以反映导出文件的新位置。 如果 BACKUP_LOCATION 是目录,则该工具会将目录内的最新备份提取到 SHARED_LOCATION。 如果将 BACKUP_LOCATION 设置为特定备份文件,则该工具会将该备份提取到 SHARED_LOCATION。
请确保备用部署中的计算机能够访问 SHARED_LOCATION 路径。
确保运行 webgisdr 工具的帐户至少具有对 BACKUP_LOCATION 的读取权限以及对 SHARED_LOCATION 的写入权限。 此外,确保安装有 ArcGIS Server、Portal for ArcGIS 和 ArcGIS Data Store 的帐户具有对 SHARED_LOCATION 的读取权限。
为达到本工作流示例的目的,属性文件的副本命名为 toimport.properties。
安装备用部署的组件
首次将 ArcGIS Enterprise 部署导入到备用部署之前,您需要在备用计算机上安装和配置所有软件组件(ArcGIS Server、Portal for ArcGIS、ArcGIS Web Adaptor 和 ArcGIS 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 工具注销备用门户计算机,将门户恢复到主计算机,并在导入时重新注册备用计算机。
- 在备用部署的 Portal for ArcGIS 计算机上打开命令 shell,将目录更改为 webgisdr 实用程序的位置,然后使用导入选项运行该实用程序。
在本示例中,属性文件 (toimport.properties) 保存在用户创建的目录 /home/ags/arcgis/portal/propfiles 下。
webgisdr --import --file /home/ags/arcgis/portal/propfiles/toimport.properties
请注意,属性文件不必位于首次创建此文件时所保存的目录中。 如果此文件发生移动,请使用 --file 参数指定新的目录位置。
维护备用部署
为最大限度降低数据丢失,请尽可能频繁地从主部署中导出数据并将其导入备用部署。 维护频率取决于导出和导入部署所需的时间,以及您是否能够将导出和导入过程编写成脚本,而无需手动干预(例如,您可能需要将文件以物理方式从一个位置复制到另一个位置)。
主部署失败时切换到备用部署
正如灾难恢复和复制中所述,IT 部门可在主部署失败时将备用部署恢复为在线状态。