This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.14.3. 备份虚拟机
				您可以通过创建一个 Backup 自定义资源 (CR) 来备份虚拟机(VM)
			
				Backup CR 执行以下操作:
			
- 通过在 S3 兼容对象存储上创建存档文件来备份 OpenShift Virtualization 资源,如 Multicloud Object Gateway、Noobaa 或 Minio。
- 使用以下选项之一备份虚拟机磁盘: - 启用 CSI 的云存储上的 容器存储接口(CSI)快照,如 Ceph RBD 或 Ceph FS。
- 对象存储上的 Restic 文件系统备份。
 
OADP 提供备份 hook,以便在备份操作前冻结虚拟机文件系统,并在备份完成后取消解冻。
					kubevirt-controller 使用注解创建 virt-launcher pod,使 Velero 可以在备份操作前和之后运行 virt-freezer 二进制文件。
				
					freeze 和 unfreeze API 是虚拟机快照 API 的子资源。有关详细信息,请参阅关于虚拟机快照。
				
				您可以在 Backup CR 中添加 hook,以便在备份操作前或之后在特定虚拟机上运行命令。
			
				您可以通过创建一个 Schedule CR 而不是 Backup CR 来调度备份。
			
14.3.1. 创建备份 CR
					您可以通过创建 Backup 备份自定义资源(CR)来备份 Kubernetes 镜像、内部镜像和持久性卷(PV)。
				
先决条件
- 您必须安装用于数据保护(OADP)Operator 的 OpenShift API。
- 
							DataProtectionApplicationCR 必须处于Ready状态。
- 备份位置先决条件: - 您必须为 Velero 配置 S3 对象存储。
- 
									您必须在 DataProtectionApplicationCR 中配置了一个备份位置。
 
- 快照位置先决条件: - 您的云供应商必须具有原生快照 API 或支持 Container Storage Interface(CSI)快照。
- 
									对于 CSI 快照,您必须创建一个 VolumeSnapshotClassCR 来注册 CSI 驱动程序。
- 
									您必须在 DataProtectionApplicationCR 中配置了一个卷位置。
 
流程
- 输入以下命令来检索 - backupStorageLocationsCR:- oc get backupStorageLocations -n openshift-adp - $ oc get backupStorageLocations -n openshift-adp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m - NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建一个 - BackupCR,如下例所示:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 验证 - BackupCR 的状态是否为- Completed:- oc get backup -n openshift-adp <backup> -o jsonpath='{.status.phase}'- $ oc get backup -n openshift-adp <backup> -o jsonpath='{.status.phase}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
14.3.1.1. 使用 CSI 快照备份持久性卷
						在创建 Backup CR 前,您可以编辑云存储的 VolumeSnapshotClass 自定义资源(CR)来备份持久性卷(CSI)快照。
					
先决条件
- 云供应商必须支持 CSI 快照。
- 
								您必须在 DataProtectionApplicationCR 中启用 CSI。
流程
- 将 - metadata.labels.velero.io/csi-volumesnapshot-class: "true"键值对添加到- VolumeSnapshotClassCR:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
						现在,您可以创建一个 Backup CR。
					
14.3.1.2. 使用 Restic 备份应用程序
						您可以通过编辑备份自定义资源(CR)来使用 Restic Backup 资源、内部镜像和持久性卷备份 Kubernetes 资源。
					
						您不需要在 DataProtectionApplication CR 中指定快照位置。
					
							Restic 不支持备份 hostPath 卷。如需更多信息,请参阅额外的 Rustic 限制。
						
先决条件
- 您必须安装用于数据保护(OADP)Operator 的 OpenShift API。
- 
								您不能将 DataProtectionApplicationCR 中的spec.configuration.restic.enable设置为false来禁用默认的 Restic 安装。
- 
								DataProtectionApplicationCR 必须处于Ready状态。
流程
- 编辑 - BackupCR,如下例所示:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 在 OADP 版本 1.2 及更高版本中,在spec块中添加defaultVolumesToFsBackup: true设置。在 OADP 版本 1.1 中,添加defaultVolumesToRestic: true。
 
14.3.1.3. 创建备份 hook
						您可以通过编辑备份自定义资源(CR)来创建 Backup hook 以在 pod 中运行的容器中运行命令。
					
在 pod 备份前运行 Pre hook。在备份后运行 Post hook。
流程
- 在 - BackupCR 的- spec.hooks块中添加 hook,如下例所示:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 可选:您可以指定 hook 应用的命名空间。如果没有指定这个值,则 hook 适用于所有命名空间。
- 2
- 可选:您可以指定 hook 不应用到的命名空间。
- 3
- 目前,pod 是唯一可以应用 hook 的支持的资源。
- 4
- 可选:您可以指定 hook 不应用到的资源。
- 5
- 可选:此 hook 仅适用于与标签匹配的对象。如果没有指定这个值,则 hook 适用于所有命名空间。
- 6
- 备份前要运行的 hook 数组。
- 7
- 可选:如果没有指定容器,该命令将在 pod 的第一个容器中运行。
- 8
- 这是正在添加的 init 容器的入口点。
- 9
- 错误处理允许的值是Fail和Continue。默认值为Fail。
- 10
- 可选:等待命令运行的时间。默认值为30s。
- 11
- 此块定义了在备份后运行的一组 hook,其参数与 pre-backup hook 相同。
 
14.3.2. 调度备份
					您可以通过创建 Schedule 自定义资源(CR)而不是 Backup CR 来调度备份。
				
在您的备份调度中留有足够的时间,以便在创建另一个备份前完成了当前的备份。
例如,如果对一个命名空间进行备份通常需要 10 分钟才能完成,则调度的备份频率不应该超过每 15 分钟一次。
先决条件
- 您必须安装用于数据保护(OADP)Operator 的 OpenShift API。
- 
							DataProtectionApplicationCR 必须处于Ready状态。
流程
- 检索 - backupStorageLocationsCR:- oc get backupStorageLocations -n openshift-adp - $ oc get backupStorageLocations -n openshift-adp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m - NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT openshift-adp velero-sample-1 Available 11s 31m- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建一个 - ScheduleCR,如下例所示:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在调度的备份运行后验证 - ScheduleCR 的状态是否为- Completed:- oc get schedule -n openshift-adp <schedule> -o jsonpath='{.status.phase}'- $ oc get schedule -n openshift-adp <schedule> -o jsonpath='{.status.phase}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow