如果您的資料庫高可用性叢集中的主要節點失敗,並且升階了新的主要節點,則必須解除登錄失敗的主要節點,以將其從叢集中移除並避免叢集狀態資料不一致。

必要條件

  • 若要解除登錄不在執行中的主要節點,您必須提供節點識別碼。若要找到 IP 位址,請檢查叢集的狀態並找到節點。在該資料列中,使用 [連線字串] 資料行中的主機值以識別節點的 IP 位址。請參閱〈檢查資料庫高可用性叢集的狀態〉
  • 確認失敗的主要節點處於非作用中狀態並且未跟隨任何待命節點,然後升階新的主要節點。

程序

  1. root 身分登入或使用 SSH 登入叢集中任何執行中節點的作業系統。
  2. 將使用者變更為 postgres
    sudo -i -u postgres
  3. (選擇性) 若要確認是否滿足解除登錄節點的必要條件,請執行具有 --dry-run 選項的命令。
    /opt/vmware/vpostgres/current/bin/repmgr primary unregister --node-id=node ID --dry-run
  4. 解除登錄節點。
    /opt/vmware/vpostgres/current/bin/repmgr primary unregister --node-id=node ID

結果

此作業會從 repmgr 中繼資料移除節點。