磐维数据库主节点坏死之扩缩恢复

概述

环境

  • 系统: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元数据、集群静态配置文件、集群动态配置文件和数据节点配置的调整,容易忽略某些关键步骤导致无法恢复集群。