定義磁碟區資料還原行為


本頁提供磁碟區資料還原政策的總覽。同時也會說明如何設定磁碟區資料還原政策繫結和覆寫規則。

總覽

磁碟區資料還原政策會定義如何從備份還原磁碟區資料。您可以在還原方案層級設定這項功能。此參數提供以下政策選項:

  • 佈建新的磁碟區,並從備份還原磁碟區資料:使用備份中的對應磁碟區備份資料,還原新的永久磁碟區 (PV)。
  • 重複使用含有您資料的現有磁碟區:系統會使用備份中原始 PV 的磁碟區控制代碼,預先佈建 PV。
  • 不還原磁碟區資料:不還原 PV。GKE 專用備份功能只會還原所選的永久磁碟區要求 (PVC),並預期對應的儲存空間驅動程式會動態佈建空白 PV,或將其繫結至帶外建立的預先佈建 PV。

如需如何建立還原方案並套用磁碟區資料還原政策的操作說明,請參閱「建立還原方案」。

您可能會因為一些原因,想要定義自訂磁碟區還原行為,而非預設的磁碟區資料還原政策:

  • 如要還原工作負載,請使用儲存空間環境,其中包含不同類型的磁碟區,以及不同程度的資料備份支援。舉例來說,您的工作負載可能包含 NFS 磁碟區和永久磁碟磁碟區。
  • 對特定磁碟區套用不同的還原程序。

Backup for GKE 提供兩種機制,可定義自訂磁碟區還原行為:

  • 磁碟區類型專屬繫結,可定義為還原方案的一部分。
  • 磁碟區專屬覆寫,可定義為 還原的一部分。

磁碟區資料還原政策選取程序

在還原程序中,Backup for GKE 會依下列順序,為每個 PersistentVolumeClaim (PVC) 選取適當的磁碟區還原政策:

  1. 套用任何轉換規則前,每個要還原的 PVC 都會經過選取程序,並套用第一個適用範圍內的政策。
  2. 如果 PVC 未繫結至備份的 PersistentVolume (PV),則只會還原 PVC 設定。這不包括任何資料。
  3. 如果 PVC 包含在磁碟區資料還原政策覆寫規則中,系統會優先採用覆寫政策。
  4. 如果 PVC 的磁碟區類型包含在磁碟區資料還原政策繫結中,系統就會套用繫結政策。
  5. 如果先前的條件都不符合,PVC 會使用預設的磁碟區資料還原政策。

磁碟區資料還原政策繫結

磁碟區資料還原政策繫結可讓您使用特定磁碟區類型的政策還原磁碟區資料。這項政策的優先順序高於預設磁碟區還原政策。磁碟區資料還原政策繫結僅支援 Compute Engine 永久磁碟。

gcloud

為現有還原方案新增磁碟區資料還原政策繫結:

  gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
      --project=PROJECT_ID \
      --location=LOCATION \
      --volume-data-restore-policy-bindings=[VOLUME_TYPE=POLICY,...]

更改下列內容:

  • RESTORE_PLAN:要更新的還原計畫名稱。
  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • LOCATION:資源的運算區域,例如 us-central1
  • VOLUME_TYPE=POLICY:將支援的磁碟區類型繫結至磁碟區資料還原政策。舉例來說,gce-persistent-disk=restore-volume-data-from-backup 會建立繫結,導致系統使用「從備份還原磁碟區資料」政策還原永久磁碟磁碟區。

控制台

如要在 Google Cloud 控制台中將繫結新增至現有的還原計畫,請按照下列操作說明執行:

  1. 在 Google Cloud 控制台中,前往「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 在導覽選單中,按一下「Backup for GKE」

  3. 按一下「還原方案」分頁標籤。

  4. 按一下還原計畫名稱。

  5. 按一下 [Details] (詳細資料) 分頁標籤。

  6. 在「還原設定」部分中,按一下「範圍」旁邊的「編輯」

  7. 在「針對特定磁碟區類型定義政策覆寫設定」部分中,按一下「GCE 永久磁碟」核取方塊。

  8. 從「磁碟區資料還原政策」清單中,選擇要用於 Compute Engine 永久磁碟的還原政策類型。

  9. 按一下 [儲存變更]。

磁碟區資料還原政策覆寫規則

磁碟區資料還原政策覆寫規則會定義如何還原特定磁碟區。 磁碟區是依據 PVC 命名空間和 PVC 名稱選取。單一覆寫最多可包含多個音量。

與繫結不同,覆寫不會強制執行專屬範圍。也就是說,在還原磁碟區時,系統會使用與磁碟區命名空間和名稱相符的最新覆寫政策。

覆寫範例

以下範例會覆寫 ns-1/test-pvcns-1/test-pvc-2,以使用「重複使用內含貴機構資料的現有磁碟區」政策,並覆寫 ns-2/test-pvc-3,以使用「不要還原磁碟區資料」政策。

    volumeDataRestorePolicyOverrides:
    - policy: REUSE_VOLUME_HANDLE_FROM_BACKUP
      selectedPvcs:
        namespacedNames:
        - namespace: ns-1
            name: test-pvc
        - namespace: ns-1
            name: test-pvc-2
    - policy: NO_VOLUME_DATA_RESTORATION
      selectedPvcs:
        namespacedNames:
        - namespace: ns-2
            name: test-pvc-3

gcloud

建立還原作業並覆寫設定:

gcloud beta container backup-restore restores create RESTORE \
    --project=PROJECT_ID \
    --location=LOCATION \
    --restore-plan=RESTORE_PLAN \
    --backup=BACKUP \
    --volume-data-restore-policy-overrides-file=OVERRIDES_FILE

更改下列內容:

  • RESTORE:要建立的還原作業名稱。
  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • LOCATION:父項還原計畫的運算區域
  • RESTORE_PLAN:衍生此還原作業的父項還原計畫名稱。
  • BACKUP:要還原的備份。
  • OVERRIDES_FILE:YAML 檔案的路徑,用於定義結構定義中的覆寫內容,如範例所示。

控制台

如要建立磁碟區資料還原政策覆寫設定,您必須提供 PVC 名稱、PVC 命名空間和還原政策。

如要在 Google Cloud 控制台中建立還原作業並覆寫資料,請按照下列操作說明進行:

  1. 在 Google Cloud 控制台中,前往「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 在導覽選單中,按一下「Backup for GKE」

  3. 按一下 [備份] 分頁標籤。

  4. 在備份清單中找出要還原的備份,然後按一下「設定還原」

  5. 從適用於這項備份的計畫清單中,選擇還原計畫。

  6. 在「為還原作業命名」部分,輸入還原作業的名稱和說明 (選填)。

  7. 在「Override volume data restore policy」(覆寫磁碟區資料還原政策) 區段中,按一下「Add policy」(新增政策),然後為每個覆寫項目完成下列步驟:

    1. 在「PVC 名稱」中,輸入 PVC 的名稱。
    2. 在「命名空間」中,輸入 PVC 的命名空間。
    3. 從「磁碟區還原政策」清單中,選擇還原該 PVC 磁碟區資料的方式。
  8. 按一下「還原」

後續步驟