您需要进行备份以在发生数据损坏或数据存储故障等故障时恢复数据。 如果要创建通过 ArcGIS Data Store 实施的数据存储的备份,并在安全位置放置备份文件,则可以在数据存储崩溃并且无法重新启动时设置新 ArcGIS Data Store,访问备份文件并恢复数据。
阅读 ArcGIS Data Store 备份注意事项,然后使用其他部分中的信息来配置和管理 ArcGIS Data Store 备份。
ArcGIS Data Store 备份注意事项
在对 ArcGIS Data Store 实施备份和恢复策略时,请注意以下几点:
- 当灾难发生时,例如服务器发生故障或遭到洪水冲毁,备份可以帮助您恢复数据。 如果备份位于遭到洪水冲毁的服务器上,则不能恢复数据。 因此,您需要将备份文件存储在与数据存储不同的服务器上,如果可能,还应存储在与数据存储不同的物理位置上。
- ArcGIS Data Store 备份文件仅包含关系、图谱、对象、切片缓存或时空大数据存储。 备份文件不包含 GIS Server 站点、ArcGIS Enterprise 门户或您注册到 GIS Server 站点的用户托管数据存储的备份。 您必须单独创建这些组件的备份。
如果使用关系或切片缓存数据存储(或两者),则可以使用随附 Portal for ArcGIS 安装的 webgisdr 工具创建备份。 当使用 webgisdr 工具时,还将创建门户、托管服务器和联合服务器的备份。 有关使用此工具的信息,请参阅 ArcGIS Enterprise 备份。 您仍需要为您注册到 GIS Server 站点的用户托管数据存储以及时空大数据存储、对象存储和图谱存储创建单独的备份。
- 当 ArcGIS Data Store 计算机发生故障或数据损坏时,ArcGIS Data Store 备份可帮助恢复丢失的数据。 这些计算机的可用性并不高。 如果您希望即使单台 ArcGIS Data Store 计算机发生故障,仍可继续使用托管要素、时空服务、视频服务以及场景图层和托管知识图谱,请向每个数据存储类型添加计算机,以提高其可用性。 可以将多台计算机添加至切片缓存(集群)数据存储、时空大数据存储和对象存储。
- 由于基础存储机制和 ArcGIS 软件发生变更,您使用旧版 ArcGIS Data Store 创建的数据存储备份将无法用于恢复新版 ArcGIS Data Store 的数据。 因此,在升级 ArcGIS Data Store 后,请始终为每个数据存储创建一个完整的备份。 唯一的例外是关系数据存储,先前版本的备份文件可能有效。 要确定哪些备份文件可用于还原数据存储,请运行 listbackups 实用程序。
- 如果在本地部署 ArcGIS Enterprise,但数据存储备份文件位于云存储中,则与备份文件存储在本地文件共享中相比,创建备份以及从这些备份中进行恢复所需的时间更长。
- 系统不会自动清理图谱存储、对象存储、切片缓存数据存储或时空大数据存储备份文件。 系统不会自动清理使用 backupdatastore 实用程序创建的所有备份。
- 当创建对象存储的备份时,将不包含要素图层查询缓存。
ArcGIS Data Store 备份位置和行为
所有 ArcGIS Data Store 类型都需要默认备份位置。 ArcGIS Data Store 自动创建的备份始终在默认备份位置进行创建。
可以定义在运行 backupdatastore 实用程序创建完整备份时可以为输出指定的其他备份位置。 这种类型的备份也称为手动备份。 如果在运行 backupdatastore 实用程序时未指定位置,则将使用默认备份位置。
下表汇总了每种数据存储的备份位置的差异。 请阅读您所管理的数据存储类型的相关信息。
数据存储 | 默认备份位置 | 手动备份位置 |
---|---|---|
图谱存储 | 必须注册默认备份位置,才能创建图谱存储的备份。 | 可以为图谱存储注册其他文件共享备份位置。 |
对象存储 | 必须注册默认备份位置,才能创建对象存储的备份。 | 可以为对象存储注册其他文件共享备份位置。 |
关系数据存储 | 默认备份将写入 ArcGIS Data Store 内容目录的子文件夹中,除非进行更改。 将默认备份位置更改为单独计算机上的文件共享。 | 您可以为关系数据存储注册其他备份位置,包括其他文件共享、Amazon Simple Storage Service (S3) 存储段和 Microsoft Azure Blob 存储容器。 |
集群模式下的切片缓存数据存储 | 必须注册默认备份位置,然后才能创建在集群模式下运行的切片缓存数据存储的备份。 默认备份位置可以为文件共享位置、Amazon S3 存储段或 Microsoft Azure Blob 存储容器。 | 您可以为切片缓存数据存储注册其他备份位置,包括其他文件共享、Amazon S3Amazon S3 存储段和 Microsoft Azure Blob 存储容器。 |
主-备用模式下的切片缓存数据存储 | 默认备份将写入 ArcGIS Data Store 内容目录的子文件夹中,除非进行更改。 将初始默认备份位置更改为单独计算机上的文件共享,或者 Amazon S3 存储段或 Microsoft Azure Blob 存储容器。 | 您可以为切片缓存数据存储注册其他备份位置,包括其他文件共享、Amazon S3Amazon S3 存储段和 Microsoft Azure Blob 存储容器。 |
时空大数据存储 | 必须在注册默认备份位置之后,才能创建时空大数据存储备份文件。 默认备份位置可以为文件共享位置、Amazon S3 存储段或 Microsoft Azure Blob 存储容器。 | 您可以为时空大数据存储注册其他备份位置,包括其他文件共享、Amazon S3 存储段和 Microsoft Azure Blob 存储容器。 |
更改关系数据存储的默认备份位置
当您创建关系数据存储时,系统将在与数据存储相同的计算机上自动配置备份位置。 默认情况下,ArcGIS Data Store 将在 /usr/arcgisdatastore/backup/relational 中创建关系数据存储备份。 这是默认备份位置。
但是,建议不要在数据存储所在的计算机上保留备份。 如果主数据存储计算机发生故障,则您无法访问备份文件,因此无法恢复托管图层数据。 您不能将备份文件和数据存储保留在同一计算机上的另一个原因是,这些备份文件可能迅速占满计算机上的磁盘空间。 如果磁盘空间不足,则数据存储将处于只读模式以免数据损坏,您无法发布新的托管图层。
因此,定义其他的安全位置存储关系数据存储的备份。 为此,在 configurebackuplocation 实用程序中使用 change 操作。
对于关系数据存储,可指定其他计算机上的共享文件目录作为默认备份位置。
注:
按照以下步骤更改关系数据存储的默认备份位置:
- 在其他计算机上创建用于存储备份文件的共享目录。
- 授予安装 ArcGIS Data Store 的账户对共享网络目录的读取和写入权限。
- 使用 change 选项运行 configurebackuplocation 实用程序以将共享目录指定为关系数据存储备份的默认输出位置。
如果在用户发布托管要素图层且已进行自动备份后运行此实用程序以使用共享目录的关系数据存储,configurebackuplocation 实用程序会将现有关系数据存储备份文件从默认备份位置移至共享目录。
在该示例中,关系数据存储的备份位置被更改为:在计算机 sysshare 上名为 ds_backups 的目录。 备份位置名为 reldefbu。
./configurebackuplocation.sh --operation change --store relational --location "type=fs;location=/net/sysshare/ds_backups;name=reldefbu" 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
有关完整语法和其他示例,请参阅 ArcGIS Data Store 命令实用程序参考。
更改切片缓存数据存储(主-备用模式)的默认备份位置
当您创建在主-备用模式下部署的切片缓存数据存储时,系统将自动在数据存储所在的计算机上配置备份位置。 默认位置是 /usr/arcgisdatastore/backup/tilecache。 与关系数据存储一样,默认备份位置应更改为远程位置。 但是与关系数据存储不同的是,您需要使用 register 和 setdefault 操作为在主-备用模式下运行的切片缓存数据存储建立新的默认备份位置。
按照以下步骤更改正在主-备用模式下运行的切片缓存数据存储的默认备份位置:
- 创建以下其中一项以存储自动数据存储备份文件:
- 其他计算机上的共享目录
- Amazon Web Services 账户下的 Amazon S3 存储段
- Azure Blob 存储账户下的 Microsoft Azure Blob 存储容器
- 向已安装 ArcGIS Data Store 的账户授予在上一步中配置的位置的读写权限。
- 使用 register 操作运行 configurebackuplocation 实用程序为切片缓存数据存储添加共享目录或云存储位置。
在此示例中,将向切片缓存数据存储添加 Azure Blob 存储容器中名为 scenebackups 的备份位置。 备份位置名为 tc_defaultbu。 提供了用于访问该容器的凭据。
./configurebackuplocation.sh --operation register --store tileCache --location "type=azure;location=scenebackups;name=tc_defaultbu;username=myazureaccountlogin;password=zpw4myazureaccount"
- 现在,将新注册的备份位置指定为切片缓存数据存储的默认备份位置。
注:
此实用程序不会移动先前默认备份位置中存在的切片缓存数据存储的现有自动备份。
在下面的示例中,上一步中注册的备份位置 (tc_defaultbu) 设置为默认备份位置。
./configurebackuplocation.sh --operation setdefault --store tileCache --location "name=tc_defaultbu"
提示:
要确认新位置现在为默认位置,可使用 list 操作运行 configurebackuplocation 实用程序。
有关完整语法和其他示例,请参阅 ArcGIS Data Store 命令实用程序参考。
注册初始默认备份位置
创建时,图谱存储、对象存储、切片缓存数据存储(集群模式)和时空大数据存储没有默认备份位置。 必须先注册至少一个备份位置,然后才能创建这些类型的数据存储的备份。
注册一个安全、共享默认备份位置,其中 ArcGIS Data Store 可以在计划(自动)备份中放置文件。
您可以注册文件共享、Amazon S3 存储段或 Microsoft Azure Blob 存储容器作为默认备份位置。
注:
- 确保存储空间足以保存数据存储备份中包含的所有文件。 切片缓存数据存储和图谱存储可能相当大,时空大数据存储可能更大。
- 默认备份位置的填充速率取决于备份计划以及向默认备份位置写入的手动备份数量。 监视备份目录的大小并根据需要调整计划和存储大小。
- 同一数据存储中的所有计算机必须具有默认备份位置的访问权限。 例如,当为时空大数据存储注册文件共享备份位置时,时空大数据存储中的所有计算机必须有权写入文件共享位置。
请按照以下步骤为切片缓存数据存储(集群模式)、时空大数据存储、对象存储或图谱存储配置数据存储备份文件的默认位置:
- 创建以下其中一项存储数据存储备份文件:
- 其他计算机上的共享目录
- Amazon Web Services 账户下的 Amazon S3 存储段
- Azure Blob 存储账户下的 Microsoft Azure Blob 存储容器
- 向已安装 ArcGIS Data Store 的账户授予在上一步中配置的位置的读写权限。
- 使用 register 选项运行 configurebackuplocation 实用程序以指定数据存储备份的默认输出位置。
有关每种数据存储的示例,请参阅这些步骤后面的章节。
有关完整语法和其他示例,请参阅 ArcGIS Data Store 实用程序参考。
提示:
如果您的备份目录离线超过几分钟,需在备份位置可用后立即执行数据存储的完整手动备份。
图谱存储示例
在本示例中,将为图谱存储注册默认备份位置。 该位置为 sysshare 上名为 graphbu 的文件共享目录。 备份位置名称为 graph_defaultbu。
./configurebackuplocation.sh --operation register --store graph
--location "type=fs;location=/net/sysshare/graphbu;name=graph_defaultbu"
对象存储示例
在本示例中,将为对象存储注册默认备份位置。 该位置为 netshare 上名为 videobu 的文件共享目录。 备份位置名称为 object_defaultbu。
./configurebackuplocation.sh --operation register --store object
--location "type=fs;location=/net/netshare/videobu;name=object_defaultbu"
时空大数据存储示例
在此示例中,将为时空大数据存储注册备份位置。 位置为名为 dsbackups 的 Azure Blob 存储位置。 备份位置名为 sbds_defaultbu。 提供了用于访问 Blob 存储位置的凭据。
./configurebackuplocation.sh --operation register --store spatiotemporal
--location "type=azure;location=dsbackups;name=sbds_defaultbu;username=azureaccountlogin;password=zpw4azureaccount"
切片缓存数据存储(集群模式)示例
在此示例中,将为在集群模式下部署的切片缓存数据存储注册默认备份位置。 位置为包含名为 scene 的子文件夹的 S3 存储段。 该存储段位于美国东部(俄亥俄州)AWS 区域。 备份位置名为 tc_defaultbu。 提供了用于访问该存储段的凭据。
./configurebackuplocation.sh --operation register --store graph
--location "type=s3;location=backups/scene;name=tc_defaultbu;region=us-east-2;username=abc12345;password=dearliz@a0"
注册其他备份位置
可注册其他备份位置。 当您运行 backupdatastore 实用程序以手动创建备份时,可指定以下预定义位置之一。
请按照以下步骤为备份文件添加其他位置:
- 为备份文件创建另一个位置。
- 如需注册共享目录(文件共享),请在另一台计算机上创建目录。 确保存储空间足够大,可以容纳所有备份文件。 同时确保连接到 ArcGIS Data Store 计算机以运行 backupdatastore 实用程序时使用的登录账户有权写入此目录。 如果您为切片缓存(集群)或时空大数据存储创建另一个共享目录,则在同一 ArcGIS Data Store 部署的所有计算机都必须有权访问此共享目录。 如果要为关系或切片缓存(主-备用)数据存储备份创建其他共享目录,则备用计算机必须能够访问共享目录。
- 要注册 S3 存储段,请在您的 Amazon Web Services 账户下创建存储段。 选择可容纳备份文件的存储段大小。
- 要注册 Azure Blob 存储容器,请在您的 Azure Blob 存储账户下创建容器。
- 使用 register 操作运行 configurebackuplocation 实用程序以注册此附加备份位置。
在此示例中,将注册第二个文件共享位置,以存储关系数据存储的手动备份。 备份位置将以 rbu_manual 命名。
./configurebackuplocation.sh --operation register --store relational --location "type=fs;location=/net/sysshar2e/ds_manual_backups;name=rbu_manual"
在此示例中,将注册 Azure Blob 存储容器来存储切片缓存数据存储的手动备份。 备份位置将以 tcbu_manual 命名。
./configurebackuplocation.sh --operation register --store tileCache --location "type=azure;location=bucontainer;name=tcbu_manual;username=myazureaccountlogin;password=zpw4myazureaccount"
添加备份位置时用于注册切片缓存(集群)数据存储、图谱存储、对象存储和时空大数据存储的附加备份位置的步骤和示例与注册初始备份位置时的相同。
将备份位置之一指定为默认位置
当为图谱存储、对象存储、切片缓存数据存储或时空大数据存储定义多个备份位置时,可将其中一项指定为默认备份位置。 在完成该操作后,ArcGIS Data Store 创建的备份(自动备份)会将备份文件写入该位置。
提示:
要更改关系数据存储的默认位置,使用 change 操作。
使用 setdefault 操作运行 configurebackuplocation 实用程序并指定注册的备份位置。 如果在注册备份位置时已对其进行命名,则可以使用该名称指定位置。
图谱存储示例
在以下示例中,图谱存储具有多个文件共享备份位置。 setdefault 操作用于将其中一项指定为新的默认备份位置。
./configurebackuplocation.sh --operation setdefault --store graph --location "location=/net/server/gsbackups24"
对象存储示例
在以下示例中,将使用对象存储 (s3_backups) 配置的备份位置之一设置为默认备份位置。
./configurebackuplocation.sh --operation setdefault --store object --location "name=s3_backups"
时空大数据存储示例
在以下示例中,将时空大数据存储的附加备份位置之一(名为 bu_container)指定为新的默认备份位置:
./configurebackuplocation.sh --operation setdefault --store spatiotemporal --location "name=bu_container"
切片缓存数据存储示例
在以下示例中,将亚太地区(新加坡) S3 存储段中的切片缓存数据存储附加备份位置之一指定为新的默认备份位置:
./configurebackuplocation.sh --operation setdefault --store tileCache --location "type=s3;location=bu_bucket;
username=hijklmn1234567;password=z9y8x7w6v5u4t3s2r1q0;region=ap-northeast-1"
确定所有备份位置
如果您具有多个数据存储类型并且每个类型对应多个位置,则跟踪所有数据存储备份位置可能会让人分辨不清。 或者,可能您从他人手里接管了 ArcGIS Data Store 管理员工作。 在此类情况下,可使用 list 操作运行 configurebackuplocation 实用程序以在 ArcGIS Data Store 中查询特定数据存储类型的所有备份位置列表。
在下面的示例中,将返回 ArcGIS Data Store 部署中时空大数据存储的所有注册备份位置。 要使用 relational、tileCache、graph 或 object 获取其他数据存储类型的列表,请使用 --store 选项指定该类型。
./configurebackuplocation.sh --operation list --store spatiotemporal
管理自动备份
默认情况下,ArcGIS Data Store 每四天会创建一个完整备份,但您可以通过运行 updatebackupschedule 实用程序更改 ArcGIS Data Store 创建完整关系数据存储备份的频率。 对于所有其他数据存储类型,不存在备份计划,除非您使用 updatebackupschedule 实用程序进行设置。
更改备份频率
如果您的组织成员发布并编辑了大量的托管图层,或者您存档了大量的流数据,则需要提高备份的频率。
注:
默认情况下,关系数据存储禁用了增量备份。 如果启用时间点恢复,则将在每五分钟或不足五分钟但日志文件已满时(以较先者为准)创建增量备份。 数据库可控制增量备份的创建;您无法控制增量备份的创建频率。
备份位置必须具有足够的空间来存储所有备份文件。 备份大小取决于数据量的多少,但如果您使用默认备份设置,备份将包含两个完整备份。 这些文件的大小将取决于数据量及其大小。 默认情况下,如果重新启用关系数据存储的时间点恢复,备份也将包括七天的增量备份文件。
如果决定手动创建备份并希望禁用自动备份,则将备份频率设置为 0。 如果禁用自动备份,则您必须自行创建备份,以防止发生计算机故障或其他数据灾害时的数据丢失。
注:
当您禁用自动备份时,无法将时间点恢复用于关系数据存储;所有关系数据存储备份将为完整备份。
updatebackupschedule 实用程序安装在 <ArcGIS Data Store installation directory>/datastore/tools 目录下。
- 打开 shell 命令。
- 运行 updatebackupschedule 实用程序以指定所需的备份频率。
运行此实用程序的语法如下:
updatebackupschedule [--store relational|tileCache|spatiotemporal|graph|object] [--starttime <local server time>] --frequency <number of days>
例如,输入以下内容以计划在每天上午 3:00(本地服务器时间)进行完整关系数据存储备份:
./updatebackupschedule.sh --store relational --starttime 03:00:00 --frequency 1
在此示例中,时空大数据存储的备份计划每三天在晚上 11:30(本地服务器时间)进行:
./updatebackupschedule.sh --store spatiotemporal --starttime 23:30:00 --frequency 3
更改保留自动关系数据存储备份文件的时间
默认情况下,备份目录将保留关系数据存储备份文件 7 天。 这表示如果您保留默认备份频率(每 4 天)和保留计划(7 天),备份目录将包含 2 个完整备份。 如果启用时间点恢复,备份目录还将包含七天的增量备份文件。 这些文件的大小将取决于数据量及其大小。 存储备份的计算机必须要有足够的磁盘空间以存储所有这些文件。 如果提高备份频率,则需考虑缩短备份文件的保留期间。 在前一部分已将备份频率增加到每天。 要防止备份目录过大,请缩短备份文件保留期间。
运行 updatebackupretaindays 实用程序的语法如下:
updatebackupretaindays <number of days>
在接下来的示例中,会将备份文件保留时间更改为 4 天:
./updatebackupretaindays.sh 4
手动创建和删除备份
即使您使用了自动备份,有时您也可能希望为常规备份计划之外的特定目的而创建备份,例如在升级系统之前或在其他位置创建一个备用的完全备份。
如果您禁用自动备份,建议定期创建手动备份。
可以使用 deletebackup 实用程序删除为关系数据存储和对象存储创建的备份文件。
运行实用程序以创建数据存储备份
可使用 backupdatastore 实用程序创建指定数据存储的完整备份。 对数据存储进行大量更改前或升级数据存储前,您可能想要手动创建完整备份。 或者您可能想要创建备份以保存特定状态的数据副本,例如,工程第一个阶段的末尾。
针对关系数据存储运行 backupdatastore 实用程序时,将始终创建数据存储的完整备份。
首次针对切片缓存数据存储运行 backupdatastore 实用程序时,备份副本由所有现有的切片缓存数据存储数据库构成。 同样,首次针对时空大数据存储运行 backupdatastore 实用程序时,将创建完整备份。 由于这两种类型的数据存储可能非常大,第一次之后每次运行 backupdatastore 实用程序时,该实用程序将仅为上次运行该实用程序时创建的数据创建备份副本。
用于连接至数据存储计算机以运行 backupdatastore 实用程序的登录账户必须具有对数据存储备份位置的读写权限。
运行 backupdatastore 实用程序的语法如下:
backupdatastore [<backup file name>] [--store {relational | tileCache | spatiotemporal | graph | object}] [--location <backup_arguments>] [--prompt {yes | no}]
如果未指定 --location 选项,则备份文件会写入数据存储的默认备份位置。
为文件提供一个有意义的备份名称,这样在您希望恢复该数据时可以找到它。 如果未指定名称,实用程序将向该文件分配一个默认名称。 默认名称的格式为“数据存储名称-时间戳”。 例如,如果将数据存储命名为 corpds 且您是在 2014 年 7 月 10 日 14:25:49:554 UTC 创建的备份,则备份文件名称是 corpds-20140710142549554。
您需要确认是否希望创建备份。 输入是或 y 继续执行备份创建。
提示:
如果希望将手动备份(包括禁止确认提示符的标记)改写为脚本,则请按以下示例操作:
backupdatastore --store tileCache --prompt no
在本示例中,数据存储将生成备份文件名称。 为了确保备份文件名唯一,这在脚本中是必需的。
删除数据存储手动备份
当您不再需要使用 backupdatastore 实用程序创建的关系数据存储、图谱存储或对象存储备份文件时,请运行 configurebackuplocaton 实用程序并将 --operation 选项设置为 list 以获取数据存储的所有备份位置。 接下来,在每个位置运行 listbackups 实用程序以获取每个位置中备份文件的名称。 当确定必须删除的备份文件时,请针对每个位置和文件运行 deletebackup 实用程序以移除不需要的文件。 例如,升级数据存储且确认所有图层按预期执行后,可以删除升级之前创建的数据存储备份。
在本示例中,将从备份位置 /net/systemserver/backups 中删除关系数据存储备份文件 preupgrade1104_bu:
./configurebackuplocation.sh --operation list --store relational Backups locations for relational data store: ===================================================================================== Type Location isDefault ===================================================================================== fs /net/ourserver/datastore/backups/rel true fs /net/systemserver/backups false ./listbackups.sh --store relational --location "/net/systemserver/backups" Backup_Name Status Backup_Time Mode ==================================================================================== phase1proj_bu BackupComplete 2023-03-08 14:12 manual phase2proj_bu BackupComplete 2023-06-21 11:43 manual preupgrade1104_bu BackupComplete 2022-11-04 09:30 manual ./deletebackup.sh preupgrade1104_bu --store relational --location "/net/systemserver/backups" You are attempting to delete backup 'preupgrade1104_bu'. This operation is irreversible. Do you wish to continue (Yes or No)?yes Operation completed successfully