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

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

總覽

跨區域備援機制有兩種常見的使用情境:

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

這兩種用途都需要設定跨區域複製作業,然後升級備用資源。兩者的主要差異在於備份資料庫的升級是否為預先規劃 (區域遷移的情況),或是非預期的 (因為主要資料庫無法使用,因此需要備份資料庫的區域來繼續運作)。

區域遷移

您可以使用跨區域複本,將資料庫遷移至其他區域,並盡可能縮短停機時間。一般來說,您可以在其他區域建立複本,等待複本追上,然後將其升級,並將用戶端導向新升級的例項。

升級的步驟與升級區域內備援機制相同;請按照這些操作說明操作,確保新升級的執行個體包含所有已提交至原始主要執行個體的交易。升級備援資源並確認新升級的執行個體運作正常後,請更新所有資料庫用戶端,以便連線至新執行個體。

災難復原 (DR)

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

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

進階災難復原 (DR)

如果您使用的是 Cloud SQL Enterprise Plus 版本,可以將跨區域唯讀備用資源指定為災難復原備用資源 (DR 備用資源),以便進行進階災難復原 (DR)。使用進階的 DR 功能時,您可以執行備用資源容錯移轉,將主要執行個體取代為指定的 DR 備用資源。舊的主要執行個體會成為已提升的 DR 備用資源的備用資源。您只能將備用資源容錯移轉至指定的 DR 備用資源。您仍可在不進行容錯移轉的情況下,將其他讀取用途備用資源升級為主要執行個體。

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

詳情請參閱「進階災難復原 (DR)」。進階 DR 目前為預先發布版

確認容錯移轉條件

由於複製作業是非同步的,因此當區域發生停機問題並嘗試容錯移轉時,一些最近已提交至主要資料庫的交易可能會遺失 (不會複製至副本)。當主要執行個體無法使用時,請按照下列步驟操作:(1) 如何判斷跨區容錯移轉可能遺失的資料量 (如果有),以及 (2) 如何確保升級的複本盡可能反映最近的寫入作業。

首先,請在監控資訊主頁中查看備用執行個體的 Replication Lag 值,該值以秒為單位,表示備用執行個體落後主執行個體的時間。在主資料來源無法使用之前,這個指標的值會指出在將交易提交至主資料來源期間,可能遺失的時間範圍。舉例來說,如果 Replication Lag 顯示 5 秒,則備援資料庫可能會遺漏主要資料庫在無法使用前的 5 秒內寫入的資料。(實際遺失的資料量可能會比這少,因為 Replication Lag 還包含備援節點已成功接收但尚未套用的交易)。

接著,按照「複製狀態」頁面中的指示,使用 MySQL 用戶端連線至備援執行個體 (請參閱「MySQL 用戶端」分頁)。請參閱 Master_Log_FileRead_Master_Log_PosRelay_Master_Log_FileExec_Master_Log_Pos 指標的操作說明。確認備援機制已處理從主要機制收到的所有交易。這可確保在升級時,備用資源會反映主要執行個體無法使用前收到的所有交易。

推送唯讀備用資源

確定符合容錯移轉條件後,您可以將其中一個備援機制升級為可寫入的獨立執行個體。請考慮下列情境:

  • 區域 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)