4.2. OADP 发行注记
4.2.1. OADP 1.3 发行注记
OpenShift API for Data Protection (OADP) 的发行注记介绍了新的功能和增强功能、已弃用的功能、产品建议、已知问题和解决问题。
4.2.1.1. OADP 1.3.4 发行注记
OpenShift API for Data Protection (OADP) 1.3.4 发行注记列出了已解决的问题和已知问题。
4.2.1.1.1. 已解决的问题
备份 spec.resourcepolicy.kind 参数现在区分大小写
在以前的版本中,备份 spec.resourcepolicy.kind
参数只支持较低级别字符串。在这个版本中,它不区分大小写。OADP-2944
使用 olm.maxOpenShiftVersion 以防止集群升级到 OCP 4.16 版本
集群 operator-lifecycle-manager
Operator 不能在次版本的 OpenShift Container Platform 间升级。使用 olm.maxOpenShiftVersion
参数可防止在安装 OADP 1.3 时升级到 OpenShift Container Platform 4.16 版本。要升级到 OpenShift Container Platform 4.16 版本,请将 OCP 4.15 版本上的 OADP 1.3 升级到 OADP 1.4。OADP-4803
BSL 和 VSL 从集群中移除
在以前的版本中,当修改任何数据保护应用程序(DPA)时,从 backupLocations
或 snapshotLocations
部分删除 Backup Storage Locations (BSL)或卷快照位置(VSL)时,BSL 或 VSL 不会被删除,直到 DPA 被删除为止。在这个版本中,BSL/VSL 从集群中移除。OADP-3050
DPA 协调并验证 secret 密钥
在以前的版本中,数据保护应用程序(DPA)在错误的卷快照位置(VSL) secret 密钥名称中成功协调。在这个版本中,DPA 在协调任何 VSL 前验证 secret 密钥名称。OADP-3052
Velero 的云凭证权限现在有限制
在以前的版本中,Velero 的云凭证权限使用 0644 权限挂载。因此,除了所有者和组外,任何一个都可以读取 /credentials/cloud
文件,从而更轻松地访问敏感信息,如存储访问密钥。在这个版本中,这个文件的权限更新为 0640,且文件不能被其他用户访问,除了所有者和组外。
当 ArgoCD 管理命名空间包含在备份中时,会显示警告
当 ArgoCD 和 Velero 管理同一命名空间时,备份操作中会显示一个警告。OADP-4736
此发行版本中包括的安全修复列表包括在 RHSA-2024:9960 公告中。
有关本发行版本中解决的所有问题的完整列表,请参阅 JIRA 中的 OADP 1.3.4 解决的问题 列表。
4.2.1.1.2. 已知问题
Cassandra 应用程序 pod 在恢复后进入 CrashLoopBackoff
状态
在 OADP 恢复后,Cassandra 应用程序 pod 可能会进入 CrashLoopBackoff
状态。要临时解决这个问题,在恢复 OADP 后删除返回错误或 CrashLoopBackoff
状态的 StatefulSet
pod。StatefulSet
控制器重新创建这些 pod,它正常运行。OADP-3767
defaultVolumesToFSBackup 和 defaultVolumesToFsBackup 标志不相同
dpa.spec.configuration.velero.defaultVolumesToFSBackup
标志与 backup.spec.defaultVolumesToFsBackup
标志不同,这可能会导致混淆。OADP-3692
PodVolumeRestore 可以正常工作,即使恢复被标记为失败
podvolumerestore
继续数据传输,即使恢复标记为失败。OADP-3039
Velero 无法跳过 initContainer 规格的恢复
Velero 可能会恢复 restore-wait init
容器,即使不需要它。OADP-3759
4.2.1.2. OADP 1.3.3 发行注记
OpenShift API for Data Protection (OADP) 1.3.3 发行注记列出了已解决的问题和已知问题。
4.2.1.2.1. 已解决的问题
当其命名空间名称大于 37 个字符时,OADP 会失败
当在带有超过 37 个字符的命名空间中安装 OADP Operator 时,并在创建新 DPA 时,标记 cloud-credentials
secret 会失败。在这个发行版本中,这个问题已被解决。OADP-4211
OADP 镜像 PullPolicy 设置为 Always
在之前的 OADP 版本中,adp-controller-manager 和 Velero pod 的 image PullPolicy 设置为 Always
。在边缘计算的用例中,对 registry 的访问可能会受到带宽的限制,这会而导致 pod 重启后恢复速度较慢。在 OADP 1.3.3 中,openshift-adp-controller-manager
和 Velero pod 的镜像 PullPolicy 设置为 IfNotPresent
。
此发行版本中包括的安全修复列表包括在 RHSA-2024:4982 公告中。
有关本发行版本中解决的所有问题的完整列表,请参阅 JIRA 中的 OADP 1.3.3 解决的问题列表。
4.2.1.2.2. 已知问题
恢复 OADP 后,Cassandra 应用程序 pod 进入 CrashLoopBackoff
状态
在 OADP 恢复后,CrashLoopBackoff
状态可能会进入 Cassandra 应用程序 pod。要临时解决这个问题,在恢复 OADP 后删除返回错误或 CrashLoopBackoff
状态的 StatefulSet
pod。StatefulSet
控制器重新创建这些 pod,它正常运行。
4.2.1.3. OADP 1.3.2 发行注记
OpenShift API for Data Protection (OADP) 1.3.2 发行注记列出了已解决的问题和已知问题。
4.2.1.3.1. 已解决的问题
如果使用了有效的自定义 secret 进行 BSL,则 DPA 无法协调
如果将有效的自定义 secret 用于 Backup Storage Location (BSL),但缺少默认 secret,则 DPA 无法协调。解决办法是首先创建所需的默认 cloud-credentials
。当重新创建了自定义 secret,可以使用它并检查其是否存在。
CVE-2023-45290: oadp-velero-container
: Golang net/http
: Memory exhaustion in Request.ParseMultipartForm
net/http
Golang 标准库软件包中发现了一个安全漏洞,这会影响到之前 OADP 版本。在以前的版本中,当解析 multipart
表单时,可以明确使用 Request.ParseMultipartForm
,或使用 Request.FormValue
, Request.PostFormValue
, 或 Request.FormFile
方法隐式应用,解析表单的总大小限制不适用于在读单一表单行时消耗的内存。这可能会允许在恶意设计的输入中包含非常长的行,从而导致分配大量内存,这可能会导致内存耗尽。这个安全漏洞已在 OADP 1.3.2 中解决。
如需了解更多详细信息,请参阅 CVE-2023-45290。
CVE-2023-45289: oadp-velero-container
: Golang net/http/cookiejar
: Incorrect forwarding of sensitive headers and cookies on HTTP redirect
net/http/cookiejar
Golang 标准库软件包中发现了一个安全漏洞,这会影响到之前 OADP 版本。 当 HTTP 重定向到不是子域匹配或与初始域完全匹配的域时,http.Client
不会转发敏感标头,如 Authorization
或 Cookie
。恶意精心设计的 HTTP 重定向可能会导致敏感标头被意外转发。这个安全漏洞已在 OADP 1.3.2 中解决。
如需了解更多详细信息,请参阅 CVE-2023-45289。
CVE-2024-24783: oadp-velero-container
: Golang crypto/x509
: Verify panics on certificates with an unknown public key algorithm
在 crypto/x509
Golang 标准库软件包中发现了一个安全漏洞,这会影响到之前的 OADP 版本。验证包含带有未知公钥算法的证书的证书链会导致 Certificate.Verify
panic。这会影响将 Config.ClientAuth
设置为 VerifyClientCertIfGiven
或 RequireAndVerifyClientCert
的所有 crypto/tls
客户端和服务器。默认行为是 TLS 服务器无法验证客户端证书。这个安全漏洞已在 OADP 1.3.2 中解决。
如需了解更多详细信息,请参阅 CVE-2024-24783。
CVE-2024-24784: oadp-velero-plugin-container
: Golang net/mail
: Comments in display names are incorrectly handled
net/mail
Golang 标准库软件包中发现了一个安全漏洞,这会影响到之前 OADP 版本。ParseAddressList
函数错误地处理注释、文本(括号中的文本)和显示名称。由于这与地址解析程序不匹配,因此可能会导致使用不同解析器的程序进行不同的信任决策。这个安全漏洞已在 OADP 1.3.2 中解决。
如需了解更多详细信息,请参阅 CVE-2024-24784。
CVE-2024-24785: oadp-velero-container
: Golang: html/template: errors returned from MarshalJSON
methods may break template escaping
在 html/template
Golang 标准库软件包中发现了一个安全漏洞,这会影响到之前 OADP 版本。 如果来自 MarshalJSON
方法返回的错误包含用户控制的数据,则它们可能会用来破坏 HTML/template 软件包的上下文自动转义行为,以便后续操作将意外内容注入模板。 这个安全漏洞已在 OADP 1.3.2 中解决。
如需了解更多详细信息,请参阅 CVE-2024-24785。
有关本发行版本中解决的所有问题的完整列表,请参阅 JIRA 中的 OADP 1.3.2 解决的问题列表。
4.2.1.3.2. 已知问题
恢复 OADP 后,Cassandra 应用程序 pod 进入 CrashLoopBackoff
状态
在 OADP 恢复后,CrashLoopBackoff
状态可能会进入 Cassandra 应用程序 pod。要临时解决这个问题,在恢复 OADP 后删除返回错误或 CrashLoopBackoff
状态的 StatefulSet
pod。StatefulSet
控制器重新创建这些 pod,它正常运行。
4.2.1.4. OADP 1.3.1 发行注记
OpenShift API for Data Protection (OADP) 1.3.1 发行注记列出了新功能、解决的问题和错误以及已知的问题。
4.2.1.4.1. 新功能
OADP 1.3.0 Data Mover 现在被完全支持
在 OADP 1.3.0 中作为技术预览引进的 OADP 内置 Data Mover ,现在在容器化和虚拟机工作负载中被完全支持。
4.2.1.4.2. 已解决的问题
现在支持 IBM Cloud(R) Object Storage 作为存储供应商
IBM Cloud® Object Storage 是 AWS S3 兼容备份存储供应商之一,它在之前不被支持。在这个版本中,IBM Cloud® Object Storage 作为 AWS S3 兼容备份存储供应商被支持。
OADP operator 现在可以正确地报告缺少的区域错误
在以前的版本中,当在 AWS Backup Storage Location (BSL) 配置中在没有指定 region
的情况下指定 profile:default
时,OADP operator 无法报告数据保护应用程序 (DPA) 自定义资源(CR) 中 missing region
错误。在这个版本中,修正了 AWS 的 DPA BSL 规格的验证。因此,OADP Operator 会报告 missing region
错误。
自定义标签不会从 openshift-adp 命名空间中删除
在以前的版本中,openshift-adp-controller-manager
pod 会重置附加到 openshift-adp
命名空间的标签。这会导致需要自定义标签(如 Argo CD)的应用程序出现同步问题,从而导致功能不正确。在这个版本中,这个问题已被解决,自定义标签不会从 openshift-adp
命名空间中删除。
OADP must-gather 镜像收集 CRD
在以前的版本中,OADP must-gather
镜像不会收集 OADP 提供的自定义资源定义 (CRD)。因此,您无法使用 omg
工具在 support shell 中提取数据。在这个版本中,must-gather
镜像会收集 OADP 附带的 CRD,并可使用 omg
工具提取数据。
垃圾回收具有默认频率值的正确描述
在以前的版本中,garbage-collection-frequency
字段对默认频率值有一个错误的描述。在这个版本中,garbage-collection-frequency
具有 gc-controller
协调默认频率的正确值(一小时)。
OperatorHub 中提供了 FIPS 模式标记
通过将 fips-compliant
标志设置为 true
,现在 FIPS 模式标记添加到 OperatorHub 中的 OADP Operator 列表中。此功能在 OADP 1.3.0 中启用,但没有在启用了 FIPS 的 Red Hat Container 目录中显示。
当 csiSnapshotTimeout 设置为短持续时间时,CSI 插件不会出现 nil pointer 的错误
在以前的版本中,当 csiSnapshotTimeout
参数设置为较短的持续时间时,CSI 插件遇到以下错误:plugin panicked: runtime error: invalid memory address or nil pointer dereference
。
在这个版本中,备份会失败并显示以下错误: Timed out awaiting reconciliation of volumesnapshot
。
有关本发行版本中解决的所有问题的完整列表,请参阅 JIRA 中的 OADP 1.3.1 解决的问题列表。
4.2.1.4.3. 已知问题
IBM Power (R) 和 IBM Z (R) 平台上部署的单节点 OpenShift 集群的备份和存储限制
查看在 IBM Power® 和 IBM Z® 平台上部署的单节点 OpenShift 集群的备份和存储相关限制:
- Storage
- 目前,只有 NFS 存储与 IBM Power® 和 IBM Z® 平台上部署的单节点 OpenShift 集群兼容。
- Backup
-
备份和恢复操作只支持使用文件系统备份(如
kopia
和restic
)备份应用程序。
恢复 OADP 后,CrashLoopBackoff 状态会进入 CrashLoopBackoff 状态
在 OADP 恢复后,CrashLoopBackoff
状态可能会进入 Cassandra 应用程序 pod。要临时解决这个问题,在恢复 OADP 后删除带有任何错误或 CrashLoopBackoff
状态的 StatefulSet
pod。StatefulSet
控制器重新创建这些 pod,它正常运行。
4.2.1.5. OADP 1.3.0 发行注记
OpenShift API for Data Protection (OADP) 1.3.0 发行注记列出了新功能、解决的问题和错误以及已知的问题。
4.2.1.5.1. 新功能
Velero 内置 DataMover 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
OADP 1.3 包含一个内置的 Data Mover,您可以使用它将 Container Storage Interface (CSI) 卷快照移到远程对象存储。如果发生故障、意外删除或损坏,内置的 Data Mover 可让您从远程对象存储中恢复有状态的应用程序。它使用 Kopia 作为上传程序机制来读取快照数据并写入 Unified Repository。
使用文件系统备份对应用程序进行备份:Kopia 或 Restic
Velero 的文件系统备份(FSB)支持两个备份库:Restic 和 Kopia。
Velero 允许用户在两个之间进行选择。
对于备份,通过 uploader-type
标志指定在安装过程中的路径。有效值为 restic
或 kopia
。如果没有指定值,则默认为 kopia
。安装后无法更改选择。
GCP Cloud 身份验证
Google Cloud Platform (GCP) 身份验证可让您使用短生命 Google 凭证。
带有 Workload Identity Federation 的 GCP 可让您使用 Identity and Access Management (IAM) 授予外部身份 IAM 角色,包括模拟服务帐户的功能。这消除了与服务帐户密钥相关的维护和安全风险。
AWS ROSA STS 身份验证
您可以将 OpenShift API 用于 Red Hat OpenShift Service on AWS (ROSA) 集群的数据保护 (OADP) 来备份和恢复应用程序数据。
ROSA 提供与各种 AWS 计算、数据库、分析、机器学习、联网、移动和其他服务进行无缝整合,进一步加快向客户构建和交付不同体验。
您可以直接从 AWS 帐户订阅该服务。
创建集群后,您可以使用 OpenShift Web 控制台对集群进行操作。ROSA 服务还使用 OpenShift API 和命令行界面 (CLI) 工具。
4.2.1.5.2. 已解决的问题
在恢复后,ACM 应用程序会被删除并重新创建
在恢复激活后,ACM 应用程序会在受管集群中被删除并重新创建。OpenShift API for Data Protection (OADP 1.2) 备份和恢复过程比旧版本快。在恢复 ACM 资源时,OADP 性能的变化导致了这个结果。因此,有些资源会在其他资源前恢复,这会导致从受管集群中删除应用程序。OADP-2686
由于 Pod 安全标准,Restic 恢复部分失败
在互操作性测试过程中,OpenShift Container Platform 4.14 将 pod 安全模式设置为 enforce
,这会导致 pod 被拒绝。这是因为恢复顺序造成的。pod 在安全性上下文约束(SCC)资源之前创建,因为 pod 违反了 podSecurity
标准,因此拒绝 Pod。当在 Velero 服务器上设置 restore 优先级字段时,恢复可以成功。OADP-2688
如果 Velero 在多个命名空间中安装,则可能会出现 pod 卷备份失败
当在几个命名空间中安装 Velero 时,Pod Volume Backup (PVB)功能中存在回归问题。PVB 控制器没有正确限制为自己命名空间中的 PVB。OADP-2308
OADP Velero 插件返回 "received EOF, stop recv loop" 信息
在 OADP 中,Velero 插件作为单独的进程启动。当 Velero 操作完成后,无论是否成功,它们都会退出。因此,如果您看到 received EOF, stopping recv loop
消息,这并不意味着发生了错误。它代表一个插件操作已完成。OADP-2176
CVE-2023-39325 启用的多个 HTTP/2 的 Web 服务器容易受到 DDoS 攻击(Rapid Reset Attack) 的影响
在之前的 OADP 版本中,HTTP/2 协议易受拒绝服务攻击的影响,因为请求可以快速重置多个流。服务器需要在没有达到每个连接的最大活跃流数量在服务器端的限制的情况下,设置和处理流。这会导致因为服务器的资源被耗尽而出现拒绝服务的问题。
如需更多信息,请参阅 CVE-2023-39325 (Rapid Reset Attack)
有关本发行版本中解决的所有问题的完整列表,请参阅 JIRA 中的 OADP 1.3.0 解决的问题列表。
4.2.1.5.3. 已知问题
当 csiSnapshotTimeout 设置为较短的持续时间时,空指针上的 CSI 插件错误
当 csiSnapshotTimeout
设置为较短的持续时间时,空指针上的 CSI 插件错误有时,它会在短时间内成功完成快照,但通常会出现备份 PartiallyFailed
的 panics,并带有以下错误: plugin panicked: runtime error: invalid memory address 或 nil pointer dereference
。
当 volumeSnapshotContent CR 出错时,备份被标记为 PartiallyFailed
如果有任何 VolumeSnapshotContent
CR 存在一个与删除 VolumeSnapshotBeingCreated
注解相关的错误,它会将备份移到 WaitingForPluginOperationsPartiallyFailed
阶段。OADP-2871
第一次恢复 30,000 资源时的性能问题
当第一次恢复 30,000 个资源时,没有 existing-resource-policy,恢复它们所需的时间需要两倍长(与第二次第三次在 existing-resource-policy 设置为 update
时尝试恢复所需时间相比)。OADP-3071
在 Datadownload 操作释放相关的 PV 前,恢复后 hook 可能会开始运行
由于 Data Mover 操作的异步性质,在 Data Mover 持久性卷声明(PVC)发布相关的 pod 持久性卷(PV)前可能会尝试 post-hook。
GCP-Workload Identity Federation VSL 备份 PartiallyFailed
当在 GCP 上配置 GCP 工作负载身份时,VSL 备份 PartiallyFailed
。
有关本发行版本中所有已知问题的完整列表,请参阅 JIRA 中的 OADP 1.3.0 已知问题 列表。
4.2.1.5.4. 升级备注
始终升级到下一个次版本。不要 跳过版本。要升级到更新的版本,请一次只升级一个频道。例如,若要从 OpenShift API for Data Protection (OADP) 1.1 升级到 1.3,首先升级到 1.2,然后再升级到 1.3。
4.2.1.5.4.1. 从 OADP 1.2 改为 1.3
Velero 服务器已从版本 1.11 更新至 1.12。
OpenShift API for Data Protection (OADP) 1.3 使用 Velero 内置 Data Mover 而不是 VolumeSnapshotMover (VSM) 或 Volsync Data Mover。
这会更改以下内容:
-
spec.features.dataMover
字段和 VSM 插件与 OADP 1.3 不兼容,您必须从DataProtectionApplication
(DPA) 配置中删除配置。 - Data Mover 功能不再需要 Volsync Operator,您可以删除它。
-
自定义资源定义
volumesnapshotbackups.datamover.oadp.openshift.io
和volumesnapshotrestores.datamover.oadp.openshift.io
不再需要,您可以删除它们。 - 不再需要用于 OADP-1.2 Data Mover 的 secret,您可以删除它们。
OADP 1.3 支持 Kopia,它是 Restic 的替代文件系统备份工具。
要使用 Kopia,请使用新的
spec.configuration.nodeAgent
字段,如下例所示:Example
spec: configuration: nodeAgent: enable: true uploaderType: kopia # ...
spec.configuration.restic
字段在 OADP 1.3 中已弃用,并将在以后的 OADP 版本中删除。要避免出现弃用警告,请删除restic
键及其值,并使用以下语法:Example
spec: configuration: nodeAgent: enable: true uploaderType: restic # ...
在以后的 OADP 发行版本中,计划 kopia
工具成为默认的 uploaderType
值。
4.2.1.5.4.2. 从 OADP 1.2 技术预览 Data Mover 升级
OpenShift API for Data Protection (OADP) 1.2 Data Mover 备份 无法使用 OADP 1.3 恢复。要防止应用程序的数据保护出现差距,请在升级到 OADP 1.3 前完成以下步骤:
流程
- 如果您的集群备份足够,且 Container Storage Interface (CSI) 存储可用,请使用 CSI 备份备份应用程序。
如果您需要关闭集群备份:
-
使用使用
--default-volumes-to-fs-backup=true 或 backup.spec.defaultVolumesToFsBackup
选项的文件系统备份应用程序。 -
使用对象存储插件备份应用程序,如
velero-plugin-for-aws
。
-
使用使用
Restic 文件系统备份的默认超时值为一小时。在 OADP 1.3.1 及更高版本中,Restic 和 Kopia 的默认超时值为四小时。
要恢复 OADP 1.2 Data Mover 备份,您必须卸载 OADP,并安装和配置 OADP 1.2。
4.2.1.5.4.3. 备份 DPA 配置
您必须备份当前的 DataProtectionApplication
(DPA) 配置。
流程
运行以下命令来保存您当前的 DPA 配置:
Example
$ oc get dpa -n openshift-adp -o yaml > dpa.orig.backup
4.2.1.5.4.4. 升级 OADP Operator
在升级 OpenShift API for Data Protection (OADP) Operator 时,使用以下序列。
流程
-
将 OADP Operator 的订阅频道从
stable-1.2
改为stable-1.3
。 - 允许 Operator 和容器更新并重启的时间。
其他资源
4.2.1.5.4.5. 将 DPA 转换为新版本
如果您需要使用 Data Mover 移出集群,请重新配置 DataProtectionApplication
(DPA) 清单,如下所示。
流程
-
点 Operators
Installed Operators 并选择 OADP Operator。 - 在 Provided APIs 部分中,点 View more。
- 在 DataProtectionApplication 框中点 Create instance。
点 YAML View 显示当前 DPA 参数。
当前 DPA 示例
spec: configuration: features: dataMover: enable: true credentialName: dm-credentials velero: defaultPlugins: - vsm - csi - openshift # ...
更新 DPA 参数:
-
从 DPA 中删除
features.dataMover
键和值。 - 删除 VolumeSnapshotMover (VSM) 插件。
添加
nodeAgent
键和值。更新的 DPA 示例
spec: configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - csi - openshift # ...
-
从 DPA 中删除
- 等待 DPA 成功协调。
4.2.1.5.4.6. 验证升级
使用以下步骤验证升级。
流程
运行以下命令,查看 OpenShift API for Data Protection (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/node-agent-9cq4q 1/1 Running 0 94s pod/node-agent-m4lts 1/1 Running 0 94s pod/node-agent-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 service/openshift-adp-velero-metrics-svc ClusterIP 172.30.10.0 <none> 8085/TCP 8h NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/node-agent 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
在 OADP 1.3 中,您可以为每个备份启动数据移动,而不是创建 DataProtectionApplication
(DPA)配置。
Example
$ velero backup create example-backup --include-namespaces mysql-persistent --snapshot-move-data=true
Example
apiVersion: velero.io/v1 kind: Backup metadata: name: example-backup namespace: openshift-adp spec: snapshotMoveData: true includedNamespaces: - mysql-persistent storageLocation: dpa-sample-1 ttl: 720h0m0s # ...