概述
环境
- 系统:BigCloud Enterprise Linux For Euler 21.10 LTS(x86)
- 数据库:磐维1.0
- 部署模式:集中式(一主两备)
问题:原主节点(第1节点)主机物理设备硬件故障,重装操作系统后需要恢复集群。
恢复方案
1.物理备份
2.踢出原主
上面的报错源于通信问题,去掉参数–distribute,本地单独执行
3.集群状态
4.恢复两节点状态
在各节点删除cm历史元数据、数据库配置文件postgresql.conf参数调整(如replconninfo、application_name)
5.切换验证
6.Ptk纳管集群
7.待恢复主机环境初始化
- 防火墙关闭
- seLinux关闭
- RemoveIPC关闭
- 内核参数调整
- 集群主机时间同步
- 设置网卡MTU值(可选)
- 修改资源限制
- 建立root互信、omm互信
- 创建 omm 用户与密码同步
- 安装依赖包(至少安装expect)
- 数据库安装目录创建与授权
8.Ptk扩容
9.集群状态
10.主节点切换(易主)
11.节点调整
168的集群静态配置文件、cm元数据删除、本地dn节点配置修改
169的集群静态配置文件、cm元数据删除、本地dn节点配置修改
170的集群静态配置文件、cm元数据删除、本地dn节点配置修改
12.重启集群
总结
如果节点坏死的是备节点这种情况,可以比较容易的利用已有工具直接进行扩缩恢复(如ptk的scale-out,om的gs_expasion),但如果是主节点坏死,往往意味着我们需要反复易主操作来恢复集群,易主操作涉及对cm元数据、集群静态配置文件、集群动态配置文件和数据节点配置的调整,容易忽略某些关键步骤导致无法恢复集群。