GIS云套件
GIS云套件迁移
该篇介绍如何将旧GIS云套件中服务实例、服务节点、文件管理以及存储资源池的数据迁移到新GIS云套件站点。
新环境准备
- 新环境各产品许可版本不低于旧环境,且拥有旧环境许可所有的功能模块。
- 新环境的GIS云套件为全新且干净的环境。如果新环境的NFS目录已有数据,请先清空。
迁移服务实例、服务节点和文件管理数据
迁移Consul数据
-
获取旧环境consul-server-{index}的NFS挂载目录(consul-server集群默认有三个节点,涉及三个目录下数据的迁移)。
在旧环境Kubernetes Master节点中执行如下命令,获取consul-server-{index}的NFS挂载目录路径:
kubectl get pvc -n {ns} | grep consul-server-{index} | awk '{print $3}' | xargs kubectl describe pv | grep Path
注意:
- 命令中的
{ns}
用实际命名空间名称替换。 - 由于涉及三个目录的迁移,以上命令需执行三次,执行时
{index}
分别替换为0、1、2。
- 命令中的
- 将步骤1中的三个NFS挂载目录下的数据分别拷贝至新环境consul-server-{index}的NFS挂载目录中(可参照步骤1中的命令查看新环境的NFS挂载目录)。
迁移文件管理数据
-
获取旧环境gisapplication-data的NFS挂载目录。
在旧环境Kubernetes Master节点中执行如下命令,获取gisapplication-data的NFS挂载目录路径:
kubectl get pvc -n {ns} | grep gisapplication-data | awk '{print $3}' | xargs kubectl describe pv | grep Path
注意:
命令中的{ns}
用实际命名空间名称替换。 - 将步骤1中的NFS挂载目录下的数据拷贝至新环境gisapplication-data的NFS挂载目录中(可参照步骤1中的命令查看新环境的NFS挂载目录)。
迁移业务数据
-
获取旧环境ispeco-mysql-data的NFS挂载目录。
在旧环境Kubernetes Master节点中执行如下命令,获取ispeco-mysql-data的NFS挂载目录路径:
kubectl get pvc -n {ns} | grep ispeco-mysql-data | awk '{print $3}' | xargs kubectl describe pv | grep Path
注意:
命令中的{ns}
用实际命名空间名称替换。 - 将步骤1中的NFS挂载目录下的数据拷贝至新环境ispeco-mysql-data的NFS挂载目录中(可参照步骤1中的命令查看新环境的NFS挂载目录)。
重启相关服务
重启consul-server、ispeco-dashboard-api和ispeco-mysql服务。
备注:
如果重启consul-server时遇到权限相关错误,请在新环境中consul-server-{index}的NFS挂载目录下分别执行命令chmod 777 -R proxy/ raft/ serf/
,再重启consul-server即可。
完成以上步骤,服务实例、服务节点、文件管理数据迁移成功,可在新站点中正常使用。
迁移存储资源池
迁移存储资源池需先完成服务实例与服务节点的迁移,且相应服务的节点数(副本数)在新旧站点中保持一致(即多个节点时,{index}的数量与数字保持一致)。
目前只支持迁移存储资源池中的HBase与HDFS目录。
迁移HBase
迁移hbase-namenode数据
-
获取旧环境hbase-namenode的NFS挂载目录。
在旧环境Kubernetes Master节点中执行如下命令,获取hbase-namenode的NFS挂载目录路径:
kubectl get pvc -n {ns} | grep hbase-namenode | awk '{print $3}' | xargs kubectl describe pv | grep Path
备注:
上述命令中的{ns}
用实际命名空间名称替换。 - 将步骤1中的NFS挂载目录下的数据拷贝至新环境hbase-namenode的NFS挂载目录中(可参照步骤1中的命令查看新环境的NFS挂载目录)。
迁移hbase-datanode数据
-
获取旧环境datanode-volume-hbase-datanode-{index}的NFS挂载目录。
在旧环境Kubernetes Master节点中执行如下命令,获取datanode-volume-hbase-datanode-{index}的NFS挂载目录路径:
kubectl get pvc -n {ns} | grep datanode-volume-hbase-datanode-{index} | awk '{print $3}' | xargs kubectl describe pv | grep Path
注意:
- 命令中的
{ns}
用实际命名空间名称替换。 - 在涉及多个目录迁移的情况下,以上命令需执行多次,执行时
{index}
分别替换为0、1、2、…、N-1。
- 命令中的
- 将步骤1中的NFS挂载目录下的数据拷贝至新环境datanode-volume-hbase-datanode-{index}的NFS挂载目录中(可参照步骤1中的命令查看新环境的NFS挂载目录)。
迁移hbase-regionserver数据
-
获取旧环境hbase-regionserver-data-volume-hbase-regionserver-{index}的NFS挂载目录。
在旧环境Kubernetes Master节点中执行如下命令,获取hbase-regionserver-data-volume-hbase-regionserver-{index}的NFS挂载目录路径:
kubectl get pvc -n {ns} | grep hbase-regionserver-data-volume-hbase-regionserver-{index} | awk '{print $3}' | xargs kubectl describe pv | grep Path
注意:
- 命令中的
{ns}
用实际命名空间名称替换。 - 在涉及多个目录迁移的情况下,以上命令需执行多次,执行时
{index}
分别替换为0、1、2、…、N-1。
- 命令中的
- 将步骤1中的hbase-regionserver-data-volume-hbase-regionserver-0 NFS挂载目录下的数据拷贝至新环境hbase-regionserver-data-volume-hbase-regionserver-0的NFS挂载目录中(可参照步骤1中的命令查看新环境的NFS挂载目录)。
迁移hbase-master数据
-
获取旧环境hbase-master-config的NFS挂载目录。
在旧环境Kubernetes Master节点中执行如下命令,获取hbase-master-config的NFS挂载目录路径:
kubectl get pvc -n {ns} | grep hbase-master-config | awk '{print $3}' | xargs kubectl describe pv | grep Path
备注:
上述命令中的{ns}
用实际命名空间名称替换。 - 将步骤1中的NFS挂载目录下的数据拷贝至新环境hbase-master-config的NFS挂载目录中(可参照步骤1中的命令查看新环境的NFS挂载目录)。
重启相关服务
重启hbase-namenode、hbase-datanode、hbase-regionserver、hbase-master和iserver-datacatalog服务。
完以上步骤,HBase迁移成功,可在新站点中正常使用。
迁移HDFS目录
迁移hdfs-namenode数据
-
获取旧环境hdfs-namenode的NFS挂载目录。
在旧环境Kubernetes Master节点中执行如下命令,获取hdfs-namenode的NFS挂载目录路径:
kubectl get pvc -n {ns} | grep hdfs-namenode | awk '{print $3}' | xargs kubectl describe pv | grep Path
备注:
上述命令中的{ns}
用实际命名空间名称替换。 - 将步骤1中的NFS挂载目录下的数据拷贝至新环境hdfs-namenode的NFS挂载目录中(可参照步骤1中的命令查看新环境的NFS挂载目录)。
迁移hdfs-datanode数据
-
获取旧环境hdfs-datanode的NFS挂载目录。
在旧环境Kubernetes Master节点中执行如下命令,获取hdfs-datanode的NFS挂载目录路径:
kubectl get pvc -n {ns} | grep hdfs-datanode | awk '{print $3}' | xargs kubectl describe pv | grep Path
备注:
上述命令中的{ns}
用实际命名空间名称替换。 - 将步骤1中的NFS挂载目录下的数据拷贝至新环境hdfs-datanode的NFS挂载目录中(可参照步骤1中的命令查看新环境的NFS挂载目录)。
重启相关服务
重启hdfs-namenode、hdfs-datanode和iserver-datacatalog服务。
完成以上步骤,HDFS目录迁移成功,可在新站点中正常使用。