高可用性設定的目的是在資料庫叢集執行個體無法使用時,縮短停機時間。如果執行個體記憶體不足,就可能發生這種情況。高可用性可確保用戶端應用程式持續存取資料。
在網站中,設定是由主要執行個體和待命副本組成。對主要執行個體執行的所有寫入作業,都會在回報交易已修訂前,複寫至待命副本。如果執行個體發生故障,您可以要求待命備用資源成為新的主要執行個體。應用程式流量隨即會重新導向至新的主要執行個體。這項程序稱為「容錯移轉」。
您隨時可以手動觸發容錯移轉。容錯移轉程序依序如下:
GDC 會將主要執行個體設為離線。
GDC 會將待命副本轉換為新的作用中資料庫叢集。
GDC 會刪除先前的有效資料庫叢集。
GDC 會建立新的待命副本。
對於 AlloyDB Omni 和 PostgreSQL 資料庫叢集,您可以啟用或停用同區域高可用性。
更新現有叢集
您可以更新現有資料庫叢集的高可用性設定:
主控台
在導覽選單中選取「資料庫服務」。
在資料庫叢集清單中,按一下要更新的資料庫叢集。
在「高可用性」部分中,選取「編輯」。

選取「啟用相同可用區的待命執行個體」,即可開啟或關閉與主要資料庫叢集位於相同可用區的待命執行個體。
按一下 [儲存]。
查看資料庫叢集清單的「高可用性」欄,確認資料庫叢集是否反映高可用性更新。
gdcloud
更新資料庫叢集的高可用性設定:
gdcloud database clusters update CLUSTER_NAME \ --availability-type HA_TYPE更改下列內容:
CLUSTER_NAME:資料庫叢集的名稱。HA_TYPE:資料庫叢集的高可用性等級。您可以設定zonal或zonal_ha。系統預設會設定zonal值。
確認資料庫叢集是否反映高可用性更新:
gdcloud database clusters list
API
更新資料庫叢集的高可用性設定:
kubectl patch dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME \ -n USER_PROJECT \ -p '{"spec": {"availability": {"enableHighAvailability": HA_ENABLED}}}' \ --type=merge請替換下列變數:
DBENGINE_NAME:資料庫引擎的名稱。這是alloydbomni、postgresql或oracle。DBCLUSTER_NAME:資料庫叢集的名稱。USER_PROJECT:建立資料庫叢集的使用者專案名稱。HA_ENABLED:資料庫叢集的高可用性等級。您可以設定true或false。系統預設會設定false值。
確認資料庫叢集是否反映高可用性更新:
kubectl get dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME \ -n USER_PROJECT \ -o yaml
觸發容錯移轉
如果您已為資料庫叢集設定高可用性,可以觸發容錯移轉。如要觸發容錯移轉,請完成下列步驟:
主控台
在導覽選單中選取「資料庫服務」。
在資料庫叢集清單中,按一下要觸發容錯移轉的資料庫叢集。資料庫叢集必須啟用高可用性,才能進行容錯移轉。
按一下「容錯移轉」。
輸入叢集 ID 做為確認詞組,然後按一下「容錯移轉」,觸發容錯移轉程序。
gdcloud
觸發資料庫叢集的容錯移轉:
gdcloud database clusters failover CLUSTER_NAME將
CLUSTER_NAME替換為資料庫叢集的名稱。
API
apiVersion: fleet.dbadmin.gdc.goog/v1
kind: Failover
metadata:
name: FAILOVER_NAME
spec:
dbclusterRef: DBCLUSTER_NAME
請替換下列變數:
DBCLUSTER_NAME:資料庫叢集名稱。FAILOVER_NAME:容錯移轉的專屬名稱,例如failover-sample。