1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/oadp-multiple-bsl-use-case.adoc
Shruti Deshpande de4d687c07 fix callouts and dita errors
Signed-off-by: Shruti Deshpande <shdeshpa@redhat.com>
2026-01-19 11:49:29 +00:00

225 lines
5.4 KiB
Plaintext

// Module included in the following assemblies:
//
// * backup_and_restore/application_backup_and_restore/installing/configuring-oadp-multiple-bsl.adoc
:_mod-docs-content-type: PROCEDURE
[id="oadp-multiple-bsl-use-case_{context}"]
= Configuring two backup BSLs with different cloud credentials
[role="_abstract"]
Configure two backup storage locations with different cloud credentials to back up applications to multiple storage targets. With this setup, you can distribute backups across different storage providers for redundancy.
.Prerequisites
* You must install the {oadp-short} Operator.
* You must configure two backup storage locations: AWS S3 and Multicloud Object Gateway (MCG).
* You must have an application with a database deployed on a Red Hat OpenShift cluster.
.Procedure
. Create the first `Secret` for the AWS S3 storage provider with the default name by running the following command:
+
[source,terminal]
----
$ oc create secret generic cloud-credentials -n openshift-adp --from-file cloud=<aws_credentials_file_name>
----
+
where:
+
`<aws_credentials_file_name>`:: Specifies the name of the cloud credentials file for AWS S3.
. Create the second `Secret` for MCG with a custom name by running the following command:
+
[source,terminal]
----
$ oc create secret generic mcg-secret -n openshift-adp --from-file cloud=<MCG_credentials_file_name>
----
+
where:
+
`<MCG_credentials_file_name>`:: Specifies the name of the cloud credentials file for MCG. Note the name of the `mcg-secret` custom secret.
. Configure the DPA with the two BSLs as shown in the following example.
+
.Example DPA
[source,yaml]
----
apiVersion: oadp.openshift.io/v1alpha1
kind: DataProtectionApplication
metadata:
name: two-bsl-dpa
namespace: openshift-adp
spec:
backupLocations:
- name: aws
velero:
config:
profile: default
region: <region_name>
credential:
key: cloud
name: cloud-credentials
default: true
objectStorage:
bucket: <bucket_name>
prefix: velero
provider: aws
- name: mcg
velero:
config:
insecureSkipTLSVerify: "true"
profile: noobaa
region: <region_name>
s3ForcePathStyle: "true"
s3Url: <s3_url>
credential:
key: cloud
name: mcg-secret
objectStorage:
bucket: <bucket_name_mcg>
prefix: velero
provider: aws
configuration:
nodeAgent:
enable: true
uploaderType: kopia
velero:
defaultPlugins:
- openshift
- aws
----
+
where:
+
`<region_name>`:: Specifies the AWS region for the bucket.
`<bucket_name>`:: Specifies the AWS S3 bucket name.
`region: <region_name>`:: Specifies the region, following the naming convention of the documentation of MCG.
`<s3_url>`:: Specifies the URL of the S3 endpoint for MCG.
`mcg-secret`:: Specifies the name of the custom secret for MCG storage.
`<bucket_name_mcg>`:: Specifies the MCG bucket name.
. Create the DPA by running the following command:
+
[source,terminal]
----
$ oc create -f <dpa_file_name>
----
+
where:
+
`<dpa_file_name>`:: Specifies the file name of the DPA you configured.
. Verify that the DPA has reconciled by running the following command:
+
[source,terminal]
----
$ oc get dpa -o yaml
----
. Verify that the BSLs are available by running the following command:
+
[source,terminal]
----
$ oc get bsl
----
+
.Example output
[source,terminal]
----
NAME PHASE LAST VALIDATED AGE DEFAULT
aws Available 5s 3m28s true
mcg Available 5s 3m28s
----
. Create a backup CR with the default BSL.
+
[NOTE]
====
In the following example, the `storageLocation` field is not specified in the backup CR.
====
+
.Example backup CR
[source,yaml]
----
apiVersion: velero.io/v1
kind: Backup
metadata:
name: test-backup1
namespace: openshift-adp
spec:
includedNamespaces:
- <mysql_namespace>
defaultVolumesToFsBackup: true
----
+
where:
+
`<mysql_namespace>`:: Specifies the namespace for the application installed in the cluster.
. Create a backup by running the following command:
+
[source,terminal]
----
$ oc apply -f <backup_file_name>
----
+
where:
+
`<backup_file_name>`:: Specifies the name of the backup CR file.
. Verify that the backup completed with the default BSL by running the following command:
+
[source,terminal]
----
$ oc get backups.velero.io <backup_name> -o yaml
----
+
where:
+
`<backup_name>`:: Specifies the name of the backup.
. Create a backup CR by using MCG as the BSL. In the following example, note that the second `storageLocation` value is specified at the time of backup CR creation.
+
.Example backup `CR`
[source,yaml]
----
apiVersion: velero.io/v1
kind: Backup
metadata:
name: test-backup1
namespace: openshift-adp
spec:
includedNamespaces:
- <mysql_namespace>
storageLocation: mcg
defaultVolumesToFsBackup: true
----
+
where:
+
`<mysql_namespace>`:: Specifies the namespace for the application installed in the cluster.
`mcg`:: Specifies the second storage location.
. Create a second backup by running the following command:
+
[source, terminal]
----
$ oc apply -f <backup_file_name>
----
+
where:
+
`<backup_file_name>`:: Specifies the name of the backup CR file.
. Verify that the backup completed with the storage location as MCG by running the following command:
+
[source, terminal]
----
$ oc get backups.velero.io <backup_name> -o yaml
----
+
where:
+
`<backup_name>`:: Specifies the name of the backup.