5.2. OADP 发行注记


5.2.1. OADP 1.5 发行注记

OpenShift API for Data Protection (OADP) 的发行注记介绍了新的功能和增强功能、已弃用的功能、产品建议、已知问题和解决问题。

注意

有关 OADP 的更多信息,请参阅 OpenShift API for Data Protection (OADP) FAQ

5.2.1.1. OADP 1.5.0 发行注记

OpenShift API for Data Protection (OADP) 1.5.0 发行注记列出了已解决的问题和已知问题。

5.2.1.1.1. 新功能

OADP 1.5.0 引入了一个新的自助服务功能

OADP 1.5.0 引入了名为 OADP Self-Service 的新功能,启用命名空间管理员用户在 OpenShift Container Platform 上备份和恢复应用程序。在之前的 OADP 版本中,您需要 cluster-admin 角色来执行 OADP 操作,如备份和恢复应用程序、创建备份存储位置等。

从 OADP 1.5.0 开始,您不需要 cluster-admin 角色来执行备份和恢复操作。您可以将 OADP 与命名空间 admin 角色一起使用。命名空间 admin 角色仅对该用户分配到的命名空间具有管理员访问权限。您只能在集群管理员安装 OADP Operator 并提供所需权限后使用 Self-Service 功能。

OADP-4001

使用 must-gather 工具收集日志已使用 Markdown 概述进行了改进

您可以使用 must-gather 工具来收集用于数据保护 (OADP) 自定义资源的日志以及 OpenShift API 的信息。must-gather 数据必须附加到所有客户案例。这个工具使用收集的信息生成 Markdown 输出文件,它位于 must-gather 日志集群目录中。

OADP-5384

dataMoverPrepareTimeoutresourceTimeout 参数现在添加到 DPA 中的 nodeAgent

Data Protection Application (DPA) 中的 nodeAgent 字段现在包含以下参数:

  • dataMoverPrepareTimeout: 定义 DataUploadDataDownload 进程将等待的持续时间。默认值为 30 分钟。
  • resourceTimeout :设置没有被其他特定超时参数解决的资源进程的超时时间。默认值为 10 分钟。

OADP-3736

使用 DPA 中的 spec.configuration.nodeAgent 参数来配置 nodeAgent 守护进程集

Velero 不再使用 node-agent-config 配置映射来配置 nodeAgent 守护进程集。在这个版本中,您必须在数据保护应用程序(DPA)中使用新的 spec.configuration.nodeAgent 参数来配置 nodeAgent 守护进程集。

OADP-5042

现在可以使用备份存储库配置配置映射配置 DPA

使用 Velero 1.15 及之后的版本,您现在可以配置每个存储库缓存的总大小。这可防止因为临时存储不足而无法移除 pod。请参阅以下新参数添加到 DPA 中的 NodeAgentConfig 字段中:

  • cacheLimitMB :以 MB 为单位设置本地数据缓存大小限制。
  • fullMaintenanceInterval :默认值为 24 小时。使用以下覆盖选项控制 Kopia 存储库中的已删除 Velero 备份率:

    • normalGC: 24 小时
    • fastGC: 12 小时
    • eagerGC: 6 小时

OADP-5900

提高 node-agent 安全性

在这个版本中,添加了以下更改:

  • 现在,在 DPA 中的 velero 字段中添加了新的 configuration 选项。
  • disableFsBackup 参数的默认值为 falsenon-existing。在这个版本中,以下选项添加到 SecurityContext 字段中:

    • Privileged: true
    • AllowPrivilegeEscalation: true
  • 如果将 disableFsBackup 参数设置为 true,它会从 node-agent 中删除以下挂载:

    • host-pods
    • host-plugins
  • 修改 node-agent 始终以非 root 用户身份运行。
  • 将 root 文件系统更改为只读方式。
  • 使用写访问权限更新以下挂载点:

    • /home/velero
    • tmp/credentials
  • SeccompProfileTypeRuntimeDefault 选项用于 SeccompProfile 参数。

OADP-5031

为并行项目备份添加 DPA 支持

默认情况下,只有一个线程处理一个项目块。Velero 1.16 支持并行项目备份,其中可以并行处理备份中的多个项目。

您可以使用可选的 Velero 服务器参数 --item-block-worker-count 来运行额外的 worker 线程来并行处理项目。要在 OADP 中启用此功能,请将 dpa.Spec.Configuration.Velero.ItemBlockWorkerCount 参数设置为大于零的整数值。

注意

目前还不支持并行运行多个完整备份。

OADP-5635

OADP 日志现在以 JSON 格式提供

随着 OADP 1.5.0 的发布,日志现在以 JSON 格式提供。它有助于在 Elastic logs 管理系统中包含预解析的数据。

