暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【openGauss】gs_sdr灾备搭建与使用

原创 zhouwhui 2025-07-09
250

主备集群上需要配置有cm,且每个集群至少2个节点

1. 安装CM(2节点部署)

(1)集群部署xml文件中添加cm模块配置

<!--主节点配置--> <!--cm--> <PARAM name="cmsNum" value="1"/> <PARAM name="cmServerPortBase" value="15400"/> <PARAM name="cmServerListenIp1" value="192.168.1.100,192.168.1.101"/> <PARAM name="cmServerHaIp1" value="192.168.1.100,192.168.1.101"/> <PARAM name="cmServerlevel" value="1"/> <PARAM name="cmServerRelation" value="node,node2"/> <PARAM name="cmDir" value="/opt/install/cmserver"/> <!--备节点配置--> <PARAM name="cmServerPortStandby" value="15400"/> <PARAM name="cmDir" value="/opt/install/cmserver"/>

image.png

(2)cm安装(数据库已安装)

如果数据库原本未安装,在xml文件中添加配置cm配置后正常安装即可

cd /opt/install/app/tool/cm_tool ./cm_install -X /opt/software/openGauss/clusterconfig_1m1s.xml --cmpkg=/opt/software/openGauss/openGauss-CM-6.0.0-openEuler22.03-x86_64.tar.gz # -X:指定xml配置文件,文件中需要有cm的配置(配置内容看上一步) # --cmpkg:指定cm安装包

(3)修改cm参数配置(在两节点上启动自动仲裁)

cm_ctl set --param --server -k "cms_enable_failover_on2nodes=true" cm_ctl set --param --server -k "cms_enable_db_crash_recovery=true" # 配置一个未使用的网段做网络仲裁 cm_ctl set --param --server -k "third_party_gateway_ip=192.168.100.1" # 动态刷新配置 cm_ctl reload --param --server

image.png

2. 配置容灾

当前集群关系如下表所示:

初始集群角色 集群名称 节点名称 xml文件存储路径
主集群 c1 node /opt/software/openGauss/clusterconfig_1m1s_sdr.xml
node2
备集群 c2 nodeA
nodeB

(1)在主集群上(C1)创建一个用于容灾的用户

create user sdr_user password 'euler123.' replication; # replication 复制权限

(2)在主集群(C1)的主节点中的xml文件添加以下内容(在主节点上配置即可)

<PARAM name="localStreamIpmap1" value="(192.168.1.100,192.168.1.100),(192.168.1.101,192.168.1.101)"/> <PARAM name="remoteStreamIpmap1" value="(192.168.1.110,192.168.1.110),(192.168.1.111,192.168.1.111)"/> <PARAM name="remotedataPortBase" value="15432"/> <!-- localStreamIpmap1 为本集群IP --> <!-- remoteStreamIpmap1 为远端集群IP --> <!-- remotedataPortBase 为远端集群数据库运行端口 -->

image.png

(3)在备集群(C2)的主节点中的xml文件同样添加容灾配置(注意远端集群和本集群IP与主集群上的配置调换)

<!-- localStreamIpmap1 为本集群IP --> <PARAM name="localStreamIpmap1" value="(192.168.1.110,192.168.1.110),(192.168.1.111,192.168.1.111)"/> <!-- remoteStreamIpmap1 为远端集群IP --> <PARAM name="remoteStreamIpmap1" value="(192.168.1.100,192.168.1.100),(192.168.1.101,192.168.1.101)"/> <!-- remotedataPortBase 为远端集群数据库运行端口 --> <PARAM name="remotedataPortBase" value="15432"/>

3. 启动容灾

(1)在主集群上(C1)启动容灾

gs_sdr -t start -m primary -X /opt/software/openGauss/clusterconfig_1m1s_sdr.xml -U sdr_user -W 'euler123.'

image.png

(3)看到:Waiting for the main standby connection 提示表示主集群启动成功,切换到备集群(C2)启动容灾

gs_sdr -t start -m primary -X /opt/software/openGauss/clusterconfig_1m1s_sdr.xml -U sdr_user -W 'euler123.'

image.png

备集群(C2)启动成功后,主集群(C1)上的进程会自动继续,部署成功结果如下

image.png

4. 查询灾备状态

gs_sdr -t query

image.png

5. 灾备切换

(1)switchover

在备集群(C2)上执行升主

gs_sdr -t switchover -m primary

需要等待主降备后,备才能升主成功

image.png

在主集群(C1)上执行降备(会进行集群重启,生产环境需谨慎)

gs_sdr -t switchover -m disaster_standby

image.png

(2)failover

当前灾备状态为C1为备集群,C2为主集群

gs_sdr可以查看当前灾备状态,集群状态使用cm_ctl查看

  • Main Standby为首备
  • Cascade Standby为级联备

image.png

模拟主集群故障(主集群关机)后,灾备切换到备集群

image.png

在备集群(C1)上切换为主集群

gs_sdr -t failover

image.png

failover会移除灾备信息,使集群升级后成为独立集群

image.png

查询当前集群状态信息如下:

image.png

将原主集群(C2)重新启动后检查集群状态与灾备状态,C2依旧认为自己是主集群,且与当前主集群(C1)断开连接

image.png

当前主集群(C1)已脱离灾备关系

image.png

在原主集群(C2)解除灾备并重建灾备,同时在当前主集群(C1)上重建灾备

# 主集群(C1)执行 gs_sdr -t start -m primary -X /opt/software/openGauss/clusterconfig_1m1s_sdr.xml -U sdr_user -W euler123. # 备集群(C2)执行 gs_sdr -t stop -X /opt/software/openGauss/clusterconfig_1m1s_sdr.xml gs_sdr -t start -m disaster_standby -X /opt/software/openGauss/clusterconfig_1m1s_sdr.xml -U sdr_user -W euler123.

image.png

6. 解除灾备(灾备正常的情况下)

无法直接在备集群解除灾备,直接在备集群解除灾备会报如下异常

image.png

先在主集群(C1)上解除灾备

gs_sdr -t stop -X /opt/software/openGauss/clusterconfig_1m1s_sdr.xml

image.png

然后在备集群(C2)上使用failover升主,使其成为主集群且解除灾备配置,至此两个集群均作为独立主集群

gs_sdr -t failover

image.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论