GaussDB(DWS)运维管理系列基础篇四:节点修复
前言
数据库集群是由多台主机组成的,当集群中主机上的某些实例发生故障后,为了使GaussDB(DWS)快速地恢复正常,需要将发生故障的实例替换为正常实例。
集群修复流程
1.公有云修复集群
先登录到console页面,查看集群状态是否正常。
如上图所示,有个集群显示节点故障,那么就需要将该集群进行修复。
修复集群在ServiceCM平台由SRE操作。
2.线下集群修复
2.1节点修复
前提条件
① 集群处于启动状态,且处于没有加锁。
② 修复操作需要在一个正常主机上执行。
③ 一组DN的主实例、备实例和从备实例,其中只能有一个损坏。
④ 集群内如下实例分别至少存在一个正常运行的:CM Server、CM Agent、GTM、CN。
⑤ 如果集群中部署有ETCD,则正常的ETCD个数必须大于ETCD总个数的一半。
⑥ 如果集群中未部署ETCD,某个GTM实例存在故障,则要求实例替换前另外一个GTM实例必须为最高可用模式,即该GTM的所有实例都正常。
⑦ 由于在修复实例时,会检查并修复所有主机上故障的CM Agent实例,所以要求各主机必须互信正常,且安装目录下的二进制文件未被损坏。
⑧ 强制修复多节点时,由于会停止需要修复节点内的所有CN,所以如果集群的所有CN在指定修复的节点中,则不支持强制修复多节点。
⑨ 强制修复多个节点时,由于会停止需要修复节点上的所有DN主、备实例,所以指定修复的节点的DN主、备均不能在同一个DN环内。一主多备部署下,修复DN实例时,为保证数据正确,DN环中必须有CM可监控的主存活。
操作步骤
① 使用如下命令对需要替换实例的主机进行配置操作。
gs_replace -t config -h plat1, plat2
② 使用如下命令对需要修复实例的主机进行启动操作。
gs_replace -t start -h plat1 , plat2
③ 使用如下命令对需要修复实例的主机进行启动操作。
gs_om -t switch --reset
2.2替换故障主机
2.2.1替换主机,不换ip
集群的主机出现故障,需要使用新的主机进行替换,如果新主机的IP和主机名称和故障主机保持一致,则可以使用命令直接进行替换。
① 执行如下命令完成新增主机的安装操作。
gs_replace -t install -h plat3
② 执行如下命令完成新增主机的配置操作。
gs_replace -t config -h plat3
③ 执行如下命令完成新增主机的启动操作。
gs_replace -t start -h plat3
④ 执行如下命令恢复集群初始状态,以保证负载均衡。
gs_om -t switch --reset
2.2.2替换主机,换ip
替换主机-换IP的方案相当于集群温备方案,即无需修改新机IP、hostname的情况下,将处于运行状态的主机直接替换为新机。
使用如下命令将主机直接替换为新机。
① 准备环境前置。
./gs_preinstall -U ommdbadmin -G wheeldbgrp -X …/clusterconfig.xml --alarm-type=1
xml为集群新换主机节点的xml
② 执行如下命令进行替换主机操作。
gs_replace -t warm-standby -X clusterconfig.xml
③ 执行如下命令恢复集群初始状态,以保证负载均衡。
gs_om -t switch --reset
修复问题定位:
日志路径:
公有云:/home/Ruby/log/
线下:$GAUSSLOG/gs_replace.log
想了解GuassDB(DWS)更多信息,欢迎微信搜索“GaussDB DWS”关注微信公众号,和您分享最新最全的PB级数仓黑科技,后台还可获取众多学习资料哦~
- 点赞
- 收藏
- 关注作者
评论(0)