OADP-3391

oc get dpa 命令现在显示 RECONCILED 状态

在这个版本中,oc get dpa 命令会显示 RECONCILED 状态,而不是只显示 NAMEAGE 以改进用户体验。例如:

$ oc get dpa -n openshift-adp
NAME            RECONCILED   AGE
velero-sample   True         2m51s
Copy to Clipboard Toggle word wrap

OADP-1338

5.2.1.1.2. 已解决的问题

容器现在对 terminationMessagePolicy 使用 FallbackToLogsOnError

在这个版本中,terminationMessagePolicy 字段可以为 Data Protection (OADP) Operator 容器(如 operator-manager,velero,node-agent, 和 non-admin-controller )设置 FallbackToLogsOnError 值。

此更改可确保容器退出并显示错误并且终止消息文件为空,OpenShift 会使用容器日志输出的最后一部分作为终止消息。

OADP-5183

命名空间管理员现在可以在恢复后访问应用程序

在以前的版本中,在恢复操作后,命名空间 admin 无法执行带有以下错误的应用程序:

  • 不允许 exec 操作,因为 pod 的安全上下文超过您的权限
  • 无法针对任何安全性上下文约束进行验证
  • 用户或 serviceaccount, provider restricted-v2 不可用

在这个版本中,这个问题已被解决,命名空间 admin 可以在恢复后成功访问应用程序。

OADP-5611

现在,可以使用注解在单独的资源实例级别指定状态恢复

在以前的版本中,只有使用 Restore 自定义资源(CR)中的 restoreStatus 字段在资源类型中配置状态恢复。

在这个版本中,您可以使用以下注解在单独的资源实例级别指定状态恢复:

metadata:
  annotations:
    velero.io/restore-status: "true"
Copy to Clipboard Toggle word wrap

OADP-5968

现在,恢复可以成功使用 excludedClusterScopedResources

在以前的版本中,当执行将 excludeClusterScopedResources 字段设置为 storageclasses,Namespace 参数的应用程序备份时,备份可以成功,但恢复部分失败。在这个版本中,恢复可以成功。

OADP-5239

备份已完成,即使它在 wait ForPluginOperations 阶段被重启

在以前的版本中,备份被标记为 failed,并显示以下错误消息:

failureReason: found a backup with status "InProgress" during the server starting,
mark it as "Failed"
Copy to Clipboard Toggle word wrap

在这个版本中,如果备份在 wait ForPluginOperations 阶段被重启,则会完成备份。

OADP-2941

现在,当 DPA 中的 disableFsbackup' 参数设置为 true 时,错误消息更为明确

在以前的版本中,当数据保护应用程序(DPA)的 spec.configuration.velero.disableFsBackup 字段被设置为 true 时,备份部分会失败并显示错误,它没有通知。

在这个版本中,错误消息对问题进行故障排除更为有用。例如,错误消息表示 disableFsBackup: true 是 DPA 中的问题,或者对于非管理员用户,则无法访问 DPA。

OADP-5952

在 parseAWSSecret 中处理 AWS STS 凭证

在以前的版本中,使用 STS 身份验证的 AWS 凭证不会被正确验证。

在这个版本中,parseAWSSecret 功能检测到特定于 STS 的字段,并更新 ensureSecretDataExists 功能来正确处理 STS 配置集。

OADP-6105

repositoryMaintenance 作业关联性配置可用于配置

在以前的版本中,DPA 规格中缺少存储库维护作业 pod 关联性的新配置。

在这个版本中,repositoryMaintenance 作业关联性配置可用于将 BackupRepository 标识符映射到其配置。

OADP-6134

当 CR 规格正确后,ValidationErrors 字段停止

在以前的版本中,当使用错误 spec.schedule 值创建调度 CR 时,之后使用正确的值修补了相同的值,Valid Errors 字段仍然存在。因此,即使 spec 正确,ValidationErrors 字段也会显示不正确的信息。

在这个版本中,在 CR 规格正确后,ValidationErrors 字段会中断。

OADP-5419

当在 restoreSpec中使用 includedNamesapces 字段时,volumeSnapshotContents 自定义资源会被恢复

在以前的版本中,当在恢复规格中使用 includedNamespace 字段触发恢复操作时,恢复操作会成功完成,但没有创建 volumeSnapshotContents 自定义资源(CR),且 PVC 处于 Pending 状态。

在这个版本中,即使 restoreSpec 中使用 includedNamesapces 字段,volumeSnapshotContents CR 也会被恢复。因此,应用程序 pod 在恢复后处于 Running 状态。

OADP-5939

OADP operator 在 AWS 上成功创建存储桶

