恢复 ArcGIS Data Store
如果您无法访问数据存储中的数据(例如,ArcGIS Data Store 计算机出现故障或编辑者从托管要素图层中删除了错误数据),则可以使用备份文件恢复数据。
如果数据存储中的一台或多台计算机发生故障且无法恢复,请在新计算机上安装 ArcGIS Data Store 并使用 restoredatastore 实用程序将最新的可用完整备份恢复到该新计算机。
注:
要查找可用于恢复的备份文件,请运行 listbackups 实用程序。
恢复数据存储的方式将会有所不同,具体取决于数据存储类型以及要替换的计算机数量或具体是哪些计算机。 以下是其中一些差异的示例:
如果替换时空大数据存储或对象存储中的所有计算机,请运行两次
restoredatastore实用程序以容纳所有数据。如果关系存储配置为时间点恢复,若要将托管要素图层数据恢复至指定的时间点,则需在现有关系存储基础上进行恢复并指定要恢复到的日期和时间。
关于恢复数据存储的重要信息
请记住以下有关 ArcGIS Data Store 恢复的信息:
必须通过在开发或测试部署上测试备份和恢复过程来确保其正常运行。 当需要恢复生产部署时,您不希望发现工作流中的缺陷。
已压缩用于恢复的备份文件。 恢复数据后,必须将这些文件解压到暂存位置。 这表示您必须具有可容纳此数据的暂存位置。 默认情况下,这些文件将暂存在 ArcGIS Data Store 数据目录中。 如果关系存储中存在大量数据,则可以设置单独的暂存位置并针对数据存储恢复指定该位置以暂存文件。 可以使用
changestaginglocation实用程序指定单独的暂存位置。在运行
restoredatastore实用程序之前,请确保没有用户在发布或编辑图层。 这些新服务和编辑内容将会丢失,因为它们没有包括在您准备恢复的备份文件中。当您恢复数据时,客户端和服务无法访问数据存储中的现有数据。
如果在本地部署 ArcGIS Enterprise,但数据存储备份文件位于云存储中,则与备份文件存储在本地文件共享中相比,创建备份以及从这些备份中进行恢复所需的时间更长。
在发生故障后恢复关系存储
对于单机关系存储,如果硬件停止运行,或者数据存储不可用且无法恢复在线,请在新计算机上安装 ArcGIS Data Store,然后使用 restoredatastore 实用程序将备份文件应用到新安装。 这将在新计算机上重新创建数据存储,并保持数据存储与现有 GIS Server 站点的注册状态。
提示:
如果关系存储的主-备部署中的主计算机出现故障,则备用计算机将成为主计算机。 请从部署中移除出现故障的计算机。 然后,可以在新计算机上安装 ArcGIS Data Store 并将其配置为备用计算机。 无需从备份文件进行恢复,因为数据将从主计算机复制到备用计算机。 同样,如果备用计算机出现故障且无法恢复,则无需恢复数据。 可以从部署中移除备用计算机,在新计算机上安装 ArcGIS Data Store,然后将其配置为备用计算机。
要恢复单机关系存储,请完成以下步骤:
在新计算机上安装 ArcGIS Data Store。
请勿继续进行配置。 关闭在安装结束时打开的 Data Store 配置应用程序。
打开 shell 命令。
运行
<ArcGIS Data Store installation directory>\datastore\tools中的restoredatastore实用程序以恢复关系存储的最近备份。请参阅实用程序参考或在命令行中输入 --help 以获取语法。
本示例将关系存储的最近备份从
/net/fortknox/backups/datastore/relational恢复到/usr/arcgisdatastore。 由于在默认情况下该数据存储仍会绑定到将其注册到的 GIS Server 站点,因此您无需指定--bound true,但是需要指定 GIS Server 站点 URL 和管理员凭据,如下所示。./restoredatastore --store relational --target most-recent --source-loc /net/fortknox/backups/datastore/relational --data-dir /usr/arcgisdatastore --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw如果您使用
--data-dir选项指定的目录不存在,则会创建该目录。 如果存在,您必须对其具有写入访问权限,且该目录必须为空。 否则,恢复操作将失败。使用以管理员身份运行选项打开命令提示符。
运行
<ArcGIS Data Store installation directory>\datastore\tools中的restoredatastore实用程序以恢复关系存储或图存储的最近备份。请参阅实用程序参考或在命令行中输入 --help 以获取语法。
本示例将关系存储的最近备份从
\\fortknox\backups\datastore\relational恢复到C:\arcgisdatastore。 由于在默认情况下,该数据存储仍绑定到与其注册的 GIS Server 站点,因此您无需指定--bound true,但是需要指定 GIS Server 站点 URL 和管理员凭据,如下所示。restoredatastore --store relational --target most-recent --source-loc \\fortknox\backups\datastore\relational --data-dir C:\arcgisdatastore --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw如果您使用
--data-dir选项指定的目录不存在,则会创建该目录。 如果存在,您必须对其具有写入访问权限,且该目录必须为空。 否则,恢复操作将失败。输入 Yes 确认希望恢复数据存储。
将现有关系存储恢复至特定时间点
如果关系存储配置为时间点恢复,则可以使用备份文件将关系存储恢复至指定的时间点。 例如,如果编辑者对托管要素图层中的数据进行了大量编辑,但是在第二天发现这些编辑内容错误,则您可以将关系存储恢复至进行这些编辑内容前的状态。
指定的时间必须是协调世界时间 (UTC)。
注:
在将关系存储恢复至的时间点之后发布到门户的所有要素图层将不再有效,因为这些图层所使用的数据将不再存在于数据存储中。
如果您禁用了自动备份,则无法恢复至指定时间点。
要将关系存储恢复至特定时间点,请完成以下步骤:
打开 shell 命令。
运行
<ArcGIS Data Store installation directory>\datastore\tools中的restoredatastore实用程序,将数据恢复到特定时间点。./restoredatastore --store relational --target 2014-03-20-17:00:00 --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw You are going to restore the data store from a data store backup. This process could take a long time, depending on the size of your data. Please do not interrupt the process once it has started. Do you want to continue (Yes or No)? Yes使用以管理员身份运行选项打开命令提示符。
运行
<ArcGIS Data Store installation directory>/datastore/tools中的restoredatastore实用程序,将数据恢复到特定时间点。将关系存储恢复到特定时间点的语法如下:
restoredatastore --store relational --target <date and time> --server-url <ArcGIS Server URL> --server-admin <ArcGIS Server admin user> --server-password <ArcGIS Server admin password>例如,键入以下内容将文件中的数据存储恢复至其在 2014 年 3 月 20 日下午 5:00 UTC 的状态:
restoredatastore --store relational --target 2014-03-20-17:00:00 --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw You are going to restore the data store from a data store backup. This process could take a long time, depending on the size of your data. Please do not interrupt the process once it has started. Do you want to continue (Yes or No)? Yes输入 Yes 确认希望恢复数据存储。
提示:
要编写
restoredatastore实用程序的脚本,请包含一个标记以禁止确认提示,如下例所示:restoredatastore --store relational --target 2014-03-20-17:00:00 --prompt no托管要素图层数据将恢复至已指定的时间点。
在所有计算机丢失后恢复数据存储
如果您需要替换时空大数据存储、对象存储或图存储中的所有计算机(例如,洪水破坏了您的数据中心),请完成以下步骤以恢复数据存储:
在新计算机上安装 ArcGIS Data Store。
请勿继续进行配置。 关闭在安装结束时打开的 Data Store 配置应用程序。
打开 shell 命令。
从
<ArcGIS Data Store installation directory>\datastore\tools中运行restoredatastore实用程序并将--loaddata操作设置为false以准备用于恢复图存储、对象存储或时空大数据存储的第一台计算机。请参阅实用程序参考或在语法的命令行中输入 --help。
本示例会准备新计算机以将最近的时空大数据存储备份从
/net/myserver/backups/spatiotemporal恢复至/usr/arcgisdatastore。--loaddata操作已设置为false,因此数据还未加载。./restoredatastore --store spatiotemporal --target most-recent --source-loc /net/myserver/backups/spatiotemporal --data-dir /usr/arcgisdatastore --loaddata false --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw如果您使用
--data-dir选项指定的目录不存在,则 ArcGIS Data Store 将会创建该目录。 如果该目录已存在,您必须对其具有写入访问权限,且该目录必须为空。 否则,恢复操作将失败。使用以管理员身份运行选项打开命令提示符。
从
<ArcGIS Data Store installation directory>\datastore\tools中运行restoredatastore实用程序并将--loaddata操作设置为false以准备用于恢复图存储、对象存储或时空大数据存储的第一台计算机。请参阅实用程序参考或在命令行中输入 --help 以获取语法。
本示例会准备新计算机以将最近的时空大数据存储备份从
\\myserver\backups\spatiotemporal恢复至C:\arcgisdatastore。--loaddata操作已设置为false,因此数据还未加载。restoredatastore --store spatiotemporal --target most-recent --source-loc \\myserver\backups\spatiotemporal --data-dir C:\arcgisdatastore --loaddata false --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw如果您使用
--data-dir选项指定的目录不存在,则将创建该目录。 如果存在,您必须对其具有写入访问权限,且该目录必须为空。 否则,恢复操作将失败。在其他计算机上安装 ArcGIS Data Store 并在每台计算机上运行 Data Store 配置应用程序或者
configuredatastore实用程序,以将计算机添加至托管服务器。如果要将计算机添加到图存储,则必须使用
configuredatastore实用程序。再次运行
restoredatastore实用程序而不使用--loaddata选项或者将--loaddata设置为true以恢复所有数据。数据将分布在已恢复的特定数据存储类型的所有数据存储计算机上。
本示例使用相同的备份文件(位于
/net/myserver/backups/spatiotemporal中),将数据恢复到最新配置的时空大数据存储。--loaddata选项默认设置为true,因此加载数据时无需另行指定。./restoredatastore --store spatiotemporal --target most-recent --source-loc /net/myserver/backups/spatiotemporal --data-dir /usr/arcgisdatastore --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw本示例使用相同的备份文件(位于
\\myserver\backups\spatiotemporal中),将数据恢复到最新配置的时空大数据存储。--loaddata选项默认设置为true,因此加载数据时无需另行指定。restoredatastore --store spatiotemporal --target most-recent --source-loc \\myserver\backups\spatiotemporal --data-dir C:\arcgisdatastore --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw
两台计算机故障后恢复图存储集群
如果图存储集群中的两台计算机出现故障并且无法恢复,则必须更换图存储集群。
注意:
您可以重复使用一台未发生故障的图存储计算机,但这样做需要您重命名并重新创建 ArcGIS Data Store 内容目录。 这意味着如果计算机中正在运行其他 ArcGIS Data Store 类型,您还必须取消注册并恢复这些数据存储。
如果可能的话,将图存储恢复到一组不与其他 ArcGIS Data Store 安装共享的新计算机上。
但是,如果必须继续在具有其他 ArcGIS Data Store 类型的计算机上运行图存储,则必须确保在继续之前拥有所有数据存储类型的最近备份。 如果没有其他数据存储类型的备份,或者您不想取消注册并恢复其他数据存储类型,则您不能将此机器重新用作新图存储集群的一部分。
按照以下步骤在两台计算机故障后恢复图存储。
在剩余图存储计算机上,打开 shell 命令。
运行
<ArcGIS Data Store installation directory>/datastore/tools的unregisterdatastore命令取消注册托管服务器中的图存储。./unregisterdatastore --stores graph如果要恢复到三台新计算机,则可以继续执行步骤 5。 如果要重复使用剩余的图存储计算机,请继续执行步骤 3。
在剩余的图存储计算机中,使用以管理员身份运行选项打开命令提示符。
运行
<ArcGIS Data Store installation directory>\datastore\tools的unregisterdatastore命令取消注册托管服务器中的图存储。unregisterdatastore --stores graph如果要恢复到三台新计算机,则可以继续执行步骤 5。 如果要重复使用剩余的图存储计算机,请继续执行步骤 3。
如果存在其他 ArcGIS Data Store 类型并且您将重复使用图存储计算机,请运行
unregisterdatastore实用程序立即取消注册这些数据存储类型。注:
根据数据存储的类型,您可能需要运行
removemachine实用程序来删除其他数据存储类型中的其他计算机,然后才能取消注册。要重复使用剩余的图存储计算机,请按照以下步骤重命名内容目录,然后继续执行步骤 6。
在剩余图存储计算机上停止 ArcGIS Data Store。
在剩余图存储计算机上重命名 ArcGIS Data Store 内容目录。
这会将现有内容保留为备份,但您将在恢复图存储时指定一个新目录。
在剩余图存储计算机上重启 ArcGIS Data Store。
如果您不打算重复使用剩余的图存储计算机,请在新计算机上安装 ArcGIS Data Store 作为图存储。
请勿继续进行配置。 关闭在安装结束时打开的 Data Store 配置应用程序。
从图存储计算机上的命令 shell,从
<ArcGIS Data Store installation directory>\datastore\tools运行restoredatastore实用程序并将--loaddata操作设置为false,以准备第一台计算机来恢复图存储。请参阅实用程序参考或在语法的命令行中输入 --help。
本示例会准备计算机以将图存储的最近备份从
/net/myserver/backups/graph恢复至/usr/arcgisdatastore。--loaddata操作已设置为false,因此数据还未加载。./restoredatastore --store graph --target most-recent --source-loc /net/myserver/backups/graph --data-dir /usr/arcgisdatastore --loaddata false --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw您使用
--data-dir选项指定的目录是新 ArcGIS Data Store 内容目录的名称。 恢复操作将创建具有此名称的目录。从图存储计算机上的命令提示符,从
<ArcGIS Data Store installation directory>\datastore\tools运行restoredatastore实用程序并将--loaddata操作设置为false,以准备第一台计算机来恢复图存储。请参阅实用程序参考或在语法的命令行中输入 --help。
本示例会准备计算机以将图存储的最近备份从
\\myserver\backups\graph恢复至C:\arcgisdatastore。--loaddata操作已设置为false,因此数据还未加载。restoredatastore --store graph --target most-recent --source-loc \\myserver\backups\graph --data-dir C:\arcgisdatastore --loaddata false --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw您使用
--data-dir选项指定的目录是新 ArcGIS Data Store 内容目录的名称。 恢复操作将创建具有此名称的目录。在两台新计算机上安装 ArcGIS Data Store 作为图存储,并在每台计算机上运行
configuredatastore实用程序以将计算机添加到托管服务器。再次运行
restoredatastore实用程序而不使用--loaddata选项或者将--loaddata设置为true以恢复所有数据。数据将加载到内容目录 (
data-dir) 并分布在所有三个图存储计算机上。本示例使用相同的备份文件(位于
/net/myserver/backups/graph中),将数据恢复到图存储集群。--loaddata选项默认设置为true,因此加载数据时无需另行指定。./restoredatastore --store graph --target most-recent --source-loc /net/myserver/backups/graph --data-dir /usr/arcgisdatastore --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw本示例使用相同的备份文件(位于
\\myserver\backups\graph中),将数据恢复到图存储集群。--loaddata选项默认设置为true,因此加载数据时无需另行指定。restoredatastore --store graph --target most-recent --source-loc \\myserver\backups\graph --data-dir C:\arcgisdatastore --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw
如步骤 3 之前所述,如果您重复使用了图存储计算机并且存在其他 ArcGIS Data Store 类型,则现在必须恢复那些其他数据存储。 恢复时指定相同的内容目录并提供托管服务器 URL。
如果目标计算机可以容纳备份文件中的所有数据,则可恢复时空大数据存储、对象存储或图存储
如果用于创建替换时空大数据存储、对象存储(集群模式)或图存储(集群模式)的第一台计算机包含的硬盘空间和内存足以容纳备份文件内的所有数据,或者如果要恢复到现有数据存储计算机,则仅需运行一次 restoredatastore 实用程序。 恢复后,可以将其他新计算机添加至时空大数据存储、对象存储或图存储中,而 ArcGIS Data Store 会将数据复制到其他计算机上。
在新计算机上安装 ArcGIS Data Store。
请勿继续进行配置。 关闭在安装结束时打开的 Data Store 配置应用程序。
打开 shell 命令。
使用以管理员身份运行选项打开命令提示符。
从
<ArcGIS Data Store installation directory>\datastore\tools运行restoredatastore实用程序并将--loaddata操作设置为true。请参阅实用程序参考或在命令行中输入 --help 以获取语法。
本示例会准备新计算机以将最近的时空大数据存储备份从
/net/myserver/backups/spatiotemporal恢复至/usr/arcgisdatastore。--loaddata操作设置为true,因为新计算机可以容纳备份文件的所有数据。./restoredatastore --store spatiotemporal --target most-recent --source-loc /net/myserver/backups/spatiotemporal --data-dir /usr/arcgisdatastore --loaddata true --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw如果您使用
--data-dir选项指定的目录不存在,则 ArcGIS Data Store 将会创建该目录。 如果该目录已存在,您必须对其具有写入访问权限,且该目录必须为空。 否则,恢复操作将失败。本示例将把最近的时空大数据存储备份从
\\myserver\backups\spatiotemporal恢复到新计算机的C:\arcgisdatastore。--loaddata操作设置为true,因为新计算机可以容纳备份文件的所有数据。restoredatastore --store spatiotemporal --target most-recent --source-loc \\myserver\backups\spatiotemporal --data-dir C:\arcgisdatastore --loaddata true --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw如果您使用
--data-dir选项指定的目录不存在,则将创建该目录。 如果存在,您必须对其具有写入访问权限,且该目录必须为空。 否则,恢复操作将失败。在这种情况下,由于默认加载数据,因此可以忽略
--loaddata操作。如果计算机无法容纳备份文件中的所有数据,恢复操作将失败。
在其他计算机上安装 ArcGIS Data Store 并在每台计算机上运行 Data Store 配置应用程序或者
configuredatastore实用程序,以将数据存储计算机添加至托管服务器。您必须使用
configuredatastore实用程序以将计算机添加至图存储。ArcGIS Data Store 将数据分发并复制到其他计算机。
将关系存储恢复到不同的操作系统
通过完成以下步骤,您可以使用备份文件将关系存储恢复至运行不同操作系统 (OS) 的计算机上。
例如,如果关系存储运行在 Microsoft Windows Server 上,但您的信息技术部门将切换至 Linux 服务器,则可使用 Windows Server 上的 ArcGIS Data Store 安装创建的备份文件,在 Linux 服务器上恢复为关系存储。
在新服务器上安装 ArcGIS Data Store。
请勿继续进行配置。
如果您没有现有关系存储的完整备份,请使用
backupdatastore实用程序进行创建。将备份文件放在可由新 ArcGIS Data Store 安装访问的共享位置。
运行
restoredatastore实用程序,以在新计算机上进行恢复。 恢复数据时使用--server-url操作指定门户现有托管服务器的 URL(GIS Server 站点),以便现有托管要素图层将继续运行。在此例中,将恢复关系存储并将其注册到 GIS Server 站点
https://mygisserver.example.com:6443。 备份文件位于共享目录/net/backups/relational中,并且新计算机上的 ArcGIS Data Store 目录为/arcgis/datastore。./restoredatastore.sh --store relational --source-loc /net/backups/relational --data-dir /arcgis/datastore --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw运行
restoredatastore实用程序,以在新计算机上进行恢复。 恢复数据时使用--server-url操作指定门户现有托管服务器的 URL(GIS Server 站点),以便现有托管要素图层将继续运行。在此例中,将恢复关系存储并将其注册到 GIS Server 站点
https://mygisserver.example.com:6443。 备份文件位于共享目录\\backups\relational中,并且新计算机上的 ArcGIS Data Store 目录为C:\arcgisdatastore。restoredatastore --store relational --source-loc \\backups\relational --data-dir C:\arcgisdatastore --server-url https://gisserver.example.com:6443 --server-admin siteadmin --server-password MySApw