推送備用資源,以進行區域性遷移或災難復原

本頁說明如何使用及升級跨區域唯讀備用資源 (在與主要區域不同的區域中建立的備用資源),以進行區域遷移或災難復原。

總覽

升級跨區域副本有兩種常見情況:

  • 區域遷移:將資料庫有計畫地遷移至其他區域。
  • 災難復原:如果主要區域無法使用,請將資料庫容錯移轉至其他區域。

這兩種用途都涉及設定跨區域複製作業,然後升級備用資源。兩者的主要差異在於是否要升級副本。如果是區域遷移,升級副本是預先規劃好的;如果主要資源無法使用,需要容錯移轉至副本的區域才能繼續運作,升級副本就是非預先規劃好的。

高可用性是指在發生故障或可用區服務中斷時,備用執行個體 (並非副本) 會自動成為主要執行個體。

區域遷移

您可以透過跨區域副本,將資料庫遷移至其他區域,並將停機時間縮到最短。一般概念是在另一個區域建立副本,等待副本趕上進度,然後升級副本,並將用戶端導向新升級的執行個體。

升級程序與升級區域內副本相同,請按照這些操作說明進行,確保新升級的執行個體包含所有已提交至原始主要執行個體的交易。升級副本並確認新升級的執行個體運作正常後,請更新所有資料庫用戶端,連線至新執行個體。

災難復原 (DR)

跨區域副本可用於災難復原程序。如果主要執行個體所在的區域長時間無法使用,您可以升級跨區域備用資源,容錯移轉至其他區域。

如要進一步瞭解災難復原,請參閱「關於 Cloud SQL 中的災難復原」。

進階災難復原 (DR)

如果您使用 Cloud SQL Enterprise Plus 版本,可以建立可串聯的副本,並將其做為災難復原副本 (DR 副本),以進行進階災難復原 (DR)。使用進階 DR 時,您可以執行備用資源容錯移轉,以指定的 DR 備用資源取代主要執行個體。舊的主要執行個體會成為升級災難復原副本的副本。您只能對指派的 DR 副本執行副本容錯移轉。您還是可以宣傳其他唯讀副本,不必進行容錯移轉。

如要在備用資源容錯移轉後,將部署作業恢復為原始狀態,且不會遺失任何資料,可以執行切換作業。由於舊的主要執行個體是新主要執行個體的副本,因此您可以再次切換角色,還原舊的主要執行個體。

詳情請參閱「進階災難復原 (DR)」。

驗證容錯移轉條件

由於複製作業是非同步,因此發生區域中斷並嘗試容錯移轉時,系統可能會遺失最近提交至主要區域的部分交易 (未複製到複本)。每當主要執行個體無法使用時,下列步驟會說明 (1) 如何判斷跨區域容錯移轉可能遺失的資料量 (如有),以及 (2) 如何確保升級的副本盡可能反映最近的寫入作業。

您可以使用 SQL Server Management Studio (SSMS) 中的「Always On Availability Group」資訊主頁,或使用其他工具 檢查複本的複製狀態。如要進一步瞭解如何使用 Transact-SQL,請參閱下列文章:

升級唯讀副本

確認符合容錯移轉條件後,您可以將其中一個副本升級為可寫入的獨立執行個體。請參考下列情境:

  • 區域 A (us-central1) 具有高可用性主要執行個體 (db-a-0)
  • 區域 B (us-west1) 具有 db-a-0 的高可用性跨區域副本 (db-b-1)
  • 區域 C (us-east1) 具有 db-a-0 的跨區域副本 (db-c-1)

您可以選擇將 B 區域中的 db-b-1 升級為獨立的可寫入執行個體。

如需詳細操作說明,請參閱「升級副本」。

確認機型是否合適

請監控執行個體上的指標 (例如 CPU 和記憶體用量),確保新升級的執行個體機型適合工作負載。如果新升級的執行個體比先前的主要執行個體小,建議您調整升級後的執行個體大小,使其與先前的主要執行個體相符,這樣才能處理相同的工作負載量。

為升級的執行個體啟用高可用性

如要設定災難復原,建議您將要升級的副本設定為高可用性副本。或者,將新升級的執行個體設定為高可用性。如果您選擇不設定高可用性唯讀備用資源,也可以在升級執行個體時設定高可用性。

升級後,系統會自動為唯讀副本設定備份。 設定高可用性的唯讀備用資源時,做法與主要執行個體相同。詳情請參閱「設定高可用性執行個體」。

重新建立其他副本

如果將副本升級為主要執行個體,您必須重新建立先前主要執行個體的任何其他副本。舉例來說,請考量先前提及並在此重複的設定:

  • 區域 A (us-central1) 具有高可用性主要執行個體 (db-a-0)
  • 區域 B (us-west1) 具有 db-a-0 的跨區域副本 (db-b-1)
  • 區域 C (us-east1) 具有 db-a-0 的跨區域副本 (db-c-1)

如果主要執行個體 (db-a-0) 無法使用,您可以將 B 區域的副本升級為主要執行個體。如要在 A 和 C 區域中再次擁有額外備用資源,請刪除舊執行個體 (A 中的前主要執行個體和 C 中的備用資源),然後從 B 中的新主要執行個體建立新的唯讀備用資源。

產生的設定會是:

  • 區域 A (us-central1) 現在有跨區域副本 (db-a-1)
  • 區域 B (us-west1) 現在有主要執行個體 (db-b-1)
  • 區域 C (us-east1) 現在有新的跨區域副本 (db-c-2)