在以前的版本中,容器使用 readOnlyRootFilesystem: true 设置进行配置,但代码尝试使用 os.CreateTemp () 函数在 /tmp 目录中创建临时文件。因此,当将 AWS STS 身份验证与 Cloud Credential Operator (CCO)流搭配使用时,OADP 无法创建 AWS 凭证处理所需的临时文件,并显示以下错误:

ERROR unable to determine if bucket exists. {"error": "open /tmp/aws-shared-credentials1211864681: read-only file system"}
Copy to Clipboard Toggle word wrap

在这个版本中,添加了以下更改来解决这个问题:

  • 在控制器 pod 规格中,名为 tmp-dir 的新 emptyDir 卷。
  • 卷挂载到容器,该容器将此卷挂载到 /tmp 目录中。
  • 对于安全最佳实践,可维护 readOnlyRootFilesystem: true
  • 将已弃用的 ioutil.TempFile () 函数替换为推荐的 os.CreateTemp () 函数。
  • 删除了不必要的 io/ioutil 导入,这已不再需要。

OADP-6019

有关本发行版本中解决的所有问题的完整列表,请参阅 JIRA 中的 OADP 1.5.0 解决的问题 列表。

5.2.1.1.3. 已知问题

Kopia 在备份过期后不会删除所有工件

即使删除备份,Kopia 在备份过期后也不会从 ${bucket_name}/kopia/$openshift-adp 中删除卷工件。与过期和删除的数据文件相关的信息保留在元数据中。为确保 OpenShift API for Data Protection (OADP)可以正常工作,数据不会被删除,且它存在于 /kopia/ 目录中,例如:

  • kopia.repository :主存储库格式信息,如加密、版本和其他详细信息。
  • kopia.blobcfg: 配置如何命名数据 Blob。
  • kopia.maintenance: Tracks maintenance owner, schedule, and last successful build.
  • 日志 :日志 Blob。

OADP-5131

有关本发行版本中所有已知问题的完整列表,请参阅 JIRA 中的 OADP 1.5.0 已知问题 列表。

5.2.1.1.4. 弃用的功能

configuration.restic specification 字段已弃用

在 OpenShift API for Data Protection (OADP) 1.5.0 中,config.restic specification 字段已弃用。使用带有 uploaderType 字段的 nodeAgent 部分选择 kopiarestic 作为 uploaderType。请注意,Restic 在 OpenShift API for Data Protection (OADP) 1.5.0 中已弃用。

OADP-5158

5.2.1.1.5. 技术预览

对 HyperShift 托管 OpenShift 集群的支持作为技术预览提供

OADP 可以作为技术预览支持并促进 HyperShift 托管 OpenShift 集群中的应用程序迁移。它为托管的集群中的应用程序确保无缝的备份和恢复操作。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

OADP-3930

5.2.1.2. 将 OADP 1.4.0 升级到 1.5.0

注意

始终升级到下一个次版本。不要跳过版本。要升级到更新的版本,请一次只升级一个频道。例如,要从 OADP 1.1 升级到 1.3,请首先升级到 1.2,然后升级到 1.3。

5.2.1.2.1. 从 OADP 1.4 改为 1.5

Velero 服务器已从 1.14 版本更新至 1.16。

这会更改以下内容:

版本支持更改
用于数据保护的 OpenShift API 实施了一个简化的版本支持政策。红帽在一个 OpenShift 版本上只支持一个用于数据保护(OADP)的 OpenShift API 版本,以确保其稳定性和可维护性。OADP 1.5.0 只在 OpenShift 4.19 版本中被支持。
OADP 自助服务

OADP 1.5.0 引入了名为 OADP Self-Service 的新功能,启用命名空间管理员用户在 OpenShift Container Platform 上备份和恢复应用程序。在之前的 OADP 版本中,您需要 cluster-admin 角色来执行 OADP 操作,如备份和恢复应用程序、创建备份存储位置等。

从 OADP 1.5.0 开始,您不需要 cluster-admin 角色来执行备份和恢复操作。您可以将 OADP 与命名空间 admin 角色一起使用。命名空间 admin 角色仅对该用户分配到的命名空间具有管理员访问权限。您只能在集群管理员安装 OADP Operator 并提供所需权限后使用 Self-Service 功能。

备份PVCrestorePVC 配置

backupPVC 资源是一个中间持久性卷声明(PVC),用于在数据移动备份操作期间访问数据。您可以使用 DataProtectionApplication (DPA)自定义资源中的 nodeAgent.backupPVC 部分创建一个只读备份 PVC。

restorePVC 资源是一个中间 PVC,用于在 Data Mover restore 操作过程中写入数据。

