作者:文超于 2022年12月09日 发布在分类 / 经验案例 / 经验案例 下,并于 2022年12月09日 编辑
2022-12-09 12:03:32版本: MCloud双管理节点数据库不同步问题处理方法
 历史版本

修改日期 修改人 备注
2023-10-13 11:36:21[当前版本] 文超 其他原因...修改判断条件
2023-10-08 15:03:02 文超 其他原因...添加判断条件
2022-12-09 12:03:32 文超 CREAT

一、组网图

不涉及

二、问题描述

MCloud 管理界面告警:管理节点数据库不同步。一般发生在意外断电后。

三、过程分析

MCloud管理节点高可用在两个节点上分别部署了mysql数据库。2个节点的数据库进行数据同步,意外断电可能导致2个数据库数据不一致,数据库停止同步。

四、解决方法

检查ha ,确认vip所在节点

 # zsha2 status

[root@MCloud-1 ~]# zsha2 status
Status report from 172.0.96.11
==============================
Owns virtual address:            yes
Self 172.0.96.11 reachable:      yes
Gateway 172.0.64.254 reachable:  yes
VIP 172.0.96.10 reachable:       yes
Peer 172.0.96.12 reachable:      yes
Keepalived status:               active
ZStack HA Monitor:               active
MySQL status:                    mysqld is alive
MN status: Running [PID:15744]
UI status: Running [PID:34681] http://172.0.96.11:5000

Slave Status:
-------------
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
                   Last_Error:
        Seconds_Behind_Master: 0
                Last_IO_Error:
               Last_SQL_Error:

 2检查数据库状态

 #zsha2 db-status

正常状态:

[root@MCloud-1 ~]# zsha2 db-status
+-----------------------+-------------------------------------+------------------------------------+
|         NAME          |         LOCAL (172.0.96.11)         |         PEER (172.0.96.12)         |
+-----------------------+-------------------------------------+------------------------------------+
| Master_Server_Id      |                                   2 |                                  1 |
| Local->Peer           |         mysql-bin.000004, 174569448 |        mysql-bin.000004, 174569448 |
| Peer->Local           |         mysql-bin.000003, 200831612 |        mysql-bin.000003, 200831612 |
| Seconds_Behind_Master |                                   0 |                                  0 |
| Skip_Counter          |                                   0 |                                  0 |
| Relay_Master_Log_File |                    mysql-bin.000003 |                   mysql-bin.000004 |
| Exec_Master_Log_Pos   |                           200831612 |                          174569448 |
| Relay_Log_File        | mariadb-relay-bin.000009, 199780887 | mariadb-relay-bin.000010, 17098682 |
| Relay_Log_Space       |                           199781183 |                           19077336 |
| Slave_IO_Running      |                                 Yes |                                Yes |
| Slave_SQL_Running     |                                 Yes |                                Yes |
| Slave_IO_State        |                               event |                              event |
| Last_IO_Error         |                                     |                                    |
| Last_SQL_Error        |                                     |                                    |
+-----------------------+-------------------------------------+------------------------------------+
若结果中slave_IO_Running和Slave_SQL_Running状态与上图不同,进行后续操作,若一致联系二线处理。

 3 备份数据库

zstack-ctl dump_mysql (双节点执行)

 4 分别停止2个管理节点服务

#zsha2 stop-node (双节点执行,先在备节点执行,执行完成后再再主节点执行)

 5 检查VIP所在节点

#zsha2 status

 6 若VIP漂移,在vip所在节点执行命令切换VIP

 # zsha2 demote

 7 vip所在节点执行命令同步数据库

#zsha2 db-sync -p zstack.mysql.password

分别开启管理节点服务

#zsha2 start-node

五、风险提示

1 进行数据库同步前必须备份,一旦恢复完成其中1个管理节点的mysql数据会被覆盖

2 操作前确认双管理节点的主节点。

六、关键字

MCloud  3.10.4  4.3.35 管理节点  数据库不同步 数据不一致


历史版本-目录  [回到顶端]
    宏杉案例知识库-V4.0.1