当前位置: 首页 > news >正文

GaussDB 数据库架构师修炼(六)-3 集群工具管理-主备倒换

1 业务背景

  • switchover为维护操作,确保集群状态正常,所有业务结束,并使用pgxc_get_senders_catchup_time()视图查询无主备追赶后,再进行switchover操作。

[Ruby@hcd1 ~]$ gsql -d postgres -p 8000 -ar
gsql ((GaussDB Kernel 505.2.1 build 159cea95) compiled at 2024-12-27 09:22:44 commit 10161 last mr 21504 release)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.gaussdb=# select pgxc_get_senders_catchup_time();pgxc_get_senders_catchup_time
-------------------------------
(0 rows)gaussdb=#
  • switchover前主动执行一次CHECKPOINT,保证脏页刷盘完成,避免switchover执行超时。

2 命令格式

cm_ctl switchover{ -z <AZ_NAME> | -n <NODE_ID> -D <DATA_DIR> [-q]  [-f] | -a [-q] | -A} [-t <SECS>]

3 参数说明

  • -z <AZ_NAME>:将所有GTM、DN主实例切换到指定AZ,AZ_NAME为AZ名称,可通过cm_ctl query -Cvz ALL命令查询。

  • -n <NODE_ID>:将指定的实例切换为主实例,NODE_ID为节点名称,可通过cm_ctl query -Cv命令查询。-n参数需要和-D参数一起使用。

  • -D <DATA_DIR>:将指定的实例切换为主实例,DATA_DIR为指定实例数据目录,可通过cm_ctl query -Cvd命令查询。-D参数需要和-n参数一起使用。

  • -f:指定进行-f类型switchover。-f参数需要和-n以及-D参数一起使用。

  • -a:重置集群主备关系为初始配置状态。

  • -A:将所有GTM、DN实例统一从主切换到备,并选择相应分片的其它实例升主。

  • -t <SECS>:指定超时时间。超时后,会退出并报错。不设置该参数时,cm_ctl switchover命令默认超时时间为120s。

4 示例

1)指定AZ的数据库主备倒换:

cm_ctl switchover -z AZ1

2)指定实例的数据库主备倒换:

cm_ctl switchover -n 1 -D /data1/omm/cluster/data/datanode1p

3)将所有GTM、DN实例统一从主切换到备,并选择相应分片的其它实例升主:

cm_ctl switchover -A

4)重置集群主备关系为初始配置状态:

cm_ctl switchover -a

5) DCC模式下指定cm_server主备切换:

cm_ctl switchover -n 1 -D /data1/omm/cluster/cm/cm_server

5 批注

 在有些场景需要做主备切换,如灰度升级,临时解决内存过载等问题。

    http://www.lryc.cn/news/612430.html

    相关文章:

  • prometheus+Grafana 监控中间件项目
  • 202506 电子学会青少年等级考试机器人四级实际操作真题
  • 架构层防护在高并发场景下的实践
  • 机器学习-LinearRegression
  • 机器学习模型调优实战指南
  • 机器学习——SVM
  • 居家养老场景下摔倒识别准确率提升 29%:陌讯动态姿态建模算法实战解析
  • 第五十一章:AI模型服务的“百变面孔”:WebUI/CLI/脚本部署全解析
  • 从原理图到PCB的布局
  • LiveQing视频RTMP推流视频点播服务功能-云端录像支持按时间段下载录像时间段下载视频mp4
  • STM32的PWR
  • 引领GameFi 2.0新范式:D.Plan携手顶级财经媒体启动“龙珠创意秀”
  • ZYNQ实现FFT信号处理项目
  • Python科学计算:从基础到工程仿真的完整指南
  • 指挥中心自动化的演变
  • cygwin+php教程(swoole扩展+redis扩展)
  • Redis使用的常见问题及初步认识
  • JDK17新特性全解析
  • TFTP: Linux 系统安装 TFTP,文件系统启动后TFTP使用
  • win服务器系统10060问题解决
  • 【CSS】动态修改浏览器滚动条宽度
  • 楼宇自控系统对建筑碳中和目标的实现具重要价值
  • mysql死锁的常用解决办法
  • Java 里的Tree初认识
  • 【概念学习】什么是深度学习
  • 12、Docker Compose 安装 Redis
  • Effective C++ 条款25:考虑写出一个不抛异常的swap函数
  • 【前端开发】五. ES5和ES6对比
  • imx6ull-驱动开发篇11——gpio子系统
  • 常用排序方法