您可以使用 ignoreDelayBinding 字段在 DPA 中配置 restorePVC

5.2.1.2.2. 备份 DPA 配置

您必须备份当前的 DataProtectionApplication (DPA) 配置。

流程

  • 运行以下命令来保存您当前的 DPA 配置:

    示例命令

    $ oc get dpa -n openshift-adp -o yaml > dpa.orig.backup
    Copy to Clipboard Toggle word wrap

5.2.1.2.3. 升级 OADP Operator

您可以按照以下流程升级 OpenShift API for Data Protection (OADP) Operator。

注意

不要在 OpenShift 4.18 集群上安装 OADP 1.5.0。

先决条件

  • 已安装最新的 OADP 1.4.4。
  • 已备份了数据。

流程

  1. 将 OpenShift 4.18 升级到 OpenShift 4.19。

    注意

    OpenShift 4.19 不支持 OpenShift API for Data Protection (OADP) 1.4。

  2. 将 OADP Operator 的订阅频道从 stable-1.4 改为 stable
  3. 等待 Operator 和容器更新并重启。
5.2.1.2.4. 将 DPA 转换为 OADP 1.5.0 的新版本

OpenShift 4.19 不支持 OpenShift API for Data Protection (OADP) 1.4。您可以使用新的 spec.configuration.nodeAgent 字段及其子字段将数据保护应用程序(DPA)转换为新的 OADP 1.5 版本。

流程

  1. 要配置 nodeAgent 守护进程集,请使用 DPA 中的 spec.configuration.nodeAgent 参数。请参见以下示例:

    DataProtectionApplication 配置示例

    ...
     spec:
       configuration:
         nodeAgent:
           enable: true
           uploaderType: kopia
    ...
    Copy to Clipboard Toggle word wrap

  2. 要使用名为 node-agent-configConfigMap 资源配置 nodeAgent 守护进程集,请参阅以下示例配置:

    配置映射示例

    ...
     spec:
       configuration:
         nodeAgent:
           backupPVC:
             ...
           loadConcurrency:
             ...
           podResources:
             ...
           restorePVC:
            ...
    ...
    Copy to Clipboard Toggle word wrap

5.2.1.2.5. 验证升级

您可以按照以下流程验证 OpenShift API for Data Protection (OADP)升级。

流程

  1. 验证 DataProtectionApplication (DPA)是否已成功协调:

    $ oc get dpa dpa-sample -n openshift-adp
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME            RECONCILED   AGE
    dpa-sample      True         2m51s
    Copy to Clipboard Toggle word wrap

    注意

    RECONCILED 列必须为 True

  2. 运行以下命令,通过查看 OADP 资源来验证安装是否完成:

    $ oc get all -n openshift-adp
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                                                    READY   STATUS    RESTARTS   AGE
    pod/node-agent-9pjz9                                    1/1     Running   0          3d17h
    pod/node-agent-fmn84                                    1/1     Running   0          3d17h
    pod/node-agent-xw2dg                                    1/1     Running   0          3d17h
    pod/openshift-adp-controller-manager-76b8bc8d7b-kgkcw   1/1     Running   0          3d17h
    pod/velero-64475b8c5b-nh2qc                             1/1     Running   0          3d17h
    
    NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    service/openshift-adp-controller-manager-metrics-service   ClusterIP   172.30.194.192   <none>        8443/TCP   3d17h
    service/openshift-adp-velero-metrics-svc                   ClusterIP   172.30.190.174   <none>        8085/TCP   3d17h
    
    NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    daemonset.apps/node-agent   3         3         3       3            3           <none>          3d17h
    
    NAME                                               READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/openshift-adp-controller-manager   1/1     1            1           3d17h
    deployment.apps/velero                             1/1     1            1           3d17h
    
    NAME                                                          DESIRED   CURRENT   READY   AGE
    replicaset.apps/openshift-adp-controller-manager-76b8bc8d7b   1         1         1       3d17h
    replicaset.apps/openshift-adp-controller-manager-85fff975b8   0         0         0       3d17h
    replicaset.apps/velero-64475b8c5b                             1         1         1       3d17h
    replicaset.apps/velero-8b5bc54fd                              0         0         0       3d17h
    replicaset.apps/velero-f5c9ffb66                              0         0         0       3d17h
    Copy to Clipboard Toggle word wrap

    注意

    node-agent pod 仅在 DataProtectionApplication (DPA)中使用 restickopia 时才创建。在 OADP 1.4.0 和 OADP 1.3.0 版本中,node-agent pod 被标记为 restic

  3. 运行以下命令,验证备份存储位置并确认 PHASEAvailable

    $ oc get backupstoragelocations.velero.io -n openshift-adp
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME           PHASE       LAST VALIDATED   AGE     DEFAULT
    dpa-sample-1   Available   1s               3d16h   true
    Copy to Clipboard Toggle word wrap

