手動容錯移轉至主要或次要執行個體

本文說明如何手動將區域內的主要或次要執行個體容錯移轉至待命節點。

手動觸發容錯移轉的常見用途包括:

  • 可用區重新平衡:在自動容錯移轉將作用中節點移至待命可用區後,將節點換回偏好的可用區。
  • 疑難排解:如果主要節點發生效能問題,但未觸發自動容錯移轉,請容錯移轉至待命節點。
  • 控管維護作業:在維護期間前手動啟動容錯移轉,控管連線中斷的短暫時間。

主要和次要執行個體的高可用性

AlloyDB for PostgreSQL 支援主要和次要執行個體的高可用性。

主要執行個體的高可用性

為確保高可用性 (HA),每個 AlloyDB 主要執行個體都有一個作用中節點和一個待命節點,這兩個節點位於不同區域。如果作用中節點無法使用,AlloyDB 會自動容錯移轉主要執行個體至待命節點,讓待命節點成為新的作用中節點。

您可以隨時手動將主要執行個體容錯移轉至待命節點,即使作用中節點運作正常也一樣。啟動手動容錯移轉時,AlloyDB 會執行下列動作:

  1. 讓主要節點離線。

  2. 將待命節點變成新的有效節點。

  3. 重新啟用先前的作用中節點,做為新的待機節點。

手動容錯移轉會交換主要執行個體節點的有效和待命角色。您可以隨時觸發手動容錯移轉,讓系統執行這項交換作業。

舉例來說,假設您有一個主要執行個體,其作用中和待命節點分別位於 us-central1-aus-central1-b 區域。us-central1-a 發生中斷時,系統會觸發自動容錯移轉,導致 us-central1-b 區域代管作用中節點。如果希望將作用中節點保留在 us-central1-a 區域,可以手動啟動容錯移轉,讓 AlloyDB 將主要執行個體節點換回停機前的所在位置。

執行維護作業時,高可用性主要執行個體和基本執行個體通常只會停機不到一秒。手動容錯移轉是有意執行的受控程序,因此不適用於模擬意外的硬體或網路故障。您可以改用故障注入功能,測試主要執行個體的高可用性

次要執行個體的高可用性

AlloyDB 提供次要執行個體的高可用性,支援災難復原,並在次要執行個體無法使用時減少停機時間。

根據預設,系統會在次要執行個體上設定 HA。

AlloyDB 次要執行個體包含下列節點:

  • 一個作用中的次要節點,可回應要求
  • 待命次要節點

主動和待命節點位於同一區域中的兩個不同可用區。如果 AlloyDB 偵測到有效節點無法使用,有效節點會容錯移轉至待命節點,並做為新的有效節點。然後將資料重新導向至新的作用中節點。這項程序稱為「容錯移轉」

事前準備

  • 您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權
  • 您必須在使用的 Google Cloud 專案中具備下列任一 IAM 角色:
    • roles/alloydb.admin (AlloyDB 管理員預先定義的 IAM 角色)
    • roles/owner (擁有者基本 IAM 角色)
    • roles/editor (編輯者基本 IAM 角色)

    如果您不具備上述任一角色,請與組織管理員聯絡,並要求存取權。

對主要執行個體執行手動容錯移轉

控制台

  1. 前往「Clusters」(叢集) 頁面。

前往叢集

  1. 在「資源名稱」欄中,按一下叢集名稱。

  2. 在「叢集內的執行個體」部分,開啟主要執行個體的 執行個體動作選單

  3. 按一下「Failover」

  4. 在隨即顯示的對話方塊中,輸入執行個體的 ID。

  5. 按一下「觸發容錯移轉」

gcloud

執行 gcloud alloydb instances failover 指令:

gcloud alloydb instances failover INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID

更改下列內容:

  • INSTANCE_ID:執行個體的 ID。
  • REGION_ID:執行個體所在的區域。
  • CLUSTER_ID:執行個體所在的叢集 ID。
  • PROJECT_ID:叢集所在的專案 ID。

如要確認容錯移轉是否正常運作,請按照下列步驟操作:

  1. 執行容錯移轉之前,請記下主要執行個體節點的可用區

  2. 執行容錯移轉後,請記下這兩個節點的新區域。

  3. 確認作用中和待命節點的區域已互換。

在次要執行個體上執行手動容錯移轉

手動容錯移轉次要執行個體的步驟,與手動容錯移轉主要執行個體的步驟類似。

如要手動容錯移轉次要叢集,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Clusters」(叢集) 頁面。

    前往叢集

  2. 在「資源名稱」欄中,按一下次要叢集的名稱。

  3. 在「總覽」頁面中,前往「叢集內的執行個體」部分,選擇次要執行個體,然後點選「容錯移轉」

  4. 在隨即顯示的對話方塊中輸入執行個體 ID,然後按一下「觸發容錯移轉」

gcloud

如要使用 gcloud CLI,可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell

使用 gcloud alloydb instances failover 指令,強制次要執行個體容錯移轉其待命執行個體。

 gcloud alloydb instances failover SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID

更改下列內容:

  • SECONDARY_INSTANCE_ID:要容錯移轉的次要執行個體 ID。
  • SECONDARY_CLUSTER_ID:次要執行個體相關聯的次要叢集 ID。
  • REGION_ID:次要執行個體所在區域的 ID,例如 us-central1
  • PROJECT_ID:次要叢集專案的 ID。

後續步驟