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

Lakehouse for Apache Iceberg 支援目錄中繼資料的跨區域複製和災難復原。

這項設定需要以 Cloud Storage 雙區域多區域 bucket 為後盾的目錄。

事前準備

  1. 確認專案已啟用計費功能 Google Cloud

  2. 啟用 BigLake API。

    啟用 API 時所需的角色

    如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 API

必要的角色

如要取得在 Lakehouse 執行階段目錄中使用 Iceberg REST 目錄端點所需的權限,請要求管理員授予您下列 IAM 角色:

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

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

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

複製和災難復原工作流程

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

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

準備進行容錯移轉

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

查看複製狀態

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

gcloud biglake iceberg catalogs describe CATALOG_NAME

CATALOG_NAME 替換為目錄名稱。

查看同步狀態

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

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

更改下列內容:

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

啟動容錯移轉

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

軟式容錯移轉

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

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

更改下列內容:

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

硬式容錯移轉

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

gcloud 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 時間戳記,做為複製作業的查核點。複製程序會驗證副本是否包含在此時間之前提交的所有資料。如果副本未包含在此時間戳記之前提交的所有資料,指令就會失敗。如要強制執行容錯移轉程序,而不論複製延遲時間為何,請將這個時間戳記設為很久以前的日期。注意:這項功能目前為搶先版,REPLICATION_TIMESTAMP只會追蹤目錄中繼資料,而非 Cloud Storage 檔案。如要將資料遺失的下限維持在較低水準,請參閱 Cloud Storage 的「資料可用性和耐久性」說明文件。

後續步驟