5.2.2. OADP 1.4 发行注记

OpenShift API for Data Protection (OADP) 的发行注记介绍了新的功能和增强功能、已弃用的功能、产品建议、已知问题和解决问题。

注意

有关 OADP 的更多信息,请参阅 OpenShift API for Data Protection (OADP) FAQ

5.2.2.1. OADP 1.4.4 发行注记

OpenShift API for Data Protection (OADP) 1.4.4 是一个 CGO(Container Grade Only)版本,它刷新了容器的健康级别。与 OADP 1.4.3 相比,产品本身的代码并没有变化。

5.2.2.1.1. 已知问题

恢复有状态应用程序的问题

当您恢复使用 azurefile-csi 存储类的有状态应用程序时,恢复操作会保留在 Finalizing 阶段。(OADP-5508)

5.2.2.2. OADP 1.4.3 发行注记

OpenShift API for Data Protection (OADP) 1.4.3 发行注记中列出了以下新功能。

5.2.2.2.1. 新功能

版本 0.7.1 中的 kubevirt velero 插件的显著变化

在这个版本中,kubevirt velero 插件已更新至版本 0.7.1。主要改进包括以下程序错误修复和新功能:

  • 当所有者虚拟机被排除时,备份不再会忽略虚拟机实例(VMI)。
  • 对象图现在在备份和恢复操作过程中包括所有额外对象。
  • 现在,在恢复操作过程中,可选生成的标签会添加到新的固件通用唯一标识符(UUID)中。
  • 现在,可以在恢复操作期间切换虚拟机运行策略。
  • 现在支持通过标签清除 MAC 地址。
  • 现在,在备份操作过程中会跳过特定于恢复的检查。
  • 现在支持 VirtualMachineClusterInstancetypeVirtualMachineClusterPreference 自定义资源定义(CRD)。

5.2.2.3. OADP 1.4.2 发行注记

OpenShift API for Data Protection (OADP) 1.4.2 发行注记列出了新功能、解决的问题和程序错误,以及已知的问题。

5.2.2.3.1. 新功能

现在,可以使用 VolumePolicy 功能备份同一命名空间中的不同卷

在这个版本中,Velero 提供资源策略,以使用 VolumePolicy 功能备份同一命名空间中的不同卷。备份不同卷所支持的 VolumePolicy 功能包括 skip, snapshot, 和 fs-backup 操作。OADP-1071

文件系统 backup and data mover 现在可以使用短期凭证

文件系统 backup and data mover 现在可以使用短期凭证,如 AWS 安全令牌服务 (STS) 和 GCP WIF。现在,备份会在没有 PartiallyFailed 状态的情况下成功完成。OADP-5095

5.2.2.3.2. 已解决的问题

现在,如果 VSL 包含不正确的供应商值,DPA 会报告错误

在以前的版本中,如果卷快照位置(VSL) spec 的供应商不正确,则数据保护应用程序(DPA)可以成功协调。在这个版本中,DPA 会报告错误并请求一个有效的供应商值。OADP-5044

对于使用不同 OADP 命名空间的备份和恢复,Data Mover 恢复可以成功。

在以前的版本中,当使用在一个命名空间中安装的 OADP 执行备份,但使用安装在不同命名空间中的 OADP 恢复时,Data Mover 恢复会失败。在这个版本中,Data Mover 恢复可以成功。OADP-5460

SSE-C 备份可用于计算的 secret 密钥的 MD5

在以前的版本中,备份失败并显示以下错误:

Requests specifying Server Side Encryption with Customer provided keys must provide the client calculated MD5 of the secret key.
Copy to Clipboard Toggle word wrap

在这个版本中,解决了使用客户提供密钥(SSE-C) base64 和 MD5 哈希的 Server-Side 加密。因此,SSE-C 备份可用于计算的 secret 密钥的 MD5另外,customerKey 大小的不正确的 errorhandling 也被修复。OADP-5388

有关本发行版本中解决的所有问题的完整列表,请参阅 JIRA 中的 OADP 1.4.2 解决的问题列表。

5.2.2.3.3. 已知问题

Data Mover restore 操作不支持 nodeSelector spec

当使用 nodeAgent 参数中设置的 nodeSelector 字段创建数据保护应用程序(DPA)时,Data Mover restore 部分会失败,而不是完成恢复操作。OADP-5260

当指定了 TLS 跳过验证时,S3 存储不会使用代理环境

在镜像 registry 备份中,当 insecureSkipTLSVerify 参数设置为 true 时,S3 存储不会使用代理环境。OADP-3143

