400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
系统配置参数
SQL 参考
常见问题(FAQ)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 FAQ
本文档介绍了镜像节点实例(Mirror)迁移工具 mxmoveseg。
注意!
mxmoveseg 只用于迁移gp_segment_configuration
表中role
(当前角色)为m
(mirror)的节点实例,与preferred_role
(原始角色)列无关。
注意!
在使用此工具前,你需要自行判断当前所有服务器是否健康,如存在异常服务器,还需了解异常的服务器具体为哪些,以确保健康的服务器全部可以被 mxmoveseg 收集到信息。
以下是详细的命令行参数信息介绍:
参数名 | 描述 |
---|---|
--config | 为将要迁移的 Mirror 创建一个配置文件 |
--plan | 为将要迁移的 Mirror 创建迁移计划 |
--setup | 执行计划步骤以实行迁移 |
-h / --help | 打印帮助信息 |
注意!
新服务器需按照 YMatrix 相关部署文档安装好同版本 YMatrix 的 RPM/DEB 包,但不可实施在图形化界面初始化新集群的步骤。
注意!
新服务器可以存在大版本和旧服务器不同的 YMatrix 集群(例如旧机器上存在 YMatrix 4.8 的集群,新机器上存在 YMatrix 5.1 的集群)。
收集当前已有数据库集群的信息。clusterid 可使用 more /etc/matrixdb5/cluster.conf
查看。
[<用户名称>@<Master 主机名> ~]$ sudo /opt/ymatrix/matrixdb5/bin/mxctl expand init --cluster-id <clusterid> --unrestrict > /tmp/init
添加新服务器。
[<用户名称>@<Master 主机名> ~]$ cat /tmp/init | sudo /opt/ymatrix/matrixdb5/bin/mxctl expand add --unrestrict --host <newhost> > /tmp/initadd
检查收集到信息的服务器之间网络是否连通。
[<用户名称>@<Master 主机名> ~]$ cat /tmp/initadd | sudo /opt/ymatrix/matrixdb5/bin/mxctl expand netcheck > /tmp/netcheck
切换到 mxadmin 用户。
[<用户名称>@<Master 主机名> ~]$ sudo su - mxadmin
创建迁移配置文件,并根据生成的文件内部提示的信息配置需要迁移的实例。
$ mxmoveseg config --db-cluster-id <clusterid> --filename /tmp/migrate.cfg
# 配置文件创建完成后,请根据文件内容里的提示信息,人工编辑需要迁移的节点实例的 dbid(连接数据库后,执行 SELECT * FROM gp_segment_configuration; 查看 dbid)、主机名称等。SPEC:如果新服务器与旧服务器存在端口冲突,则需在文件中指配新的端口
$ vim /tmp/migrate.cfg
生成迁移计划。
$ mxmoveseg plan --init-file /tmp/netcheck --config-file /tmp/migrate.cfg > /tmp/plan
执行迁移。
$ mxmoveseg setup --plan-file /tmp/plan --mode cli
迁移成功后,可以使用图形化界面:“集群管理” - “集群概况” - “实例视图” 或使用 SELECT * FROM gp_segment_configuration
SQL 语句查看迁移 Mirror 的状态。
警告!
如果源迁移服务器为离线状态,那么离线的旧服务器即使在迁移完成后,也不可重新开启。如果开启,则旧的管理进程会被自动拉起,和新的管理进程存在服务发现的冲突,导致集群异常。
收集当前已有数据库集群的信息。clusterid 可使用 more /etc/matrixdb5/cluster.conf
查看。
[<用户名称>@<Master 主机名> ~]$ sudo /opt/ymatrix/matrixdb5/bin/mxctl expand init --cluster-id <clusterid> --unrestrict > /tmp/init
检查收集到信息的服务器之间网络是否连通。
[<用户名称>@<Master 主机名> ~]$ cat /tmp/init | sudo /opt/ymatrix/matrixdb5/bin/mxctl expand netcheck > /tmp/netcheck
切换到 mxadmin 用户。
[<用户名称>@<Master 主机名> ~]$ sudo su - mxadmin
创建迁移配置文件,并根据生成的文件内部提示的信息配置需要迁移的实例。
$ mxmoveseg config --db-cluster-id <clusterid> --filename /tmp/migrate.cfg
# 配置文件创建完成后,请根据文件内容里的提示信息,人工编辑需要迁移的 Mirror 的 dbid(连接数据库后,执行 SELECT * FROM gp_segment_configuration; 查看 dbid)、主机名称等。SPEC:如果待迁移服务器与旧服务器存在端口冲突,则需在文件中指配新的端口
$ vim /tmp/migrate.cfg
生成迁移计划。
$ mxmoveseg plan --init-file /tmp/netcheck --config-file /tmp/migrate.cfg > /tmp/plan
执行迁移。
$ mxmoveseg setup --plan-file /tmp/plan --mode cli
迁移成功后,可以使用图形化界面:“集群管理” - “集群概况” - “实例视图” 或使用 SELECT * FROM gp_segment_configuration
SQL 语句查看迁移 Mirror 的状态。