可以使用复制管理器工具套件检查数据库高可用性群集中节点之间的连接。

过程

  1. root 身份直接或通过 SSH 登录到群集中任何正在运行的单元的操作系统。
  2. 将用户更改为 postgres
    sudo -i -u postgres
  3. 检查群集的连接。
    • repmgr cluster matrix 命令在群集的每个节点上运行 repmgr cluster show 命令,并以矩阵的形式显示结果。
      /opt/vmware/vpostgres/current/bin/repmgr -f /opt/vmware/vpostgres/current/etc/repmgr.conf cluster matrix

      在以下示例中,节点 1 和节点 2 处于启动状态,而节点 3 处于关闭状态。每一行对应一台服务器,表示该服务器的出站连接测试结果。

      第三行中的三个条目都标有 ? 符号,这是因为节点 3 处于关闭状态,不存在出站连接的相关信息。

                 Name| Id |  1 |  2  |  3
            ---------+----+----+----+----
              node 1 |  1 |  * |  * |  x
              node 2 |  2 |  * |  * |  x
              node 3 |  3 |  ? |  ? |  ?
    • repmgr cluster crosscheck 命令交叉检查每个节点组合之间的连接,有助于更好地了解群集连接。
      /opt/vmware/vpostgres/current/bin/repmgr -f /opt/vmware/vpostgres/current/etc/repmgr.conf cluster crosscheck

      在以下示例中,运行 repmgr cluster crosscheck 命令的节点将其群集矩阵系统输出与其他节点的输出进行合并,并在节点之间执行交叉检查。在此示例中,所有节点都处于启动状态,但防火墙丢弃源自节点 1 并在节点 3 进行定向的数据包。这是一个非对称网络分区示例,其中,节点 1 无法将数据包发送到节点 3。

                 Name| Id |  1 |  2  |  3
            ---------+----+----+----+----
              node 1 |  1 |  * |  * |  x
              node 2 |  2 |  * |  * |  *
              node 3 |  3 |  * |  * |  *

下一步做什么

要确定数据库高可用性群集中的整体连接状态,请在每个节点上运行这些命令并比较结果。