Kopia 在备份过期后不会删除工件

在备份过期后,即使删除了备份,Kopia 也不会从 S3 位置的 ${bucket_name}/kopia/$openshift-adp 中删除卷工件。如需更多信息,请参阅"关于 Kopia 仓库维护"。OADP-5131

5.2.2.4. OADP 1.4.1 发行注记

OpenShift API for Data Protection (OADP) 1.4.1 发行注记列出了新功能、解决的问题和程序错误,以及已知的问题。

5.2.2.4.1. 新功能

新的 DPA 字段以更新客户端 qps 和 burst

现在,您可以使用新的数据保护应用程序 (DPA) 字段更改 Velero Server Kubernetes API 查询每秒(qps)和突发(burst)值。新的 DPA 字段是 spec.configuration.velero.client-qpsspec.configuration.velero.client-burst,它们都默认为 100。OADP-4076

使用 Kopia 启用非默认算法

在这个版本中,您可以在 Kopia 中配置哈希、加密和分割程序算法来选择非默认选项来优化不同备份工作负载的性能。

要配置这些算法,在 DataProtectionApplication (DPA) 配置的 podConfig 部分中设置 velero pod 的 env 变量。如果没有设置此变量,或者选择了一个不被支持的算法,Kopia 将默认为其标准算法。OADP-4640

5.2.2.4.2. 已解决的问题

现在可以成功恢复没有 pod 的备份

在以前的版本中,恢复没有 pod 的备份,并将 StorageClass VolumeBindingMode 设置为 WaitForFirstConsumer 会导致 PartiallyFailed 状态出现错误:fail to patch dynamic PV, err: context deadline exceeded。在这个版本中,会跳过对动态 PV 进行补丁,并可以成功恢复备份,不再会出现 PartiallyFailed 状态。OADP-4231

PodVolumeBackup CR 现在显示正确的消息

在以前的版本中,PodVolumeBackup 自定义资源 (CR) 会生成不正确的消息:get a podvolumebackup with status "InProgress" during the server starting, mark it as "Failed"。在这个版本中,生成的消息是:

found a podvolumebackup with status "InProgress" during the server starting,
mark it as "Failed".
Copy to Clipboard Toggle word wrap

OADP-4224

现在,可以使用 DPA 覆盖 imagePullPolicy

在以前的版本中,OADP 将所有镜像的 imagePullPolicy 参数都设置为 Always。在这个版本中,OADP 会检查每个镜像是否包含了 sha256sha512 摘要,然后将 imagePullPolicy 设置为 IfNotPresent; 否则 imagePullPolicy 被设置为 Always。现在,您可以使用新的 spec.containerImagePullPolicy DPA 字段覆盖此策略。OADP-4172

现在,如果初始更新失败,OADP Velero 现在可以重试更新恢复状态

在以前的版本中,OADP Velero 无法更新恢复的 CR 状态。这会无限期保留 InProgress 状态。依赖于备份和恢复 CR 状态以确定完成会失败的组件。在这个版本中,恢复的恢复 CR 状态可以正确地进入 CompletedFailed 状态。OADP-3227

从不同的集群恢复 BuildConfig 构建会成功,且没有任何错误

在以前的版本中,当从其他集群执行 BuildConfig Build 资源恢复时,应用程序会在内部镜像 registry 的 TLS 验证过程中生成一个错误。错误信息 failed to verify certificate: x509: certificate signed by unknown authority。在这个版本中,BuildConfig 构建资源恢复到不同的集群可以成功进行,而不会生成 failed to verify certificate 错误。OADP-4692

恢复空的 PVC 可以成功

在以前的版本中,在恢复空的持久性卷声明 (PVC) 时,下载数据会失败。这个失败带有以下错误:

data path restore failed: Failed to run kopia restore: Unable to load
    snapshot : snapshot not found
Copy to Clipboard Toggle word wrap

在这个版本中,在恢复空 PVC 时,下载数据的过程会正确处理,不会生成错误信息。OADP-3106

CSI 和 DataMover 插件中没有 Velero 内存泄漏的问题

在以前的版本中,使用 CSI 和 DataMover 插件会导致 Velero 内存泄漏。当备份结束时,Velero 插件实例不会被删除,在 Velero pod 中生成 内存不足(OOM )条件前,内存泄漏会消耗内存。在这个版本中,当使用 CSI 和 DataMover 插件时,不会出现 Velero 内存泄漏的问题。OADP-4448

在相关 PV 被释放前,post-hook 操作不会启动

