您需要进行备份以在发生数据损坏或数据存储故障等故障时恢复数据。如果您创建了数据存储备份并将其放置在安全位置,则当您的数据存储出于某些原因发生了故障且无法重新启动时,您可以创建新的 ArcGIS Data Store,访问备份文件,然后恢复数据。
当灾难发生时,例如服务器发生故障或遭到洪水冲毁,备份可以帮助您恢复数据。如果备份位于遭到洪水冲毁的服务器上,则不能恢复数据。因此,您需要将备份文件和数据存储在不同的服务器上。
注:
务必确保备份文件仅包含数据存储。备份文件不会维护 GIS Server 站点或门户的备份。但当数据存储计算机发生故障或数据损坏时,备份可帮助恢复丢失的数据。如果想要在存储数据的计算机发生故障时也能运行托管要素和场景图层,需要创建额外的数据存储计算机以使得数据存储具有更高的可用性。
如果使用关系或切片缓存数据存储,则可以改用随 Portal for ArcGIS 一起安装的 webgisdr 工具创建备份。使用 webgisdr 工具时,还将创建门户和托管服务器的备份。有关使用此工具的详细信息,请参阅 Portal for ArcGIS 管理员指南中的 ArcGIS Enterprise 备份。
定义备份位置
注册安全的共享备份位置,以便 ArcGIS Data Store 放置备份文件。关系数据存储配置为自动创建数据备份,需要定义此位置。 默认情况下,ArcGIS Data Store 将在 /usr/arcgisdatastore/backups 中创建关系数据存储备份。 也就是说备份文件与关系数据存储存储在同一计算机上。如果数据存储或主机发生故障,则您无法访问备份文件,因此无法恢复托管要素图层数据。为此,您不能将备份存储在默认位置。
此外,请注意,如果将备份文件保留在数据存储所在的计算机上,则可能迅速占满计算机上的磁盘空间。如果磁盘空间不足,则关系数据存储将处于只读模式以避免数据损坏。在切片缓存和时空大数据存储计算机上,当计算机磁盘空间不足时,数据存储将关闭。可以使用 changedbproperties 实用程序控制磁盘空间阈值,超过该阈值关系数据存储将处于只读模式,且切片缓存和时空大数据存储将关闭。
可以手动创建关系、切片缓存和时空大数据存储备份。要创建时空大数据存储备份,必须注册一个共享网络位置。此外,还必须为切片缓存备份注册一个位置才能创建该备份。为切片缓存数据存储注册共享网络位置为可选操作但强烈建议执行该操作。
下图显示了关系数据存储由用于存储数据的计算机(主要服务器)和用于存储备份文件的网络驱动器组成。在独立于数据存储的计算机上存储备份文件可防止在计算机运行数据存储失败的情况下丢失备份文件。
按照以下步骤配置共享目录以存储数据存储备份文件:
- 在其他计算机上创建用于存储备份文件的共享目录。
- 授予安装 ArcGIS Data Store 的帐户对共享网络目录的读取和写入权限。
- 运行 configurebackuplocation 实用程序以将共享目录指定为数据存储备份的输出位置。
创建关系数据存储时,将同时创建默认备份位置。如果在配置此共享备份位置之前发布了托管要素图层,configurebackuplocation 实用程序会将现有数据存储备份文件从默认备份位置移至共享目录。
切片缓存数据存储在创建时还具有默认备份位置。但是,由于切片缓存数据存储的大小可能很大,为切片缓存数据存储备份配置新位置时不会复制现有数据。因此,请确保在发布任何场景图层之前指定共享备份位置。
时空大数据存储没有默认备份位置。必须在注册共享备份位置之后,才能创建时空大数据存储备份文件。
在该示例中,关系数据存储的备份位置被更改为:在计算机 sysshare 上名为 ds_backups 的目录。
./configurebackuplocation.sh --operation change --store relational --location /net/sysshare/ds_backups You are going to change the backup location of the data store. Existing backups will be copied to the new location and it could take a few moments. Please do not interrupt the process once it has started. Do you want to continue (Yes or No)? Yes
在此示例中,将为时空大数据存储注册备份位置。该位置为 sysshare 上名为 bigdatabus 的共享目录。
./configurebackuplocation.sh --operation register --store spatiotemporal --location /net/sysshare/bigdatabus
提示:
如果您的远程备份目录离线几分钟,需在共享备份位置可用后立即执行数据存储的完整手动备份。
手动创建数据存储备份
您可以使用 backupdatastore 实用程序对数据存储中的要素图层数据进行完整备份。对数据存储进行大量更改前或升级数据存储前,您可能想要手动创建完整备份。或者您可能想要创建备份以保存特定状态的数据副本,例如,项目第一个阶段的末尾。
首次运行 backupdatastore 实用程序进行切片缓存数据存储时,备份副本由所有现有的切片缓存数据存储数据库构成。同样,第一次为时空数据存储运行 backupdatastore 实用程序时,将创建完整备份。由于这两种类型的数据存储可能非常大,第一次之后每次运行 backupdatastore 实用程序时,该实用程序将仅为上次运行该实用程序时创建的数据创建备份副本。
用于连接至数据存储计算机以运行 backupdatastore 实用程序的登录帐户必须具有对数据存储备份位置的读写权限。
运行 backupdatastore 实用程序的语法如下:
backupdatastore [<backup_name>] --store {relational | tilecache | spatiotemporal}
为文件提供一个有意义的名称,这样在您希望恢复该数据时可以找到它。如果未指定名称,实用程序将向该文件分配一个默认名称。默认名称的格式为“数据存储名称-时间戳”。例如,如果将数据存储命名为 corpds 且您是在 2014 年 7 月 10 日 14:25:49:554 UTC 创建的备份,则备份文件名称是 corpds-20140710142549554。
您需要确认是否希望创建备份。输入是或 y 继续执行备份创建。
提示:
如果希望将手动备份(包括禁止确认提示符的标记)改写为脚本,则请按以下示例操作:
backupdatastore --store tilecache --prompt no
在本示例中,数据存储将生成备份文件名称。为确保备份文件名称唯一,需要在脚本中执行此操作。
更改关系数据存储的备份频率
默认情况下,ArcGIS Data Store 每四天会创建一个完整备份,但您可以通过运行 updatebackupschedule 实用程序更改数据存储创建完整备份的频率。如果用户将发布和编辑大量托管要素图层,则您应提高创建完整数据存储备份的频率。
从 10.5 版本开始,将禁用增量备份。如果重新启用时间点恢复,则将在每五分钟或不足五分钟但日志文件已满时(以较先者为准)创建增量备份。数据库可控制增量备份的创建;您无法控制增量备份的创建频率。
备份位置必须具有足够的空间来存储所有备份文件。备份大小取决于数据量的多少,但如果您使用默认备份设置,备份将包含两个完整备份和 7 天的增量备份文件。这些文件的大小将取决于数据量及其大小。默认情况下,如果重新启用时间点恢复,备份也将包括 7 天的增量备份文件。
如果决定手动创建备份并希望禁用自动备份,则将备份频率设置为 0。注意,如果您禁用自动备份,则 ArcGIS Data Store 将不会创建任何备份。您必须自己创建备份。
updatebackschedule 实用程序安装在 <ArcGIS Data Store installation directory>/datastore/tools 目录下。
- 打开 shell 命令。
- 运行 updatebackschedule 实用程序以指定所需的备份频率。
运行此实用程序的语法如下:
updatebackupschedule --starttime <local server time> --frequency <number of days>
例如,输入以下内容以计划每 14 天(每两周)的上午 3:00 (本地服务器时间)每天:
./updatebackupschedule.sh --starttime 03:00:00 --frequency 1
更改保留关系数据存储备份文件的时间
默认情况下,备份目录将保留关系数据存储备份文件 7 天。这表示如果您保留默认备份频率(每 4 天)和保留计划(7 天),备份目录将包含 2 个完整备份。如果重新启用时间点恢复,备份目录还将包含 7 天的增量备份文件。这些文件的大小将取决于数据量及其大小。存储备份的计算机必须要有足够的磁盘空间以存储所有这些文件。如果提高备份频率,则需考虑缩短备份文件的保留期间。在前一部分已将备份频率增加到每天。要防止备份目录过大,请缩短备份文件保留期间。
运行 updatebackupretaindays 实用程序的语法如下:
updatebackupretaindays <number of days>
在接下来的示例中,会将备份文件保留时间更改为 4 天:
./updatebackupretaindays.sh 4
删除数据存储手动备份
如果不再需要保留使用 backupdatastore 实用程序创建的数据存储备份文件,则可以运行 listbackups 实用程序获取特定备份文件的名称,然后运行 deletebackup 实用程序移除不需要的文件。例如,升级数据存储且确认所有图层按预期执行后,可以删除升级之前创建的数据存储备份。
本示例中已删除数据库 preupgrade1104_bu:
./listbackups.sh --store relational Backup_Name Status Backup_Time Mode ==================================================================================== phase1proj_bu BackupComplete 2014-03-08 14:12 manual phase2proj_bu BackupComplete 2014-06-21 11:43 manual preupgrade_bu BackupComplete 2014-10-04 09:30 manual ds_gdt1oomh-20141103160748082 BackupComplete 2014-11-01 03:00 scheduled /deletebackup preupgrade1104_bu You are attempting to delete backup 'preupgrade1104_bu'. This operation is irreversible. Do you wish to continue (Yes or No)?yes Operation completed successfully