本文說明如何建立排定的備份方案,在 Google Distributed Cloud (GDC) 實體隔離方案中,按照定義的時間表備份虛擬機器 (VM) 工作負載。
備份方案提供備份的設定和位置。備份方案包含備份設定,包括來源 VM 和要備份的 VM。備份方案會定義 VM 備份的定期排程。每個以 VM 為基礎的備份方案,都會使用 ProtectedApplication 資源中定義的標籤選取器,參照要備份的目標 VM 或 VM 磁碟資源。
本文適用於管理 VM 備份作業的平台管理員或應用程式操作員群組開發人員。詳情請參閱「GDC 實體隔離方案說明文件的目標對象」。
事前準備
如要建立 VM 備份方案,您必須具備下列條件:
要求 IAM 角色
如要管理 VM 備份資源的生命週期,包括在使用者叢集內建立、查看及刪除備份和還原方案,請要求 IAM 機構組織管理員授予您組織備份管理員 (organization-backup-admin) 角色。這個角色可讓您設定及執行 VM 資料保護策略。
建立 VM 備份計畫範本
如要規劃備份,請建立 VirtualMachineBackupPlanTemplate 自訂資源。以下是 VirtualMachineBackupPlanTemplate 的範例:
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlanTemplate
metadata:
name: BACKUP_TEMPLATE_NAME
namespace: PROJECT_NAME
spec:
backupRepository: "BACKUP_REPOSITORY_NAME"
更改下列內容:
BACKUP_TEMPLATE_NAME:備份計畫範本的名稱。PROJECT_NAME:要在其中建立範本的專案名稱。BACKUP_REPOSITORY_NAME:上一節建立的存放區名稱。
為 VM 建立定義的備份方案
如要按照定義的排程建立 VM 備份,並指定範圍,您必須使用 API 建立 VirtualMachineBackupPlan 資源。這項資源會指定 VM 備份的範圍,以及定義備份建立頻率的 Cron 排程。
您可以透過下列兩種方式設定 VM 備份方案的範圍:
- 使用清單:以清單形式指定要備份的虛擬機器或虛擬機器磁碟。這些備份目標會列在
selectedVirtualMachines和selectedVirtualMachineDisks欄位中。 - 使用標籤:提供標籤,選取含有該標籤值的所有虛擬機器或虛擬機器磁碟。這項備份方案會備份所有相符的 VM。
使用清單建立 VM 備份方案
如要使用清單方法建立 VM 備份方案,請在 selectedVirtualMachines 和 selectedVirtualMachineDisks 欄位中指定備份目標:
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlan
metadata:
name: BACKUP_PLAN_NAME
namespace: BACKUP_PLAN_NAMESPACE
spec:
virtualMachineBackupPlanTemplate: BACKUP_TEMPLATE_NAME
backupConfig:
backupScope:
selectedVirtualMachines:
- resourceName: VM_NAME
selectedVirtualMachineDisks:
- resourceName: VM_DISK_NAME
volumeStrategy: VOLUME_STRATEGY
backupSchedule:
cronSchedule: CRON_SCHEDULE
paused: false
maxConcurrency: MAX_CONCURRENCY
更改下列內容:
BACKUP_PLAN_NAME:備份方案名稱。BACKUP_PLAN_NAMESPACE:包含備份方案的命名空間。BACKUP_TEMPLATE_NAME:虛擬機器備份方案範本,指向在「建立 VM 備份方案範本」中建立的相關備份存放區。VM_NAME:selectedVirtualMachines欄位中的 VM 名稱清單。這份 VM 清單是由虛擬機器備份方案備份。如要指定多個 VM,請務必以下列格式列出 VM 名稱:selectedVirtualMachines: - resourceName: "virtualmachine" - resourceName: "virtualmachine-2" ... - resourceName: "virtualmachine-n"VM_DISK_NAME:虛擬機器備份方案要備份的 VM 磁碟。如要指定多個 VM 磁碟,請務必以下列格式列出磁碟:selectedVirtualMachineDisks: - resourceName: "disk-1" - resourceName: "disk-2" ... - resourceName: "disk-n"VOLUME_STRATEGY:要執行的磁碟區備份類型。您必須使用下列其中一個值:ProvisionerSpecific:運用基礎儲存空間供應器的備份和還原功能。如果includeVolumeData為true,請使用這個選項。LocalSnapshotOnly:只在本機儲存系統上建立磁碟區的時間點副本。
CRON_SCHEDULE:定義所選備份排程的 Cron 運算式。舉例來說,如果 cron 值為0 */12 * * *,系統會每 12 小時建立一次備份。排定備份作業的最短間隔時間為 10 分鐘。MAX_CONCURRENCY:指定備份方案中,可同時存在的排定備份數量上限。如果指定這項設定,則在任何時間點,這項備份方案中處於有效狀態的排定備份數量,都不得超過這個值。如未指定,則預設為 2。值必須介於 1 至 7 之間。
使用標籤建立 VM 備份方案
如要使用標籤方法建立 VM 備份方案,請在 vmResourceLabelSelector 欄位中指定與要備份的目標 VM 相符的標籤:
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineBackupPlan
metadata:
name: BACKUP_PLAN_NAME
namespace: BACKUP_PLAN_NAMESPACE
spec:
virtualMachineBackupPlanTemplate: BACKUP_TEMPLATE_NAME
backupConfig:
backupScope:
vmResourceLabelSelector:
KEY: VALUE
volumeStrategy: VOLUME_STRATEGY
backupSchedule:
cronSchedule: CRON_SCHEDULE
paused: false
maxConcurrency: MAX_CONCURRENCY
更改下列內容:
BACKUP_PLAN_NAME:備份方案名稱。BACKUP_PLAN_NAMESPACE:包含備份方案的命名空間。BACKUP_TEMPLATE_NAME:虛擬機器備份方案範本,指向在「建立 VM 備份方案範本」中建立的相關備份存放區。KEY: VALUE:標籤選取器,可將指定標籤與含有該標籤的任何 VM 配對。這項備份方案會備份在相同命名空間中找到的任何相符 VM。這個物件必須採用keys:string, values:string格式。VOLUME_STRATEGY:要執行的磁碟區備份類型。請務必使用下列其中一個值:ProvisionerSpecific:運用基礎儲存空間供應器的備份和還原功能。如果includeVolumeData為true,請使用這個選項。LocalSnapshotOnly:只在本機儲存系統上建立磁碟區的時間點副本。
CRON_SCHEDULE:定義所選備份排程的 Cron 運算式。舉例來說,如果 cron 值為0 */12 * * *,系統會每 12 小時建立一次備份。MAX_CONCURRENCY:指定備份方案中,可同時存在的排定備份數量上限。如果指定這項設定,則在任何時間點,這項備份方案中處於有效狀態的排定備份數量,都不得超過這個值。如未指定,則預設為 2。值必須介於 1 至 7 之間。
查看備份方案
使用 GDC 控制台或 kubectl 查看備份方案。
控制台
使用 GDC 控制台查看備份方案清單。
- 登入 GDC 控制台。
- 在導覽選單中,依序點選「Backup for Virtual Machines」>「備份方案」。
- 選取專案。
- 在清單中點選備份方案,即可查看詳細資料。
kubectl
使用 kubectl 列出備份方案並查看詳細資料,即可查看備份方案。
列出現有的備份方案:
kubectl get backupplans.backup.gdc.goog -n PROJECT_NAME在清單中找出要查看的備份方案。
查看備份方案詳細資料:
kubectl describe backupplans.backup.gdc.goog BACKUP_PLAN_NAME -n PROJECT_NAME更改下列內容:
BACKUP_PLAN_NAME:備份方案名稱。PROJECT_NAME:專案名稱。