4.22. OADP 超时
通过扩展超时,可以允许复杂的或资源密集型的进程在没有预先终止的情况下成功完成。此配置可减少错误、重试或失败。
确保您在扩展超时设置时符合正常的逻辑,,以便不会因为设置的超时时间太长导致隐藏了底层存在的问题。考虑并监控满足进程需求和整体系统性能的适当超时值。
以下 OADP 超时演示了如何和何时实现这些参数的说明:
4.22.1. Restic 超时
spec.configuration.nodeAgent.timeout
参数定义 Restic 超时。默认值为 1h
。
在以下情况下,使用 nodeAgent
部分中的 Restic timeout
参数:
- 对总 PV 数据使用量大于 500GB 的 Restic 备份。
如果备份超时并显示以下错误:
level=error msg="Error backing up item" backup=velero/monitoring error="timed out waiting for all PodVolumeBackups to complete"
Copy to clipboardCopiedlevel=error msg="Error backing up item" backup=velero/monitoring error="timed out waiting for all PodVolumeBackups to complete"
流程
编辑
DataProtectionApplication
自定义资源(CR)清单的spec.configuration.nodeAgent.timeout
块中的值,如下例所示:apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_name> spec: configuration: nodeAgent: enable: true uploaderType: restic timeout: 1h # ...
Copy to clipboardCopiedapiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_name> spec: configuration: nodeAgent: enable: true uploaderType: restic timeout: 1h # ...
4.22.2. Velero 资源超时
resourceTimeout
定义在超时发生前等待 Velero 资源的时间,如等待 Velero 自定义资源定义 (CRD)可用、volumeSnapshot
删除和存储库可用。默认值为 10m
。
在以下情况下使用 resourceTimeout
:
对总 PV 数据使用量大于 1TB 的备份。当在将备份标记为完成前,Velero 尝试清理或删除 Container Storage Interface (CSI)快照时使用此参数作为超时值。
- 这个清理过程的一个子任务会尝试修补 VSC,此超时可用于该任务。
- 要创建或确保一个备份存储库已准备好用于 Restic 或 Kopia 的基于文件系统的备份。
- 在从备份中恢复自定义资源 (CR) 或资源前,检查集群中的 Velero CRD 是否可用。
流程
编辑
DataProtectionApplication
CR 清单的spec.configuration.velero.resourceTimeout
块中的值,如下例所示:apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_name> spec: configuration: velero: resourceTimeout: 10m # ...
Copy to clipboardCopiedapiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_name> spec: configuration: velero: resourceTimeout: 10m # ...
4.22.2.1. Velero 默认项目操作超时
defaultItemOperationTimeout
定义在超时前等待异步 BackupItemActions
和 RestoreItemActions
所需的时间。默认值为 1h
。
在以下情况下使用 defaultItemOperationTimeout
:
- 只有 Data Mover 1.2.x。
- 要指定一个特定备份或恢复应等待异步操作完成的时间长度。在 OADP 功能上下文中,这个值用于涉及 Container Storage Interface (CSI) Data Mover 功能的异步操作。
-
当使用
defaultItemOperationTimeout
在 Data Protection Application (DPA) 中定义defaultItemOperationTimeout
时,它适用于备份和恢复操作。您可以使用itemOperationTimeout
来只定义这些 CR 的备份过程或恢复过程,如以下 "Item operation timeout - restore" 和 "Item operation timeout - backup" 部分所述。
流程
编辑
DataProtectionApplication
CR 清单的spec.configuration.velero.defaultItemOperationTimeout
块中的值,如下例所示:apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_name> spec: configuration: velero: defaultItemOperationTimeout: 1h # ...
Copy to clipboardCopiedapiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_name> spec: configuration: velero: defaultItemOperationTimeout: 1h # ...
4.22.3. Data Mover timeout
timeout
是一个用户提供的、完成 VolumeSnapshotBackup
和 VolumeSnapshotRestore
的超时值。默认值为 10m
。
在以下情况下使用 Data Mover timeout
:
-
如果创建
VolumeSnapshotBackups
(VSBs) 和VolumeSnapshotRestores
(VSR),则会在 10 分钟后超时。 -
对于总 PV 数据使用量超过 500GB 的大型环境。设置
1h
的超时时间。 -
使用
VolumeSnapshotMover
(VSM) 插件。 - 只适用于 OADP 1.1.x。
流程
编辑
DataProtectionApplication
CR 清单的spec.features.dataMover.timeout
块中的值,如下例所示:apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_name> spec: features: dataMover: timeout: 10m # ...
Copy to clipboardCopiedapiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_name> spec: features: dataMover: timeout: 10m # ...
4.22.4. CSI 快照超时
CSISnapshotTimeout
指定,在创建过程返回超时错误前,需要等待 CSI VolumeSnapshot
状态变为 ReadyToUse
的时间。默认值为 10m
。
在以下情况下使用 CSISnapshotTimeout
:
- 使用 CSI 插件。
- 对于非常大型的存储卷,进行快照的时间可能会超过 10 分钟。如果在日志中出现超时信息,请调整此超时设置。
通常,不需要调整 CSISnapshotTimeout
,因为默认设置已考虑到大型存储卷的情况。
流程
编辑
Backup
CR 清单的spec.csiSnapshotTimeout
块中的值,如下例所示:apiVersion: velero.io/v1 kind: Backup metadata: name: <backup_name> spec: csiSnapshotTimeout: 10m # ...
Copy to clipboardCopiedapiVersion: velero.io/v1 kind: Backup metadata: name: <backup_name> spec: csiSnapshotTimeout: 10m # ...
4.22.5. 项目操作超时 - 恢复
ItemOperationTimeout
指定用于等待 RestoreItemAction
操作的时间。默认值为 1h
。
在以下情况下,使用 restore ItemOperationTimeout
:
- 只有 Data Mover 1.2.x。
-
对于 Data Mover,上传到
BackupStorageLocation
或从其中下载。如果在达到超时时没有完成恢复操作,它将标记为失败。如果因为存储卷太大出现超时并导致数据 Data Mover 操作失败,则可能需要增加这个超时设置。
流程
编辑
Restore
CR 清单的Restore.spec.itemOperationTimeout
块中的值,如下例所示:apiVersion: velero.io/v1 kind: Restore metadata: name: <restore_name> spec: itemOperationTimeout: 1h # ...
Copy to clipboardCopiedapiVersion: velero.io/v1 kind: Restore metadata: name: <restore_name> spec: itemOperationTimeout: 1h # ...
4.22.6. 项目操作超时 - 备份
ItemOperationTimeout
指定用于等待异步 BackupItemAction
操作的时间。默认值为 1h
。
在以下情况下,使用 backup ItemOperationTimeout
:
- 只有 Data Mover 1.2.x。
-
对于 Data Mover,上传到
BackupStorageLocation
或从其中下载。如果在达到超时时没有完成备份操作,它将标记为失败。如果因为存储卷太大出现超时并导致数据 Data Mover 操作失败,则可能需要增加这个超时设置。
流程
编辑
Backup
CR 清单的Backup.spec.itemOperationTimeout
块中的值,如下例所示:apiVersion: velero.io/v1 kind: Backup metadata: name: <backup_name> spec: itemOperationTimeout: 1h # ...
Copy to clipboardCopiedapiVersion: velero.io/v1 kind: Backup metadata: name: <backup_name> spec: itemOperationTimeout: 1h # ...