对系统的影响
影响主备切换RTO和主机TPS。
可能原因
- DN节点所在服务器故障。
- DN节点所在服务器网络故障。
- DN有大量数据需要同步,无法提供服务。
- DN节点复制异常,无法修复。
处理步骤
-
根据告警信息中的节点ID,参考登录实例节点登录数据库节点。
-
如果不能,执行如下步骤进行节点替换。
-
在“实例运维 > 实例管理”页签根据实例ID找到实例。
-
单击实例名称,进入“GaussDB基本信息”页面。
-
根据告警信息中的节点ID,在“节点列表”模块中找到对应节点。
-
单击节点名称,进入节点基本信息页面,获取到服务器资源参考查看实例节点状态,确认服务器是否正常。
- 如果服务器异常,则参考《华为云Stack 8.3.1 应急预案》中的“数据库服务 > 云数据库 GaussDB > 运维案例库 > 租户面应急案例 > 节点替换”章节替换故障节点。如果替换失败,请执行6。
- 如果服务器正常,则请执行以下步骤。
-
执行如下命令,导入环境变量。
source /home/Ruby/gauss_env_file
-
执行如下指令查看DN所在节点是否网络异常
cm_ctl query -Cvid
ping
node_ip
node_ip为上图中其他节点IP地址。
- 如网络不通,请联系网络人员修复。
- 如果DN网络状态都正常,请继续执行下列步骤。
-
执行如下指令,查看所在机器的IP地址。
-
当前实例的资源类型为ECS时执行:
ifconfig eth0
-
当前实例的资源类型为BMS时执行:
ifconfig bond0
-
-
执行如下指令,查看DN的状态。
cm_ctl query -Cvid
[ Datanode State ] node instance state | node instance state | node instance state ------------------------------------------------------------------------------------------------------------------------------------- 1 25.213.52.45 6001 P Standby Normal | 2 25.213.31.245 6002 S Primary Normal | 3 25.213.63.116 6003 S Standby Down查看与4中IP相同的DN的状态。
- 如果状态不是Normal状态,参考如下步骤定位。
- 使用cm_ctl query -rv命令查看主备复制状态和日志回放状态。
- 根据node_ip字段找到当前dn的状态。确认主备机连接是否正常。
- 如果is_by_query字段为0,表明DN无法接受连接,此时可以根据speed查看日志回放速度。
- 如果is_by_query字段为1,表明此DN可以接受连接。
-
此时如果recovery_done_location为0,表明本地日志未回放完。
本地日志未回放完时,系统会显示local_replay_remain_time参数,根据local_replay_remain_time和speed查看DN回放本地日志的速度和预估剩余时间。此时DN有大量数据需要同步,暂时不能提供服务,仍需等待。
-
如果recovery_done_location不为0,则表明DN本地日志已经回放完。
-
- 如果已确认日志回放完,并使用cm_ctl query -Cvid查看集群状态,如果DN组件状态不为Normal。则参考《华为云Stack 8.3.1 应急预案》中的“数据库服务 > 云数据库 GaussDB > 运维案例库 > 租户面应急案例 > 节点修复”章节修复节点。如果修复失败,则执行6。
- 如果状态是Normal,则说明数据库已经自动修复异常组件。
- 如果状态不是Normal状态,参考如下步骤定位。
-
参考收集日志,下载节点日志,并收集告警信息和配置信息,联系技术支持进行处理。
需要下载的日志信息有:
- Agent组件下的/var/log/message
- GaussDB Kernel组件下的/var/lib/log/Ruby
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。