openGauss CM支持两节点部署特性

什么是CM
CM(Cluster Manager)是一款数据库管理模块。支持自定义资源监控,提供了数据库主备的状态监控、网络通信故障监控、文件系统故障监控、故障自动主备切换等能力。提供了丰富的数据库管理能力,如节点、实例级的启停,数据库实例状态查询、主备切换、日志管理等。提供了通过REST接口远程查询和接收集群状态的能力。
CM 特点
从5.0开始CM支持2节点部署,CM集群和数据库集群都能实现高可用,RPO=0

  1. CM集群高可用
    基于网关IP实现:备实例基于与网关IP的连通性判定自身是否升主,主实例基于与其与网关IP的连通性判定自身是否降备。目前支持自动故障切换和手工故障切换。

  2. 数据库集群高可用
    备实例是否failover的判定除去基于流复制状态,额外增加对数据库集群VIP(选配参数)的连通性的探测,以此降低主实例故障的误判概率,进而降低脑裂故障概率。为了确保脑裂故障时数据库集群的数据一致性,提供可配参数支持自动故障恢复和手工故障恢复。手工故障恢复需要按照特定文档及工具执行差异数据合并。

CM两节点部署的XML
root@k8s-node1 cm_server]# vi /home/omm/cluster_config.xml

<?xml version="1.0" encoding="utf-8"?> cm日常运维命令 --cm命令查看集群状态

[omm@k8s-master ~]$ cm_ctl query -Cvdi
[ CMServer State ]

node node_ip instance state

1 k8s-master 192.168.10.2 1 /dbms/huawei/opengauss/install/cm/cm_server Primary
2 k8s-node1 192.168.10.3 2 /dbms/huawei/opengauss/install/cm/cm_server Standby

[ Cluster State ]

cluster_state : Normal
redistributing : No
balanced : No
current_az : AZ_ALL

[ Datanode State ]

node node_ip instance state | node node_ip instance state

1 k8s-master 192.168.10.2 6001 /dbms/huawei/opengauss/install/data/dn P Standby Normal | 2 k8s-node1 192.168.10.3 6002 /dbms/huawei/opengauss/install/data/dn S Primary Normal

cm切换primary库命令
[omm@k8s-master ~]$ cm_ctl switchover -n 1 -D /dbms/huawei/opengauss/install/data/dn

cm_ctl: switchover successfully.
[omm@k8s-master ~]$ cm_ctl query -Cvdi
[ CMServer State ]

node node_ip instance state

1 k8s-master 192.168.10.2 1 /dbms/huawei/opengauss/install/cm/cm_server Primary
2 k8s-node1 192.168.10.3 2 /dbms/huawei/opengauss/install/cm/cm_server Standby

[ Cluster State ]

cluster_state : Normal
redistributing : No
balanced : Yes
current_az : AZ_ALL

[ Datanode State ]

node node_ip instance state | node node_ip instance state

1 k8s-master 192.168.10.2 6001 /dbms/huawei/opengauss/install/data/dn P Primary Normal | 2 k8s-node1 192.168.10.3 6002 /dbms/huawei/opengauss/install/data/dn S Standby Normal

–停止集群
[omm@k8s-master ~]$ cm_ctl stop
cm_ctl: stop cluster.
cm_ctl: stop nodeid: 1
cm_ctl: stop nodeid: 2

cm_ctl: stop cluster successfully.
[omm@k8s-master ~]$ cm_ctl query -Cvdi
[ CMServer State ]

node node_ip instance state

1 k8s-master 192.168.10.2 1 /dbms/huawei/opengauss/install/cm/cm_server Down
2 k8s-node1 192.168.10.3 2 /dbms/huawei/opengauss/install/cm/cm_server Down

–启动集群
[omm@k8s-master ~]$ cm_ctl start
cm_ctl: checking cluster status.
cm_ctl: checking cluster status.
cm_ctl: checking finished in 366 ms.
cm_ctl: start cluster.
cm_ctl: start nodeid: 1
cm_ctl: start nodeid: 2

cm_ctl: start cluster successfully.
[omm@k8s-master ~]$ cm_ctl query -Cvdi
[ CMServer State ]

node node_ip instance state

1 k8s-master 192.168.10.2 1 /dbms/huawei/opengauss/install/cm/cm_server Primary
2 k8s-node1 192.168.10.3 2 /dbms/huawei/opengauss/install/cm/cm_server Standby

