服务迁移与恢复
如果服务可以迁移,那么备份迁移所需文件,即可恢复原服务,所以“服务的迁移与恢复”、“服务的备份”问题可以汇总为一个问题“怎样迁移服务、缓存?”
服务迁移:
【问题描述】:
两台Server服务器,怎样将服务从一台迁移至另外一台。
【解决办法】:
注:①以下解决方案,同样适用于“将A机器Server转移到B机器Server上(B中已有发布服务)” ,无需保证B为新站点。
②方案适用于10.1~10.4个版本之间迁移,10.0到10.1版本,Server产品架构做了重大调整,因此服务只能重新发布。
③10.0的缓存可以在之后版本的服务中复用,具体“缓存迁移”内容见下文。
首先:两台arcgis for server的arcgis for server账户、config-store和direcotires物理位置、数据源物理位置,都保持一致。直接将原来config-store(默认路径在C:arcgisserver
里)下的services和directories目录拷贝过来即可(因为config-store中记录了机器信息,所以不能完全拷贝过来)
同时注意将注册的数据迁移过来后,将arcgis for server账户的读写权限赋予给其文件夹,确保Arcgis for server有读取数据的权限。
另:关于数据源已注册的问题,在arcgis for server中记录的只是数据的文件夹地址,如果将数据源拷贝到同样的物理路径,arcgis for server正常情况下是可以读取到数据的。
还有常见问题为
缓存迁移:
具体缓存迁移过程:
1)在ArcMap中使用File>share
As> Service向导创建和现有缓存服务同名的地图服务;
2)在service Editor窗口中,缓存选项卡下,Tiling Scheme选择旧版本缓存地图切片的conf.xml文件(可以在下文提供的目录中找到)导入来设置新服务的缓存比例尺;修改最小和最大缓存比例尺滚动条,以便包含现有切片的所有比例级别。选择手动创建缓存,然后发布服务。
3) 将旧版本的缓存切片_alllayers文件夹以下的缓存,拷贝到对应的现有server缓存目录下。
例如现有缓存服务名为:CacheTest01
server目录为:C:arcgisserverdirectoriesarcgiscacheCacheTest01Layers
使用原服务的数据源文件,发布同样名为CacheTest01的服务。
注:对于使用镶嵌数据集发布缓存服务,建议发布的新服务除了设置手动创建缓存外,其他设 置如注册数据源路径等都与原服务保持一致。
如果找不到原服务的数据源,可以在 C:arcgisserverdirectoriesarcgiscacheCacheTest01LayersStatus.gdb 下,在Catalog取其中数据(部分即可)在ArcMap中创建地图文档,发布同样名为CacheTest01的服务。
只创建服务,注意选择手动创建缓存,这一步是构建了缓存服务的文件夹结构,发布同名服务get√
将server目录_alllayers文件夹以下的缓存,拷贝到对应的现有名为CacheTest01的服务server目录_alllayers文件夹下,缓存拷贝get√