found a podvolumebackup with status "InProgress" during the server starting,
mark it as "Failed".
OpenShift 数据保护 API (OADP) 的发行说明描述了新功能和增强功能、已弃用的功能、产品建议、已知问题和已解决的问题。
有关 OADP 的更多信息,请参见 OpenShift 数据保护 API (OADP) 常见问题解答 |
OpenShift 数据保护 API (OADP) 1.4.1 发行说明列出了新功能、已解决的问题和错误以及已知问题。
您现在可以使用新的数据保护应用程序 (DPA) 字段来更改 Velero Server Kubernetes API 每秒查询数和突发值。新的 DPA 字段为spec.configuration.velero.client-qps
和spec.configuration.velero.client-burst
,两者默认值均为 100。OADP-4076
通过此更新,您现在可以在 Kopia 中配置哈希、加密和分割器算法,以选择非默认选项来优化不同备份工作负载的性能。
要配置这些算法,请设置 DataProtectionApplication (DPA) 配置的podConfig
部分中velero
pod 的env
变量。如果未设置此变量,或选择了不受支持的算法,Kopia 将默认为其标准算法。OADP-4640
以前,如果在没有 Pod 的情况下恢复备份并且StorageClass VolumeBindingMode
设置为WaitForFirstConsumer
,则会导致PartiallyFailed
状态,并出现错误:fail to patch dynamic PV, err: context deadline exceeded
。通过此更新,将跳过修补动态 PV,并且无需任何PartiallyFailed
状态即可成功恢复备份。OADP-4231
以前,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".
以前,OADP 将所有镜像的imagePullPolicy
参数设置为Always
。通过此更新,OADP 会检查每个镜像是否包含sha256
或sha512
摘要,然后将其将imagePullPolicy
设置为IfNotPresent
;否则将imagePullPolicy
设置为Always
。您现在可以使用新的spec.containerImagePullPolicy
DPA 字段覆盖此策略。OADP-4172
以前,OADP Velero 无法更新已恢复的 CR 状态。这使得状态无限期地保持在InProgress
状态。依赖备份和恢复 CR 状态来确定完成的组件将失败。通过此更新,恢复的 CR 状态将正确地进行到Completed
或Failed
状态。OADP-3227
以前,当从不同集群执行BuildConfig
Build 资源的恢复时,应用程序会在对内部镜像注册表的 TLS 验证中生成错误。生成的错误是failed to verify certificate: x509: certificate signed by unknown authority
错误。通过此更新,可以成功地将BuildConfig
构建资源恢复到不同的集群,而不会生成failed to verify certificate
错误。OADP-4692
以前,在恢复空持久卷声明 (PVC) 时,下载数据失败。它失败并显示以下错误
data path restore failed: Failed to run kopia restore: Unable to load
snapshot : snapshot not found
通过此更新,在恢复空 PVC 时,数据下载将顺利完成,并且不会生成错误消息。OADP-3106
以前,使用 CSI 和 DataMover 插件会导致 Velero 内存泄漏。备份结束时,Velero 插件实例未被删除,内存泄漏会消耗内存,直到在 Velero pod 中生成Out of Memory
(OOM) 条件。通过此更新,使用 CSI 和 DataMover 插件时不会出现 Velero 内存泄漏。OADP-4448
以前,由于数据移动器操作的异步性质,在数据移动器持久卷声明 (PVC) 释放相关 Pod 的持久卷 (PV) 之前,可能会尝试进行后挂钩。这个问题会导致备份失败并显示PartiallyFailed
状态。通过此更新,直到数据移动器 PVC 释放相关 PV 后才会启动后挂钩操作,从而消除了PartiallyFailed
备份状态。OADP-3140
当您在命名空间中安装 OADP 运算符(名称超过 37 个字符)以创建新的 DPA 时,标记“cloud-credentials”Secret 会失败,并且 DPA 会报告以下错误
The generated label name is too long.
通过此更新,在命名空间名称超过 37 个字符的情况下,创建 DPA 不会失败。OADP-3960
之前,在大规模环境中,恢复操作会以Partiallyfailed
状态结束,并出现以下错误:fail to patch dynamic PV, err: context deadline exceeded
。通过此更新,resourceTimeout
Velero 服务器参数用于覆盖此超时错误,从而实现成功恢复。OADP-4344
有关此版本中解决的所有问题的完整列表,请参阅Jira中的OADP 1.4.1 已解决的问题列表。
CrashLoopBackoff
状态。OADP 恢复后,Cassandra 应用程序 Pod 可能会进入CrashLoopBackoff
状态。要解决此问题,请删除在恢复 OADP 后返回错误CrashLoopBackoff
状态的StatefulSet
Pod。然后,StatefulSet
控制器会重新创建这些 Pod,并使其正常运行。OADP-4407
在文件系统备份 (FSB) 恢复操作期间,引用ImageStream
的Deployment
资源未正确恢复。运行 FSB 的已恢复 Pod 和postHook
会过早终止。
在恢复操作期间,OpenShift Container Platform 控制器会使用更新的ImageStreamTag
哈希值更新Deployment
资源中的spec.template.spec.containers[0].image
字段。此更新会触发新 Pod 的滚动更新,从而终止velero
运行 FSB 及其 post-hook 的 Pod。有关 image stream 触发器的更多信息,请参阅根据 image stream 更改触发更新。
此问题的解决方法是分两步进行恢复。
例如,执行不包含Deployment
资源的恢复
$ velero restore create <RESTORE_NAME> \
--from-backup <BACKUP_NAME> \
--exclude-resources=deployment.apps
第一次恢复成功后,通过包含这些资源来执行第二次恢复,例如
$ velero restore create <RESTORE_NAME> \
--from-backup <BACKUP_NAME> \
--include-resources=deployment.apps
OpenShift 数据保护 API (OADP) 1.4.0 版本说明列出了已解决的问题和已知问题。
之前,在恢复已删除的应用程序命名空间时,恢复操作在 Red Hat OpenShift Service on AWS 4.16 中部分失败,并出现resource name may not be empty
错误。通过此更新,恢复在 Red Hat OpenShift Service on AWS 4.16 中按预期工作。OADP-4075
之前,Velero 使用的是早期版本的 SDK,其中不存在Spec.SourceVolumeMode
字段。因此,数据移动器备份在 Red Hat OpenShift Service on AWS 4.16 集群的版本 4.2 的外部快照程序中失败。通过此更新,外部快照程序已升级到 7.0 及更高版本。因此,备份不会在 Red Hat OpenShift Service on AWS 4.16 集群中失败。OADP-3922
有关此版本中解决的所有问题的完整列表,请参阅Jira中的OADP 1.4.0 已解决的问题列表。
在对使用 Noobaa 作为备份位置的任何应用程序执行备份时,如果未设置checksumAlgorithm
配置参数,则备份会失败。要解决此问题,如果未在备份存储位置 (BSL) 配置中提供checksumAlgorithm
的值,则会添加一个空值。空值仅添加到使用数据保护应用程序 (DPA) 自定义资源 (CR) 创建的 BSL,如果使用任何其他方法创建 BSL,则不会添加此值。OADP-4274
有关此版本中所有已知问题的完整列表,请参阅Jira中的OADP 1.4.0 已知问题列表。
始终升级到下一个次要版本。**不要**跳过版本。要更新到更高版本,请一次只升级一个通道。例如,要从 OpenShift 数据保护 API (OADP) 1.1 升级到 1.3,请先升级到 1.2,然后再升级到 1.3。 |
Velero 服务器已从 1.12 版本更新到 1.14 版本。请注意,数据保护应用程序 (DPA) 没有更改。
这会更改以下内容:
velero-plugin-for-csi
代码现在可在 Velero 代码中使用,这意味着插件不再需要init
容器。
Velero 将客户端突发值和 QPS 默认值分别从 30 和 20 更改为 100 和 100。
velero-plugin-for-aws
插件将BackupStorageLocation
对象 (BSL) 中spec.config.checksumAlgorithm
字段的默认值从""
(不进行校验和计算)更新为CRC32
算法。校验和算法类型已知仅适用于 AWS。一些 S3 提供商需要禁用md5sum
,方法是将校验和算法设置为""
。请与您的存储提供商确认md5sum
算法的支持和配置。
在 OADP 1.4 中,在 DPA 中为该配置创建的 BSL 的默认值为""
。此默认值表示不检查md5sum
,这与 OADP 1.3 一致。对于在 DPA 中创建的 BSL,请使用 DPA 中的spec.backupLocations[].velero.config.checksumAlgorithm
字段进行更新。如果您的 BSL 在 DPA 外部创建,则可以使用 BSL 中的spec.config.checksumAlgorithm
更新此配置。
必须备份当前的DataProtectionApplication
(DPA) 配置。
通过运行以下命令保存当前的 DPA 配置
$ oc get dpa -n openshift-adp -o yaml > dpa.orig.backup
使用以下步骤验证升级。
通过运行以下命令查看 OpenShift 数据保护 API (OADP) 资源来验证安装
$ oc get all -n openshift-adp
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
通过运行以下命令验证DataProtectionApplication
(DPA) 是否已协调
$ oc get dpa dpa-sample -n openshift-adp -o jsonpath='{.status}'
{"conditions":[{"lastTransitionTime":"2023-10-27T01:23:57Z","message":"Reconcile complete","reason":"Complete","status":"True","type":"Reconciled"}]}
验证type
是否设置为Reconciled
。
通过运行以下命令验证备份存储位置并确认PHASE
为Available
$ oc get backupstoragelocations.velero.io -n openshift-adp
NAME PHASE LAST VALIDATED AGE DEFAULT
dpa-sample-1 Available 1s 3d16h true