在以前的版本中,由于 Data Mover 操作的异步性,在 Data Mover 持久性卷声明 (PVC) 释放相关 pod 的持久性卷 (PV) 前,可能会尝试进行 post-hook 操作。此问题会导致备份失败,并显示 PartiallyFailed 状态。在这个版本中,在 Data Mover PVC 发布相关的 PV 前,才会启动 post-hook 操作,从而避免出现 PartiallyFailed 备份状态。OADP-3140

在带有超过 37 个字符的命名空间中部署 DPA 可以正常工作

当您在带有超过 37 个字符的命名空间中安装 OADP Operator 来创建新的 DPA 时,标记 "cloud-credentials" Secret 会失败,DPA 报告以下错误:

The generated label name is too long.
Copy to Clipboard Toggle word wrap

在这个版本中,在名称中有超过 37 个字符的命名空间中创建 DPA 不会失败。OADP-3960

恢复可以通过覆盖超时错误成功完成

在以前的版本中,在大规模环境中,恢复操作会导致 Partiallyfailed 状态并带有错误:fail to patch dynamic PV, err: context deadline exceeded。在这个版本中,可以使用 resourceTimeout Velero 服务器参数覆盖这个超时错误,从而使恢复可以成功完成。OADP-4344

有关本发行版本中解决的所有问题的完整列表,请参阅 JIRA 中的 OADP 1.4.1 解决的问题列表。

5.2.2.4.3. 已知问题

恢复 OADP 后,Cassandra 应用程序 pod 进入 CrashLoopBackoff 状态

在 OADP 恢复后,Cassandra 应用程序 pod 可能会进入 CrashLoopBackoff 状态。要临时解决这个问题,删除在恢复 OADP 后返回错误 CrashLoopBackoff 状态的 StatefulSet pod。然后,StatefulSet 控制器会重新创建这些 pod 并正常运行。OADP-4407

引用 ImageStream 的部署不会被正确恢复,并导致 pod 和卷内容被破坏

在文件系统备份(FSB)恢复操作中,引用 ImageStreamDeployment 资源没有被正确恢复。恢复运行 FSB 的 pod,postHook 会被提前终止。

在恢复操作过程中,OpenShift Container Platform 控制器会使用一个更新的 ImageStreamTag 哈希更新 Deployment 资源中的 spec.template.spec.containers[0].image 字段。更新会触发推出新的 pod,终止 velero 运行 FSB 和 post-hook 的 pod。有关镜像流触发器的更多信息,请参阅 触发镜像流更新

这个行为的临时解决方案分为两个步骤:

  1. 执行排除了 Deployment 资源的恢复,例如:

    $ velero restore create <RESTORE_NAME> \
      --from-backup <BACKUP_NAME> \
      --exclude-resources=deployment.apps
    Copy to Clipboard Toggle word wrap
  2. 第一次恢复成功后,通过包含这些资源来执行第二次恢复,例如:

    $ velero restore create <RESTORE_NAME> \
      --from-backup <BACKUP_NAME> \
      --include-resources=deployment.apps
    Copy to Clipboard Toggle word wrap

    OADP-3954

5.2.2.5. OADP 1.4.0 发行注记

OpenShift API for Data Protection (OADP) 1.4.0 发行注记列出了已解决的问题和已知问题。

5.2.2.5.1. 已解决的问题

恢复在 OpenShift Container Platform 4.16 中可以正常工作

在以前的版本中,当恢复已删除的应用程序命名空间时,恢复操作部分失败,在 OpenShift Container Platform 4.16 中会出现 resource name may not be empty 错误。在这个版本中,恢复在 OpenShift Container Platform 4.16 中可以正常工作。OADP-4075

Data Mover backups 在 OpenShift Container Platform 4.16 集群中可以正常工作

在以前的版本中,Velero 使用早期版本的 SDK,其中 Spec.SourceVolumeMode 字段不存在。因此,在带有 v4.2 版本的外部快照器上的 OpenShift Container Platform 4.16 集群中,Data Mover backups 会失败。在这个版本中,外部快照升级到 v7.0 及更新版本。因此,在 OpenShift Container Platform 4.16 集群中备份不会失败。OADP-3922

有关本发行版本中解决的所有问题的完整列表,请参阅 JIRA 中的 OADP 1.4.0 解决的问题列表。

5.2.2.5.2. 已知问题

在没有为 MCG 设置 checksumAlgorithm 时,备份会失败

在对任何使用 Noobaa 作为备份位置的应用程序进行备份时,如果未设置 checksumAlgorithm 配置参数,备份会失败。要解决这个问题,如果您在 Backup Storage Location (BSL) 配置中没有为 checksumAlgorithm 提供值,则会添加一个空值。空值只为使用数据保护应用程序 (DPA) 自定义资源 (CR) 创建的 BSLs 添加,如果使用任何其他方法创建 BSL,则不会添加这个值。OADP-4274

