使用跨區域複製和災難復原功能

本頁說明如何使用 BigLake Metastore 跨區域複製和災難復原功能。

這項功能僅適用於使用 Cloud Storage 雙區域多區域 bucket 的目錄。

事前準備

  1. Verify that billing is enabled for your Google Cloud project.

  2. Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

必要的角色

如要取得在 BigLake metastore 中使用 Iceberg REST 目錄所需的權限,請要求管理員授予下列 IAM 角色:

  • 執行管理工作,例如管理目錄使用者存取權、儲存空間存取權和目錄的憑證販售模式:
  • 以憑證販售模式讀取資料表資料: 專案的 BigLake 檢視者 (roles/biglake.viewer)
  • 以憑證販售模式寫入資料表資料: 專案的 BigLake 編輯者 (roles/biglake.editor)
  • 在非憑證臨時配發模式下讀取目錄資源和表格資料:
    • 專案的「BigLake Viewer」(BigLake 檢視者) (roles/biglake.viewer)
    • Storage 物件檢視者 (roles/storage.objectViewer) 在 Cloud Storage 值區上
  • 在非憑證臨時配發模式下管理目錄資源及寫入資料表資料:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

複製和災難復原工作流程

如要使用跨區域複製和災難復原功能,請按照下列一般步驟操作:

  1. 查看複製狀態:找出目前的主要和次要區域,判斷容錯移轉的目標區域。
  2. 檢查同步狀態:確認主要和次要區域的目前狀態,確保這些區域已準備好進行轉換。
  3. 選擇容錯移轉模式:決定要使用軟體容錯移轉 (最適合用於規劃的維護作業),還是硬體容錯移轉 (最適合用於緊急復原)。
  4. 啟動容錯移轉:執行所選模式對應的指令,切換主要和次要區域。

準備進行容錯移轉

找出目前的主要區域,並確認次要區域的同步狀態。然後啟動容錯移轉。

查看複製狀態

如要判斷目錄的複寫區域,請執行下列 gcloud alpha biglake iceberg catalogs describe 指令。

gcloud alpha biglake iceberg catalogs describe CATALOG_NAME

CATALOG_NAME 替換為目錄名稱。

查看同步狀態

啟動容錯移轉作業之前,請先使用 alpha biglake iceberg failover 指令檢查次要副本的同步狀態:

gcloud alpha biglake iceberg catalogs failover CATALOG_NAME \
    --validate_only \
    --primary-replica PRIMARY_REPLICA_REGION

更改下列內容:

  • CATALOG_NAME:目錄名稱。
  • PRIMARY_REPLICA_REGION:要指定為新主要副本的區域。

啟動容錯移轉

災難復原功能會使用中繼存放區複製功能,指派主要和次要區域。所有資料表提交中繼資料都會從主要區域提供,並複製到次要區域。您可以透過容錯移轉作業,切換目錄的主要和次要區域。

軟式容錯移轉

如要啟動軟性容錯移轉,請執行下列 alpha biglake iceberg failover 指令:

gcloud alpha biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION

更改下列內容:

  • CATALOG_NAME:目錄名稱。
  • PRIMARY_REPLICA_REGION:要指定為新主要副本的區域。

硬式容錯移轉

如要啟動硬性容錯移轉,請執行下列 alpha biglake iceberg failover 指令:

gcloud alpha biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION \
    --conditional-failover-replication-time=REPLICATION_TIMESTAMP

更改下列內容:

  • CATALOG_NAME:目錄名稱。

  • PRIMARY_REPLICA_REGION:要指定為新主要副本的區域。

  • REPLICATION_TIMESTAMP:RFC 3339 時間戳記,做為複製作業的檢查點。複製程序會驗證副本是否包含此時間點前提交的所有資料。如果副本未包含在這個時間戳記之前提交的所有資料,指令就會失敗。如要強制執行容錯移轉程序 (不論是否有任何複製延遲),請將這個時間戳記設為很久以前的日期。

後續步驟