Create a Cross Cloud Backup
Cross-cloud backup using the KDMP driver is not available in Federated mode. In Federated mode, only object store backup locations are supported and backup operations are handled locally by Stork on each application cluster.
Portworx Backup uses the KDMP driver to trigger a cross-cloud backup.
A cross-cloud backup (also referred to as direct KDMP or generic backup) lets you back up an application in one cloud or storage environment and restore it in another. Unlike a snapshot-based backup, which relies on storage-native (cloudsnap or CSI) snapshots and is therefore tied to a specific provisioner, a cross-cloud backup uses the KDMP driver to mount the persistent volume and copy its file system contents to object storage at the generic level. Because the data is copied rather than snapshotted, the resulting backup is portable across providers. For the underlying concept, see Direct KDMP/generic.
Prerequisites
- An application cluster added to Portworx Backup
- A configured backup location (object store or NFS)
- Sufficient CPU and memory headroom on the application cluster for the KDMP data-mover pods, along with the appropriate RBAC permissions for KDMP to create and run these pods in the namespace being backed up. The data-mover pods' CPU and memory requests and limits are controlled by the
KDMP_KOPIAEXECUTOR_*parameters in thekdmp-configConfigMap; for guidance on tuning them, see Configure kdmp-config ConfigMap parameters and the kdmp-config parameter reference. For the additional buffer storage required on the cluster for generic, KDMP, and cross-cloud backups, see Cluster Prerequisites. - If you are using the Linkerd service mesh with mTLS enabled, the namespace being backed up must carry the following annotations:
For the full setup procedure, see Enable mTLS using Linkerd.kubectl annotate namespace <namespace> config.alpha.linkerd.io/proxy-enable-native-sidecar="true" linkerd.io/inject=enabled
Create a cross cloud backup
To create a cross cloud backup (also referred to as direct KDMP backup) of your namespace:
-
Log in to the Portworx Backup web console.
-
From the home page, click the Clusters icon in the left navigation pane. The cluster page lists all the application clusters you have associated with Portworx Backup.
- Choose the application cluster that contains the namespace or VM to be backed up.
- Navigate to Applications tab and choose NS or VM tab (based on the namespace(s)/VMs you want to back up) and select the namespace(s)/VM(s) you want to back up.
-
You can create a namespace or VM backup in this page.
-
For a namespace backup, you will see the following options:
-
Search by namespace name: this search field allows you to filter the namespaces by their names
-
All resources: this drop-down allows you to select the required resources or all the resources along with a search option to traverse the list with the resource name. After selection of resources, you can select individual resources of a resource group by navigating to Vertical ellipsis > Select Resources (gets enabled after you select one or more resources) under Resources column provided at the end of each namespace in the Portworx Backup web console.
notePortworx Backup web console displays selected resource count under RESOURCES column.
-
-
Add namespace label: allows you to add labels for the namespaces to search them with the applied labels at later point in time. For more information, see Backup using namespace labels.
-
Add resource label: allows you to add labels for the resources to search them with the applied labels at later point in time. For more information, see Backup using resource labels.
-
NAME: allows you to back up all namespaces in the current page you are in
notePortworx Backup allows you to select multiple namespaces of a cluster from different pages and then back up the chosen namespaces in a single click.
-
-
For a VM backup, you will see the following options:
-
Search by VM name: allows you to search the VM by its name
-
Filter by namespace: allows you to filter the VM by the namespace where the VM resides. In addition, it also provides a Select All option to select all the namespaces (where the VMs that you want to back up reside)
-
Add namespace label: takes the search string you provide in this field, displays VMs with the specified Namespace labels, and includes them in the backup. It also includes future VMs created with these Namespace labels if a backup schedule is associated when creating the backup. For more information, see Backup using namespace labels.
-
-
Click Backup.
-
In the Create Backup window, specify the following:
-
Enter name for Backup: provide a relevant name for your backup
-
Backup location: search for and select the backup location (object store or NFS) where you want to store your backups. Enter a keyword to filter the list by name.
noteThe Backup location field displays only successfully validated object store or NFS backup locations.
-
Cross Cloud Backup/Restore: this option is disabled by default. Enable this toggle if you want to create a backup in one cloud environment and restore it in another. After you enable this option, Portworx Backup triggers a direct KDMP backup and disables the Snapshot Class Mapping option.
noteIf you are using the Linkerd service mesh with mTLS enabled, ensure the namespace you are backing up carries the
config.alpha.linkerd.io/proxy-enable-native-sidecar: "true"andlinkerd.io/inject: enabledannotations before you trigger the backup. For the annotation command and full setup, see Enable mTLS using Linkerd.For more information on how Portworx Backup selects a backup method (cloudsnap or KDMP) based on the options you choose in the Create Backup window, see Backup methods.
notePortworx Backup does not support restoring static PV/PVCs through the direct KDMP (generic) path used by cross-cloud backup. This limitation is specific to the KDMP/generic restore path and does not apply to all restore scenarios.
For more information on backup types supported by Portworx Backup based on the drivers involved during backup creation, see Backup types by driver.
-
Backup type: allows you to choose whether the backup runs as a manual or a scheduled backup. This UI field controls the timing of the backup and is distinct from the backup method (cloudsnap or KDMP) described in the matrix above.
-
On a schedule: creates a manual or scheduled backup
-
Enabled: creates a manual backup immediately after you click Create
-
Disabled: displays the Choose a Schedule Policy option
-
For more information on schedule policies, see Scheduled Backup.
-
-
Choose a Schedule Policy: associate a schedule policy with your backup to automate the process of backup creation. Portworx Backup supports hourly, weekly, and monthly scheduled backup runs or allows you to run the backup at the specified time.
-
Allow parallel backup: select this option to enable Portworx Backup to trigger a new scheduled backup even when the previous scheduled backup is still in progress (uploading snapshots to the cloud). See Parallel backup schedules for more information on how this feature works in the backend.
noteThe parallel backup option works only for backup objects with Portworx volumes.
-
Pre-exec rule: select a rule from the drop-down to execute before the backup is created
-
Post-exec rule: select a post rule you want to execute after the backup is created
-
Backup Labels: any labels that you want to add to the backup you are going to create
-
NAMESPACES LIST: lists all the namespaces selected for backup creation
noteFields vary for a VM backup in the Create Backup window. For more information on how to create a VM backup, see Create VM backup.
-
-
Click Create.
To confirm that the backup was created, view it in the Clusters > Backups tab of your application cluster. Use the status shown there to verify the outcome of the backup operation:
-
Success: all selected resources or volumes were backed up.
-
Partial Success: at least one resource or volume was backed up successfully while others failed, so the backup completed with partial coverage. For how this state is determined, see Partial Success in VM Backups.
noteObject store (S3 and others) and NFS-based backup targets support cross-cloud or generic (direct KDMP backup), manual, and scheduled backups.