[ Cluster State ]

cluster_state : Normal
redistributing : No
balanced : Yes
current_az : AZ_ALL

[ Datanode State ]

node node_ip instance state | node node_ip instance state

1 k8s-master 192.168.10.2 6001 /dbms/huawei/opengauss/install/data/dn P Primary Normal | 2 k8s-node1 192.168.10.3 6002 /dbms/huawei/opengauss/install/data/dn S Standby Normal
CM两节点特性-配置前提条件
–cm集群故障自动切换配置前提条件
third_party_gateway_ip = 192.168.10.1
cms_enable_failover_on2nodes = true
cms_network_isolation_timeout = 20

–cm集群故障手工切换配置前提条件
third_party_gateway_ip = 192.168.10.1
cms_enable_failover_on2nodes = false
cms_network_isolation_timeout = 20

–数据库集群故障自动切换配置前提条件
third_party_gateway_ip = 192.168.10.1
cms_enable_failover_on2nodes = true
cms_enable_db_crash_recovery = on

–数据库集群故障手工切换配置前提条件
third_party_gateway_ip = 192.168.10.1
cms_enable_failover_on2nodes = true
cms_enable_db_crash_recovery = off
CM 在openGauss5.0 新增的特性

  1. 高可用:CM支持VIP管理
    通过VIP可以直接找到主机,连接重连更准更快(毫秒级别);

支持主机故障,CM选出新主时,VIP漂移到新的主上;

当出现双主时,依然可以通过VIP访问到唯一一个主机,降低了双主丢数据的风险。

  1. 高可用:CM支持两节点部署
    通过引入第三方网关IP,有效解决CM集群两节点部署模式下自仲裁问题,支持CMS和DN均为2节点的部署;

同时支持动态配置CM集群故障切换策略和数据库集群脑裂故障恢复策略,从而能够尽可能确保集群数据的完整性和一致性。

  1. 高可用:CM磁盘只读检测能力增强
    只读状态从数据库获取,保证准确性;

只读仲裁只仲裁当前超过阈值的实例,其他节点不受影响;

主机只读保护后自动主备切换,选可用备机升主保证集群能正常提供工作。

  1. 高可用:CM易用性提升
    支持一键式关闭CM集群服务;

支持和内核的安装部署解耦;

支持按事件调用用户自定义脚本;

支持CM组件单独升级,增强数据库集群可靠性;

CM根据配置信息,支持用户自定义组件的监控和管理
原文链接:https://www.hikunpeng.com/developer/techArticles/20240228-6?envFlag=1

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenGauss是基于PostgreSQL的企业级数据库,提供了高性能、安全性以及可扩展性。以下是OpenGauss企业版单节点安装的基本步骤,但请注意,实际操作可能需要根据官方文档或最新版本的要求进行调整: 1. **准备工作**: - 下载OpenGauss安装包:访问OpenGauss官方网站下载适用于你操作系统和硬件环境的最新版本。 - 准备所需的系统配置:包括磁盘空间、内存、网络等。 2. **安装前的环境检查**: - 检查操作系统是否满足OpenGauss的最低要求(比如Linux内核版本)。 - 确保所有依赖项(如GCC、Python等)已安装并更新至最新版本。 3. **运行安装脚本**: - 使用终端或命令行工具,解压下载的安装包并进入目录。 - 运行`./configure`命令,指定安装路径、数据目录等选项。 ``` ./configure --prefix=/path/to/opengauss --enable-thread-safe ``` 4. **编译和安装**: - 如果一切配置正常,执行`make all`进行编译,然后`make install`完成安装。 ``` make all sudo make install ``` 5. **启动数据库服务**: 安装完成后,你可以使用`pg_ctl`工具启动服务,例如: ``` sudo /usr/local/opengauss/bin/pg_ctl start -D /path/to/opengauss/data ``` 6. **首次运行数据库**: 需要创建管理员用户和初始化数据库,可以使用`createdb`命令: ``` createdb -U postgres template0 psql -U postgres -c "CREATE DATABASE mydatabase;" ``` 7. **配置和管理**: 根据需求,编辑配置文件(如`postgresql.conf`),设置监听地址、日志级别等,并对权限和性能进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值