openGauss修改CM集群某个节点IP

文章详细记录了在OpenGauss数据库集群环境下,如何停止集群,修改主机IP,更新/etc/hosts文件,修复子用户互信,修改数据库配置文件(postgresql.conf和pg_hba.conf),以及重新生成和处理静态配置文件,最终成功启动集群的过程。

说明

环境信息

#操作系统信息
[omm@testosa ~]$ arch 
x86_64
[omm@testosa ~]$ uname -a
Linux testosa 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[omm@testosa ~]$ cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
 
[omm@testosa ~]$ cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[omm@testosa ~]$ 


#集群信息
[omm@testosa ~]$ cm_ctl query -Cvdip
[  CMServer State   ]

node       node_ip         instance                           state
---------------------------------------------------------------------
1  testosa 192.168.1.80    1    /opengauss/cmserver/cm_server Primary
2  testosb 192.168.1.81    2    /opengauss/cmserver/cm_server Standby
3  testosc 192.168.1.82    3    /opengauss/cmserver/cm_server Standby
4  testosd 192.168.1.83    4    /opengauss/cmserver/cm_server Standby

[   Cluster State   ]

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

[  Datanode State   ]

node       node_ip         instance                       state            
--------------------------------------------------------------------------
1  testosa 192.168.1.80    6001 12345  /opengauss/data/dn P Primary Normal
2  testosb 192.168.1.81    6002 12345  /opengauss/data/dn S Standby Normal
3  testosc 192.168.1.82    6003 12345  /opengauss/data/dn S Standby Normal
4  testosd 192.168.1.83    6004 12345  /opengauss/data/dn C Cascade Standby Normal
[omm@testosa ~]$ 


#版本信息
[omm@testosa ~]$ gs_ssh -c "gsql -d postgres -p 12345 -c \"select regexp_substr(version(),'.*\d{2} ') as version\""
Successfully execute command on all nodes.

Output:
[SUCCESS] testosa:
                              version                              
-------------------------------------------------------------------
 (openGauss 3.0.3 build 46134f73) compiled at 2022-12-30 20:48:06 
(1 row)

[SUCCESS] testosb:
                              version                              
-------------------------------------------------------------------
 (openGauss 3.0.3 build 46134f73) compiled at 2022-12-30 20:48:06 
(1 row)

[SUCCESS] testosc:
                              version                              
-------------------------------------------------------------------
 (openGauss 3.0.3 build 46134f73) compiled at 2022-12-30 20:48:06 
(1 row)

[SUCCESS] testosd:
                              version                              
-------------------------------------------------------------------
 (openGauss 3.0.3 build 46134f73) compiled at 2022-12-30 20:48:06 
(1 row)


[omm@testosa ~]$ 


[omm@testosa ~]$ gs_ssh -c "gaussdb -V"
Successfully execute command on all nodes.

Output:
[SUCCESS] testosa:
gaussdb (openGauss 3.0.3 build 46134f73) compiled at 2022-12-30 20:48:06 commit 0 last mr  
[SUCCESS] testosb:
gaussdb (openGauss 3.0.3 build 46134f73) compiled at 2022-12-30 20:48:06 commit 0 last mr  
[SUCCESS] testosc:
gaussdb (openGauss <
<think>好的,我现在需要回答用户关于OpenGauss数据库中OM集群CM集群的区别以及各自功能角色的问题。首先,我需要明确这两个术语的定义和它们在OpenGauss中的作用。 根据用户提供的引用内容,特别是引用[1]和引用[3],OM指的是运维管理工具(Operation Manager),要用于安装、部署和管理数据库集群。例如,引用[1]中提到解压OM安装包后生成各种脚本,如gs_preinstall,用于集群部署。而引用[3]则提到了调试OM代码,说明OM与运维操作相关。 接下来是CM集群,用户提供的引用中没有直接提到CM,但根据我对OpenGauss的了解,CM应该是Cluster Manager,负责集群的高可用性和故障转移。这可能包括节点监控、自动切换等功能。需要确认CMOpenGauss中的具体职责,比如管理节点状态、心跳检测等。 接下来需要区分两者的功能。OM更多是部署和配置工具,而CM则是运行时集群管理。例如,OM用于初始安装和配置,CM用于维护集群的稳定运行。另外,OM可能涉及配置文件如cluster_config.xml(引用[2]),而CM可能涉及节点间的通信和状态同步。 还要考虑架构层面的差异:OM可能作为外部工具运行,而CM作为数据库内部的组件运行。OM可能是次性使用的工具,而CM是持续运行的服务。此外,OM可能处理软件包的安装、依赖检查,而CM处理节点故障检测和恢复。 最后需要确保回答结构清晰,分点说明区别,并结合用户提供的引用。可能需要指出OM负责安装部署(如引用1中的script目录生成),CM负责集群管理。同时生成相关问题,如使用场景、配置方法等。</think>OpenGauss数据库中OM集群CM集群的区别及功能角色如下: ### 、OM集群(Operation Manager) 1. **核心功能** OM是运维管理工具集,要负责数据库集群的**安装部署、配置管理、升级维护**等全生命周期操作。例如通过`gs_preinstall`脚本完成环境预检,通过`cluster_config.xml`配置文件定义集群拓扑[^1][^2]。 2. **架构定位** - 属于**外部管理工具**,独立于数据库服务进程运行 - 采用集中式架构,通过SSH协议远程操作集群节点 - 包含`gs_install`、`gs_om`等命令行工具 3. **典型应用场景** ```bash # OM工具部署集群示例 ./gs_preinstall -U omm -G dbgrp -X /opt/cluster_config.xml ./gs_install -X /opt/cluster_config.xml ``` ### 二、CM集群(Cluster Manager) 1. **核心功能** CM是数据库内置的集群管理模块,专注于**高可用性保障**,实现: - 节点状态监控与心跳检测 - 自动切换(如机故障时提升机) - 脑裂防护与仲裁机制 2. **架构定位** - 属于**数据库内核组件**,以独立进程运行在每台节点上 - 采用分布式架构,节点间通过TCP/IP直接通信 - 包含`cm_agent`(节点代理)、`cm_server`(控制中心)等核心进程 3. **运行机制示例** $$ \text{健康检测周期} \Delta t \leq 10s \quad (\text{默认值}) $$ 当连续丢失3次心跳时触发故障转移[^3] ### 三、关键差异对比 | 维度 | OM集群 | CM集群 | |--------------|--------------------------------|--------------------------------| | **作用阶段** | 部署阶段 | 运行阶段 | | **数据感知** | 不接触业务数据 | 实时感知数据副本状态 | | **依赖关系** | 先通过OM完成部署才能启用CM | 需CM正常运行才能保证集群高可用 | | **日志路径** | `/var/log/gaussdb/om` | `/var/log/cm` | ### 四、协同工作示例 1. 通过OM工具创建集群后,CM自动接管集群监控 2. OM执行`gs_ctl switchover`切换时会调用CM接口完成状态同步 3. CM检测到节点故障时,会触发OM工具记录的告警事件[^4]
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值