oadp
backup create
Important: IBM Cloud Pak® for Data
Version 4.7 will reach end of support (EOS) on 31 July, 2025. For more information, see the Discontinuance of service announcement for IBM Cloud Pak for Data Version 4.X.
Upgrade to IBM Software Hub Version 5.1 before IBM Cloud Pak for Data Version 4.7 reaches end of support. For more information, see Upgrading IBM Software Hub in the IBM Software Hub Version 5.1 documentation.
Create a snapshot of the entire Cloud Pak for Data instance (when installed on Container Storage Interface (CSI) volumes) or create a Restic backup of an entire Cloud Pak for Data instance on an S3-compatible object store.
Syntax
cpd-cli oadp backup create <cpd-snapshot-name> \
[--aux-service-image-prefix=<backup-hook-image-prefix>] \
[--cleanup-completed-resources=true|false] \
[--default-volumes-to-restic] \
[--enforce-check=true|false] \
[--exclude-resources=<resource.group1,resource.group2,...>] \
[--exclude-tenant-operator-namespace] \
[--grant-image-puller-role=true|false] \
[--hook-kind=prehook|posthook|checkpoint] \
[--image-prefix=<image-registry-prefix>] \
[--include-cluster-resources=true|false] \
[--include-namespaces=<project-name1,project-name2,...>] \
[--include-resources=<resource-name1,resource-name2,...>] \
[--labels=<map<label,label,...>>] \
[--log-level=info|debug|warn|error|panic] \
[--posthooks=true|false] \
[--prehooks=true|false] \
[--scale-always] \
[--scale-wait-timeout=<h,m,s>] \
[--selector=String] \
[--skip-hooks] \
[--snapshot-volumes=true|false] \
[--storage-location=<backup-location>] \
[--tenant-operator-namespace] \
[--try-skip-volume-selinux-label=true|false] \
[--ttl=<h,m,s>] \
[--use-retain-pv-reclaim-policy] \
[--values=<yaml-file-name1,yaml-file-name2,...>] \
[--vol-mnt-pod-cpu-limit=<cpu-limit-value>] \
[--vol-mnt-pod-cpu-request=<cpu-request-value>] \
[--vol-mnt-pod-mem-limit=<memory-limit-value>] \
[--vol-mnt-pod-mem-request=<memory-request-value>] \
[--vol-mnt-service-account=<service-request-value>] \
[--volume-snapshot-locations=<volume-snapshot-location1,volume-snapshot-location2,...>] \
[--verbose] \
[--wait-timeout=<h,m,s>] \
[--with-checkpoint]
Arguments
| Argument | Description |
|---|---|
<cpd-snapshot-name> |
The name of the snapshot to create. |
Table 1: Command arguments
Options
| Option | Description |
|---|---|
--aux-service-image-prefix |
Specify the backup hook job image
prefix (if configurable).
|
--cleanup-completed-resources |
When set to "true", deletes
completed Kubernetes jobs and pods.
|
--default-volumes-to-restic |
Backup all pod volumes using
restic without applying annotation on the pod.
|
--exclude-resources |
Resources to exclude from
the restore, formatted as resource.group (for example,
storageclasses.storage.k8s.io).
|
--exclude-tenant-operator-namespace |
Exclude the tenant operand
namespaces that include tenant specific Cloud Pak Foundation Service Operators and Cloud Pak for
Data Operators.
|
--grant-image-puller-role |
Grants Cloud Pak for Data instance
namespaces permission to pull images from the OADP/Velero namespace. This option is used for
air-gapped installations.
|
--help
|
Display command
help.
|
--hook-kind |
The backup hook type. By default,
backup configmap pre-hook and post-hooks are called and are used for offline backups. When the value
is "checkpoint", checkpoint backup pre-hook and post-hooks are called and are used for
non-disruptive backups.
|
--image-prefix |
Specify the image registry
prefix.
|
--include-cluster-resources |
Include the cluster-scoped
resources in the backup.
|
--include-namespaces |
Include the specified
namespaces in the backup.
|
--include-resources |
Include the specified
resources in the backup.
|
--labels |
Labels to apply to the
backup.
|
--log-level |
The command log
level.
|
--posthooks |
Run the default scale-up of K8's
resources and configmap post-restore hooks.
|
--prehooks |
Run default scale down of K8's
resources and configmap pre-backup hooks.
|
--scale-always |
Quiesce via scale
down.
|
--scale-wait-timeout |
The scale wait timeout duration
('h' for hours, 'm' for minutes, 's' for seconds).
|
--selector
|
Only back up resources that
match the label selector.
|
--skip-hooks |
Skip the default scale down of
resources and backup configmap hooks.
|
--snapshot-volumes |
Take snapshots of
PersistentVolumes as part of the backup. When set to false, the volume is backed-up using Restic.
When set to true, a volume snapshot is created.
|
--storage-location |
The backup location to use for the
backup.
|
--tenant-operator-namespace |
Restrict the scope of backup or
restore commands to tenant operand namespaces that include tenant specific Cloud Pak Foundation
Service Operators and Cloud Pak for Data Operators only.
|
--try-skip-volume-selinux-label |
Add the TrySkipVolumeSELinuxLabel
annotation and selinux runtimeClassName to the
cpdbr-vol-mnt-pod.
|
--ttl |
Specify how long to keep the data
('h' for hours, 'm' for minutes, 's' for seconds).
|
--use-retain-pv-reclaim-policy |
Change persistent volumes to use
the retain reclaim policy for backups.
|
--values |
Specify values in one or more YAML
files.
|
--verbose |
Logs include more detailed
messages.
|
--vol-mnt-pod-cpu-limit |
Set the CPU limit for the
cpdbr-vol-mnt pod.
|
--vol-mnt-pod-cpu-request |
Set the CPU request for the
cpdbr-vol-mnt pod.
|
--vol-mnt-pod-mem-limit |
Set the memory limit for the
cpdbr-vol-mnt pod.
|
--vol-mnt-pod-mem-request |
Set the memory request for the
cpdbr-vol-mnt pod.
|
--vol-mnt-service-account |
The service account for the
cpdbr-vol-mnt pod.
|
--volume-snapshot-locations |
List of locations (at most one per
provider) where volume snapshots are stored.
|
--wait-timeout |
The wait timeout setting ('h' for
hours, 'm' for minutes, 's' for seconds).
|
--with-checkpoint |
Run a checkpoint before
backup.
|
Table 2: Command options
Examples
Note: The following examples use the recommended installation environment variables.
Use a script to create environment variables with the correct values for your environment. For more information, see Best practice: Setting up install variables.
- Create a snapshot with Restic for the entire IBM Cloud Pak for Data instance
(
<cpd-snapshot-name>) in an air-gapped environment. -
cpd-cli oadp backup create <cpd-snapshot-name> \ --cleanup-completed-resources \ --default-volumes-to-restic] \ --exclude-resources='Event,Event.events.k8s.io'\ --image-prefix=registry.redhat.io/ubi8 \ --include-namespaces=<project-name>\ --log-level=debug \ --snapshot-volumes=false \ --verbose - Create a snapshot for the entire IBM Cloud Pak for Data instance, which includes all Tenant Namespaces (Operator, Control Plane and any Tethered Namespaces).
-
cpd-cli oadp backup create <cpd-snapshot-name> \ --tenant-operator-namespace ${CPD_OPERATOR_NS} \ --exclude-tenant-operator-namespace \ --exclude-resources='event,event.events.k8s.io,imagetags.openshift.io,operatorgroups,roles,rolebindings,serviceaccounts,catalogsources.operators.coreos.com,subscriptions.operators.coreos.com,clusterserviceversions.operators.coreos.com,installplans.operators.coreos.com,operandconfig,operandregistry,operandrequest,clients.oidc.security.ibm.com,authentication.operator.ibm.com,namespacescopes,commonservices,clusters.postgresql.k8s.enterprisedb.io' \ --default-volumes-to-restic] \ --snapshot-volumes=false \ --cleanup-completed-resources \ --log-level=debug \ --verbose