You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{oadp-first} includes a built-in Data Mover that you can use to move Container Storage Interface (CSI) volume snapshots to a remote object store. The built-in Data Mover allows you to restore stateful applications from the remote object store if a failure, accidental deletion, or corruption of the cluster occurs. It uses xref:../../../backup_and_restore/application_backup_and_restore/backing_up_and_restoring/oadp-about-kopia.adoc#oadp-about-kopia[Kopia] as the uploader mechanism to read the snapshot data and write to the unified repository.
10
+
Use the {oadp-first} built-in Data Mover to move Container Storage Interface (CSI) volume snapshots to remote object storage and restore stateful applications after cluster failures. This provides disaster recovery capabilities for both containerized and virtual machine workloads.
11
+
12
+
The Data Mover uses xref:../../../backup_and_restore/application_backup_and_restore/backing_up_and_restoring/oadp-about-kopia.adoc#oadp-about-kopia[Kopia] as the uploader mechanism to read the snapshot data and write to the unified repository.
11
13
12
14
{oadp-short} supports CSI snapshots on the following:
13
15
14
16
* {odf-full}
15
17
* Any other cloud storage provider with the Container Storage Interface (CSI) driver that supports the Kubernetes Volume Snapshot API
16
18
17
-
// ** suggest removing the admonition and replacing with a clear section **
18
-
//
19
-
// [IMPORTANT]
20
-
// ====
21
-
// The {oadp-short} built-in Data Mover, which was introduced in {oadp-short} 1.3 as a Technology Preview, is now fully supported for both containerized and virtual machine workloads.
22
-
// ====
23
-
24
-
[id="oadp-data-mover-support_{context}"]
25
-
== Data Mover support
26
-
27
-
The {oadp-short} built-in Data Mover, which was introduced in {oadp-short} 1.3 as a Technology Preview, is now fully supported for both containerized and virtual machine workloads.
28
-
29
-
.Supported
30
-
31
-
The Data Mover backups taken with {oadp-short} 1.3 can be restored using {oadp-short} 1.3, 1.4, and later. This is supported.
32
-
33
-
.Not supported
34
-
35
-
Backups taken with {oadp-short} 1.1 or {oadp-short} 1.2 using the Data Mover feature cannot be restored using {oadp-short} 1.3 and later. Therefore, it is not supported.
36
-
37
-
{oadp-short} 1.1 and {oadp-short} 1.2 are no longer supported. The DataMover feature in {oadp-short} 1.1 or {oadp-short} 1.2 was a Technology Preview and was never supported. DataMover backups taken with {oadp-short} 1.1 or {oadp-short} 1.2 cannot be restored on later versions of {oadp-short}.
38
-
39
-
40
-
[id="enabling-oadp-data-mover_{context}"]
41
-
== Enabling the built-in Data Mover
42
-
43
-
To enable the built-in Data Mover, you must include the CSI plugin and enable the node agent in the `DataProtectionApplication` custom resource (CR). The node agent is a Kubernetes daemonset that hosts data movement modules. These include the Data Mover controller, uploader, and the repository.
44
-
45
-
.Example `DataProtectionApplication` manifest
46
-
[source,yaml]
47
-
----
48
-
apiVersion: oadp.openshift.io/v1alpha1
49
-
kind: DataProtectionApplication
50
-
metadata:
51
-
name: dpa-sample
52
-
spec:
53
-
configuration:
54
-
nodeAgent:
55
-
enable: true <1>
56
-
uploaderType: kopia <2>
57
-
velero:
58
-
defaultPlugins:
59
-
- openshift
60
-
- aws
61
-
- csi <3>
62
-
defaultSnapshotMoveData: true
63
-
defaultVolumesToFSBackup: <4>
64
-
featureFlags:
65
-
- EnableCSI
66
-
# ...
67
-
----
68
-
<1> The flag to enable the node agent.
69
-
<2> The type of uploader. The possible values are `restic` or `kopia`. The built-in Data Mover uses Kopia as the default uploader mechanism regardless of the value of the `uploaderType` field.
70
-
<3> The CSI plugin included in the list of default plugins.
71
-
<4> In {oadp-short} 1.3.1 and later, set to `true` if you use Data Mover only for volumes that opt out of `fs-backup`. Set to `false` if you use Data Mover by default for volumes.
72
-
73
-
[id="built-in-data-mover-crs"]
74
-
== Built-in Data Mover controller and custom resource definitions (CRDs)
75
-
76
-
The built-in Data Mover feature introduces three new API objects defined as CRDs for managing backup and restore:
77
-
78
-
* `DataDownload`: Represents a data download of a volume snapshot. The CSI plugin creates one `DataDownload` object per volume to be restored. The `DataDownload` CR includes information about the target volume, the specified Data Mover, the progress of the current data download, the specified backup repository, and the result of the current data download after the process is complete.
* `DataUpload`: Represents a data upload of a volume snapshot. The CSI plugin creates one `DataUpload` object per CSI snapshot. The `DataUpload` CR includes information about the specified snapshot, the specified Data Mover, the specified backup repository, the progress of the current data upload, and the result of the current data upload after the process is complete.
* `BackupRepository`: Represents and manages the lifecycle of the backup repositories. {oadp-short} creates a backup repository per namespace when the first CSI snapshot backup or restore for a namespace is requested.
Copy file name to clipboardExpand all lines: backup_and_restore/application_backup_and_restore/installing/configuring-backup-restore-pvc-datamover.adoc
A backup PVC is an intermediate persistent volume claim (PVC) to store data during the data movement backup operation. For some storage classes, such as, CephFS, creating a read-only volume from a snapshot results in faster Data Mover backups.
10
+
Configure backup and restore persistent volume claims (PVCs) to optimize Data Mover operations. For storage classes like CephFS, these intermediate PVCs allow the system to create read-only volumes from snapshots, resulting in significantly faster backups.
11
11
12
12
You create a `readonly` backup PVC by using the `nodeAgent.backupPVC` section of the `DataProtectionApplication` (DPA) and setting the `readOnly` access mode to `true`.
You can configure one or more backup storage locations (BSLs) in the Data Protection Application (DPA). You can also select the location to store the backup in when you create the backup. With this configuration, you can store your backups in the following ways:
13
-
14
-
* To different regions
15
-
* To a different storage provider
11
+
[role="_abstract"]
12
+
Configure multiple backup storage locations (BSLs) in the Data Protection Application (DPA) to store backups across different regions or storage providers. This provides flexibility and redundancy for your backup strategy.
16
13
17
14
{oadp-short} supports multiple credentials for configuring more than one BSL, so that you can specify the credentials to use with any BSL.
18
15
19
16
// module for configuring the DPA with multiple BSLs.
You can configure one or more Volume Snapshot Locations (VSLs) to store the snapshots in different cloud provider regions.
10
+
[role="_abstract"]
11
+
Configure multiple Volume Snapshot Locations (VSLs) in the Data Protection Application (DPA) to store volume snapshots across different cloud provider regions. This provides geographic redundancy and regional disaster recovery capabilities.
12
12
13
13
// module for configuring the DPA with multiple VSLs.
Copy file name to clipboardExpand all lines: modules/oadp-configuring-backup-pvc-datamover-backup.adoc
+15-11Lines changed: 15 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
= Configuring a backup PVC for a Data Mover backup
8
8
9
9
[role="_abstract"]
10
-
Use the `nodeAgent.backupPVC` section of the `DataProtectionApplication` (DPA) object to configure the backup persistent volume claim (PVC) for a storage class.
10
+
Configure backup persistent volume claim (PVC) settings in the `DataProtectionApplication` (DPA) to optimize Data Mover backup performance for different storage classes. The feature gives you read-only access modes for faster data movement.
11
11
12
12
.Prerequisites
13
13
@@ -40,24 +40,27 @@ spec:
40
40
nodeAgent:
41
41
enable: true
42
42
uploaderType: kopia
43
-
backupPVC: # <1>
44
-
storage-class-1:
45
-
readOnly: true # <2>
46
-
spcNoRelabeling: true # <3>
43
+
backupPVC:
44
+
storage-class-1:
45
+
readOnly: true
46
+
spcNoRelabeling: true
47
47
storageClass: gp3-csi
48
48
storage-class-2:
49
49
readOnly: false
50
50
spcNoRelabeling: false
51
-
storageClass: gp3-csi
51
+
storageClass: gp3-csi
52
52
velero:
53
53
defaultPlugins:
54
54
- gcp
55
55
- openshift
56
56
- csi
57
57
----
58
-
<1> In this example, the `backupPVC` section has configurations for two storage classes, `storage-class-1` and `storage-class-2`.
59
-
<2> The `backupPVC` for `storage-class-1` is configured as `readOnly`.
60
-
<3> Because the `backupPVC` for `storage-class-1` is `readOnly`, the `spcNoRelabeling` field is set to `true`.
58
+
+
59
+
where:
60
+
+
61
+
`backupPVC`:: Specifies the `backupPVC` section. In this example, the `backupPVC` section has configurations for two storage classes, `storage-class-1` and `storage-class-2`.
62
+
`readOnly`:: Specifies that the `backupPVC` for `storage-class-1` is configured as `readOnly`.
63
+
`spcNoRelabeling`:: Specifies that the `spcNoRelabeling` field is set to `true` because the `backupPVC` for `storage-class-1` is `readOnly`.
61
64
62
65
. Create a `Backup` custom resource by using the following configuration:
63
66
+
@@ -72,9 +75,10 @@ metadata:
72
75
spec:
73
76
includedNamespaces:
74
77
- <application_namespace>
75
-
snapshotMoveData: true # <1>
78
+
snapshotMoveData: true
76
79
----
77
-
<1> Set to `true` for a Data Mover backup.
80
+
+
81
+
`snapshotMoveData`:: Set to `true` for a Data Mover backup.
Copy file name to clipboardExpand all lines: modules/oadp-configuring-dpa-multiple-bsl.adoc
+34-28Lines changed: 34 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,9 @@
8
8
= Configuring the DPA with more than one BSL
9
9
10
10
[role="_abstract"]
11
-
You can configure the `DataProtectionApplication` (DPA) custom resource (CR) with more than one `BackupStorageLocation` (BSL) CR and specify the credentials provided by the cloud provider.
11
+
Configure the `DataProtectionApplication` (DPA) custom resource (CR) with multiple `BackupStorageLocation` (BSL) resources to store backups across different locations using provider-specific credentials. This provides backup distribution and location-specific restore capabilities.
12
12
13
-
For example, where you have configured the following two BSLs:
13
+
For example, you have configured the following two BSLs:
14
14
15
15
* Configured one BSL in the DPA and set it as the default BSL.
16
16
* Created another BSL independently by using the `BackupStorageLocation` CR.
<2> This parameter indicates that this BSL is the default BSL. If a BSL is not set in the `Backup CR`, the default BSL is used. You can set only one BSL as the default.
69
-
<3> Specify the bucket name.
70
-
<4> Specify a prefix for Velero backups; for example, `velero`.
71
-
<5> Specify the AWS region for the bucket.
72
-
<6> Specify the name of the default `Secret` object that you created.
73
-
<7> Specify a name for the second BSL.
74
-
<8> Specify the URL of the S3 endpoint.
75
-
<9> Specify the correct name for the `Secret`; for example, `custom_secret_name_odf`. If you do not specify a `Secret` name, the default name is used.
67
+
+
68
+
where:
69
+
+
70
+
`name: aws`:: Specifies a name for the first BSL.
71
+
`default: true`:: Indicates that this BSL is the default BSL. If a BSL is not set in the `Backup CR`, the default BSL is used. You can set only one BSL as the default.
72
+
`<bucket_name>`:: Specifies the bucket name.
73
+
`<prefix>`:: Specifies a prefix for Velero backups. For example, `velero`.
74
+
`<region_name>`:: Specifies the AWS region for the bucket.
75
+
`cloud-credentials`:: Specifies the name of the default `Secret` object that you created.
76
+
`name: odf`:: Specifies a name for the second BSL.
77
+
`<url>`:: Specifies the URL of the S3 endpoint.
78
+
`<custom_secret_name_odf>`:: Specifies the correct name for the `Secret`. For example, `custom_secret_name_odf`. If you do not specify a `Secret` name, the default name is used.
76
79
77
80
. Specify the BSL to be used in the backup CR. See the following example.
78
81
+
@@ -84,9 +87,12 @@ kind: Backup
84
87
# ...
85
88
spec:
86
89
includedNamespaces:
87
-
- <namespace> # <1>
88
-
storageLocation: <backup_storage_location> # <2>
89
-
defaultVolumesToFsBackup: true
90
+
- <namespace>
91
+
storageLocation: <backup_storage_location>
92
+
defaultVolumesToFsBackup: true
90
93
----
91
-
<1> Specify the namespace to back up.
92
-
<2> Specify the storage location.
94
+
+
95
+
where:
96
+
+
97
+
`<namespace>`:: Specifies the namespace to back up.
98
+
`<backup_storage_location>`:: Specifies the storage location.
You configure the DPA with more than one VSL and specify the credentials provided by the cloud provider. Make sure that you configure the snapshot location in the same region as the persistent volumes. See the following example.
10
+
[role="_abstract"]
11
+
Configure the `DataProtectionApplication` (DPA) custom resource (CR) with multiple Volume Snapshot Locations (VSLs) using provider-specific credentials in the same region as your persistent volumes. This provides volume snapshot distribution across different storage targets.
11
12
12
-
.Example DPA
13
+
14
+
.Procedure
15
+
16
+
* Configure the DPA CR with more than one VSL as shown in the following example:
17
+
+
13
18
[source,yaml]
14
19
----
15
20
apiVersion: oadp.openshift.io/v1alpha1
@@ -19,7 +24,7 @@ snapshotLocations:
19
24
- velero:
20
25
config:
21
26
profile: default
22
-
region: <region> # <1>
27
+
region: <region>
23
28
credential:
24
29
key: cloud
25
30
name: cloud-credentials
@@ -30,9 +35,12 @@ snapshotLocations:
30
35
region: <region>
31
36
credential:
32
37
key: cloud
33
-
name: <custom_credential> # <2>
38
+
name: <custom_credential>
34
39
provider: aws
35
40
#...
36
41
----
37
-
<1> Specify the region. The snapshot location must be in the same region as the persistent volumes.
38
-
<2> Specify the custom credential name.
42
+
+
43
+
where:
44
+
45
+
`<region>`:: Specifies the region. The snapshot location must be in the same region as the persistent volumes.
46
+
`<custom_credential>`:: Specifies the custom credential name.
Copy file name to clipboardExpand all lines: modules/oadp-configuring-restore-pvc-datamover-restore.adoc
+9-4Lines changed: 9 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,8 @@
7
7
= Configuring a restorePVC for a Data Mover restore
8
8
9
9
[role="_abstract"]
10
+
Configure restore persistent volume claim (PVC) settings in the `DataProtectionApplication` (DPA) to optimize Data Mover restore operations and enable parallel volume restores. This improves restore performance by distributing restore pods across nodes.
11
+
10
12
A `restorePVC` is an intermediate PVC that is used to write data during the Data Mover restore operation.
11
13
12
14
You can configure the `restorePVC` in the `DataProtectionApplication` (DPA) object by using the `ignoreDelayBinding` field. Setting the `ignoreDelayBinding` field to `true` allows the restore operation to ignore the `WaitForFirstConsumer` binding mode. The data movement restore operation then creates the restore pod and provisions the associated volume to an arbitrary node.
@@ -36,8 +38,11 @@ spec:
36
38
nodeAgent:
37
39
enable: true
38
40
uploaderType: kopia
39
-
restorePVC: # <1>
40
-
ignoreDelayBinding: true # <2>
41
+
restorePVC:
42
+
ignoreDelayBinding: true
41
43
----
42
-
<1> Add the `restorePVC` section.
43
-
<2> Set the `ignoreDelayBinding` field to `true`.
44
+
+
45
+
where:
46
+
+
47
+
`restorePVC`:: Specifies the `restorePVC` section.
48
+
`ignoreDelayBinding`:: Set the `ignoreDelayBinding` field to `true`.
= Built-in Data Mover controller and custom resource definitions (CRDs)
8
+
9
+
[role="_abstract"]
10
+
Review the custom resource definitions (CRDs) that the built-in Data Mover uses to manage volume snapshot backup and restore operations. This helps you understand how Data Mover handles data upload, download, and repository management.
11
+
12
+
The built-in Data Mover feature introduces three new API objects defined as CRDs for managing backup and restore:
13
+
14
+
* `DataDownload`: Represents a data download of a volume snapshot. The CSI plugin creates one `DataDownload` object per volume to be restored. The `DataDownload` CR includes information about the target volume, the specified Data Mover, the progress of the current data download, the specified backup repository, and the result of the current data download after the process is complete.
15
+
16
+
* `DataUpload`: Represents a data upload of a volume snapshot. The CSI plugin creates one `DataUpload` object per CSI snapshot. The `DataUpload` CR includes information about the specified snapshot, the specified Data Mover, the specified backup repository, the progress of the current data upload, and the result of the current data upload after the process is complete.
17
+
18
+
* `BackupRepository`: Represents and manages the lifecycle of the backup repositories. {oadp-short} creates a backup repository per namespace when the first CSI snapshot backup or restore for a namespace is requested.
0 commit comments