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.4.3. 备份和恢复
4.3.1. 备份应用程序 复制链接链接已复制到粘贴板!
您可以通过创建 Backup 自定义资源(CR) 来备份应用程序。
Backup CR 为 Kubernetes 资源和内部镜像(S3 对象存储)和持久性卷(PV)创建备份文件,如果云供应商使用原生快照 API 或 Container Storage Interface(CSI) 来创建快照,如 OpenShift Container Storage 4。如需更多信息,请参阅 CSI 卷快照。
S3 存储的 CloudStorage API 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的详情,请参考 https://access.redhat.com/support/offerings/techpreview/。
如果您的云供应商具有原生快照 API 或支持 Container Storage Interface(CSI)快照,则 Backup CR 通过创建快照来备份持久性卷。如需更多信息,请参阅 OpenShift Container Platform 文档中的 CSI 卷快照概述。
如果您的云供应商不支持快照,或者应用程序位于 NFS 数据卷中,您可以使用 Restic 创建备份。
您可以创建 backup hook,以便在备份操作之前或之后运行命令。
您可以通过创建一个 Schedule CR 而不是 Backup CR 来调度备份。
4.3.1.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
$ oc get backupStorageLocationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME PHASE LAST VALIDATED AGE DEFAULT velero-sample-1 Available 11s 31m
NAME PHASE LAST VALIDATED AGE DEFAULT velero-sample-1 Available 11s 31mCopy 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
4.3.1.2. 使用 CSI 快照备份持久性卷 复制链接链接已复制到粘贴板!
在创建 Backup CR 前,您可以通过创建 VolumeSnapshotClass 自定义资源(CR)来注册 CSI 驱动程序,使用 Container Storage Interface(CSI)快照备份持久性卷。
先决条件
- 云供应商必须支持 CSI 快照。
-
您必须在
DataProtectionApplicationCR 中启用 CSI。
步骤
创建
VolumeSnapshotClassCR,如下例所示:Ceph RBD
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph FS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其他云供应商
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
现在,您可以创建一个 Backup CR。
4.3.1.3. 使用 Restic 备份应用程序 复制链接链接已复制到粘贴板!
您可以通过编辑备份自定义资源(CR)来使用 Restic Backup 资源、内部镜像和持久性卷备份 Kubernetes 资源。
您不需要在 DataProtectionApplication CR 中指定快照位置。
先决条件
- 您必须安装用于数据保护(OADP)Operator 的 OpenShift API。
-
您不能将
DataProtectionApplicationCR 中的spec.configuration.restic.enable设置为false来禁用默认的 Restic 安装。 -
DataProtectionApplicationCR 必须处于Ready状态。
步骤
编辑
BackupCR,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
defaultVolumesToRestic: true添加到spec块中。
4.3.1.4. 创建备份 hook 复制链接链接已复制到粘贴板!
您可以通过编辑备份自定义资源(CR)来创建 Backup hook 以在 pod 中运行的容器中运行命令。
在 pod 备份前运行 Pre hook。在备份后运行 Post hook。
步骤
在
BackupCR 的spec.hooks块中添加 hook,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.1.5. 调度备份 复制链接链接已复制到粘贴板!
您可以通过创建 Schedule 自定义资源(CR)而不是 Backup CR 来调度备份。
在您的备份调度中有足够的时间,以便在创建另一个备份前完成备份。
例如,如果命名空间的备份通常需要 10 分钟,则不要超过每 15 分钟调度备份。
先决条件
- 您必须安装用于数据保护(OADP)Operator 的 OpenShift API。
-
DataProtectionApplicationCR 必须处于Ready状态。
步骤
检索
backupStorageLocationsCR:oc get backupStorageLocations
$ oc get backupStorageLocationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME PHASE LAST VALIDATED AGE DEFAULT velero-sample-1 Available 11s 31m
NAME PHASE LAST VALIDATED AGE DEFAULT velero-sample-1 Available 11s 31mCopy 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