若要對資料庫高可用性叢集中的問題進行疑難排解,您必須監控叢集中節點與事件的狀態。

程序

  1. root 身分登入或使用 SSH 登入叢集中任何執行中儲存格的作業系統。
  2. 將使用者變更為 postgres
    sudo -i -u postgres
  3. 檢查叢集的狀態。
    上游資料行會顯示目前的主要節點。
    /opt/vmware/vpostgres/current/bin/repmgr cluster show

    主控台輸出會顯示叢集資訊。在下列範例中,叢集中的主要節點 (節點 3) 的狀態為無法連線。

         ID |  Name    | Role    | Status         | Upstream   | Location | Connection string
    --------+----------+---------+----------------+------------+----------+------------------------
     Node 1 | Node name | standby |     running   | Node 3 name| default | host=host IP address user=repmgr dbname=repmgr
     Node 2 | Node name | standby |     running   | Node 3 name| default | host=host IP address user=repmgr dbname=repmgr
     Node 3 | Node name | primary | ? unreachable |            | default | host=host IP address user=repmgr dbname=repmgr

    在下列系統輸出範例中,節點 3 為正常執行的叢集中的主要節點。

     
         ID |  Name     | Role    | Status   | Upstream  | Location| Connection string
    --------+-----------+---------+----------+-----------+---------+------------------------
     Node 1 | Node name | standby |  running | Node3 name| default | host=host IP address user=repmgr dbname=repmgr
     Node 2 | Node name | standby |  running | Node3 name| default | host=host IP address user=repmgr dbname=repmgr
     Node 3 | Node name | primary | *running |           | default | host=host IP address user=repmgr dbname=repmgr
  4. 檢查叢集事件記錄。
    /opt/vmware/vpostgres/current/bin/repmgr -f /opt/vmware/vpostgres/current/etc/repmgr.conf cluster event
    系統輸出會顯示叢集中的建立、複製和登錄事件。

後續步驟

如果主要節點的狀態為無法連線失敗,則必須升階待命節點。

如果待命節點的狀態為無法連線失敗,則修復節點並啟動 PostgreSQL 服務 (如果該服務未執行)。