有关本发行版本中所有已知问题的完整列表,请参阅 JIRA 中的 OADP 1.4.0 已知问题 列表。

5.2.2.5.3. 升级备注
注意

始终升级到下一个次版本。不要 跳过版本。要升级到更新的版本,请一次只升级一个频道。例如,若要从 OpenShift API for Data Protection (OADP) 1.1 升级到 1.3,首先升级到 1.2,然后再升级到 1.3。

5.2.2.5.3.1. 从 OADP 1.3 更改为 1.4

Velero 服务器已从 1.12 版本更新至 1.14。请注意,数据保护应用程序 (DPA) 没有改变。

这会更改以下内容:

  • velero-plugin-for-csi 代码现在包括在 Velero 代码中,这意味着插件不再需要 init 容器。
  • Velero 将客户端 Burst 和 QPS 默认值分别从 30 和 20 改为 100 和 100。
  • velero-plugin-for-aws 插件更新了 BackupStorageLocation 对象(BSLs)中的 spec.config.checksumAlgorithm 字段的默认值,从 "" (不计算 checksum) 改为 CRC32 算法。知道 checksum 算法类型只能用于 AWS。几个 S3 供应商要求通过将 checksum 算法设置为 "" 来禁用 md5sum。使用您的存储供应商确认 md5sum 算法支持和配置。

    在 OADP 1.4 中,为此配置在 DPA 中创建 BSL 的默认值为 ""。这个默认值表示没有检查 md5sum,它与 OADP 1.3 一致。对于在 DPA 中创建的 BSL,使用 DPA 中的 spec.backupLocations[].velero.config.checksumAlgorithm 字段更新它。如果您的 BSLs 在 DPA 之外创建,您可以使用 BSLs 中的 spec.config.checksumAlgorithm 来更新此配置。

5.2.2.5.3.2. 备份 DPA 配置

您必须备份当前的 DataProtectionApplication (DPA) 配置。

流程

  • 运行以下命令来保存您当前的 DPA 配置:

    示例命令

    $ oc get dpa -n openshift-adp -o yaml > dpa.orig.backup
    Copy to Clipboard Toggle word wrap

5.2.2.5.3.3. 升级 OADP Operator

在升级 OpenShift API for Data Protection (OADP) Operator 时,请使用以下步骤。

流程

  1. 将 OADP Operator 的订阅频道从 stable-1.3 改为 stable-1.4
  2. 等待 Operator 和容器更新并重启。
5.2.2.5.4. 将 DPA 转换为新版本

要从 OADP 1.3 升级到 1.4,则不需要数据保护应用程序 (DPA) 更改。

5.2.2.5.5. 验证升级

使用以下步骤验证升级。

流程

  1. 运行以下命令,查看 OpenShift API for Data Protection (OADP) 资源来验证安装:

    $ oc get all -n openshift-adp
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                                                     READY   STATUS    RESTARTS   AGE
    pod/oadp-operator-controller-manager-67d9494d47-6l8z8    2/2     Running   0          2m8s
    pod/restic-9cq4q                                         1/1     Running   0          94s
    pod/restic-m4lts                                         1/1     Running   0          94s
    pod/restic-pv4kr                                         1/1     Running   0          95s
    pod/velero-588db7f655-n842v                              1/1     Running   0          95s
    
    NAME                                                       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    service/oadp-operator-controller-manager-metrics-service   ClusterIP   172.30.70.140    <none>        8443/TCP   2m8s
    
    NAME                    DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
    daemonset.apps/restic   3         3         3       3            3           <none>          96s
    
    NAME                                                READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/oadp-operator-controller-manager    1/1     1            1           2m9s
    deployment.apps/velero                              1/1     1            1           96s
    
    NAME                                                           DESIRED   CURRENT   READY   AGE
    replicaset.apps/oadp-operator-controller-manager-67d9494d47    1         1         1       2m9s
    replicaset.apps/velero-588db7f655                              1         1         1       96s
    Copy to Clipboard Toggle word wrap

  2. 运行以下命令,验证 DataProtectionApplication (DPA) 是否已协调:

    $ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
    Copy to Clipboard Toggle word wrap

    输出示例

    {"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
    Copy to Clipboard Toggle word wrap

  3. 验证 type 被设置为 Reconciled
  4. 运行以下命令,验证备份存储位置并确认 PHASEAvailable

    $ oc get backupstoragelocations.velero.io -n openshift-adp
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME           PHASE       LAST VALIDATED   AGE     DEFAULT
    dpa-sample-1   Available   1s               3d16h   true
    Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat