6.2. 检查 MariaDB 集群的完整性

要调查 MariaDB Galera 集群的问题,请通过检查每个 Controller 节点上的特定 wsrep 数据库变量来检查整个集群的完整性。

流程

  • 运行以下命令,并将 &lt ;variable > 替换为您要检查的 wsrep 数据库变量:

    $ sudo podman exec galera-bundle-podman-0 sudo mysql -B --password="[MYSQL-HIERA-PASSWORD]" -e "SHOW GLOBAL STATUS LIKE <variable;"

    以下示例演示了如何查看节点的集群状态 UUID:

    $ sudo podman exec galera-bundle-podman-0 sudo mysql -B --password="[MYSQL-HIERA-PASSWORD]" -e "SHOW GLOBAL STATUS LIKE 'wsrep_cluster_state_uuid';"
    
        +--------------------------+--------------------------------------+
        | Variable_name            | Value                                |
        +--------------------------+--------------------------------------+
        | wsrep_cluster_state_uuid | e2c9a15e-5485-11e0-0800-6bbb637e7211 |
        +--------------------------+--------------------------------------+

下表列出了可用于检查集群完整性的 wsrep 数据库变量。

表 6.1. 用于检查集群完整性的数据库变量

变量概述描述

wsrep_cluster_state_uuid

集群状态 UUID

节点所属的集群的 ID。所有节点必须具有相同的集群 ID。具有不同 ID 的节点没有连接到集群。

wsrep_cluster_size

集群中的节点数

您可以在任何节点上检查它。如果值小于实际的节点数量,则某些节点会失败或丢失连接。

wsrep_cluster_conf_id

集群更改总数

决定集群是否被分成几个组件,还是分区。分区通常由网络失败造成的。所有节点必须具有相同的值。

如果某些节点报告不同的 wsrep_cluster_conf_id,请检查 wsrep_cluster_status 值,以查看节点是否仍然可以写入集群()。

wsrep_cluster_status

主要组件状态

确定节点是否可以写入集群。如果节点可以写入集群,则 wsrep_cluster_status 值为 Primary。任何其他值表示节点是不可调度的分区的一部分。