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。任何其他值都表示该节点是非操作分区的一部分。