---
name: openshift-data-portability
title: Understanding data portability for Red Hat OpenShift on IBM Cloud
description: Data Portability involves a set of tools and procedures that enable customers to export the digital artifacts that are needed to implement similar workload and data processing on different service providers or on-premises software. It includes procedures for copying and storing the service customer content, including the related configuration that is used by the service to store and process the data, on the customer’s own location.
last-updated: 2026-05-18
---

> ## Documentation Index
> The table of contents for this documentation set is at https://cloud.ibm.com/docs/openshift?format=markdown
> The index for all IBM Cloud docs is at: https://cloud.ibm.com/docs/llms.txt
> Use these files to discover more information as needed.

# Understanding data portability for Red Hat OpenShift on IBM Cloud
{: #data-portability}

[Data Portability](#x2113280){: term} involves a set of tools and procedures that enable customers to export the digital artifacts that are needed to implement similar workload and data processing on different service providers or on-premises software. It includes procedures for copying and storing the service customer content, including the related configuration that is used by the service to store and process the data, on the customer’s own location.
{: shortdesc}

## Responsibilities
{: #data-portability-responsibilities}

IBM Cloud provides interfaces and instructions to guide the customer to copy and store the service customer content, including the related configuration, on their own selected location.

The customer is responsible for the use of the exported data and configuration for data portability to other infrastructures, which includes:

- The planning and execution for setting up alternative infrastructure on different cloud providers or on-premises software that provide similar capabilities to the IBM services.
- The planning and execution for the porting of the required application code on the alternative infrastructure, including the adaptation of customer's application code, deployment automation, and so on.
- The conversion of the exported data and configuration to the format that's required by the alternative infrastructure and adapted applications.

For more information, see [Your responsibilities with Red Hat OpenShift on IBM Cloud](https://cloud.ibm.com/docs/openshift?topic=openshift-responsibilities_iks&format=markdown).


## Data export procedures
{: #data-portability-procedures}

Red Hat OpenShift on IBM Cloud provides mechanisms to export your content that was uploaded, stored, and processed using the service.


### Exporting data by using the `oc` CLI
{: #export-procedure-kubectl}





You can use the `oc` CLI to export and save the resources from your cluster. For more information, see the [Kubernetes documentation](https://docs.openshift.com/container-platform/4.19/cli_reference/openshift_cli/developer-cli-commands.html){: external}.

Example `oc get` [commands](https://docs.openshift.com/container-platform/4.19/cli_reference/openshift_cli/developer-cli-commands.html){: external}.



```sh
oc get pod pod1 -o yaml
```
{: pre}


### Exporting data by using Velero
{: #export-velero}

The following example exports data from Red Hat OpenShift on IBM Cloud to IBM Cloud Object Storage. However, you can adapt these steps to export data to other s3 providers. 

1. [Install the Velero CLI](https://velero.io/docs/v1.14/basic-install/){: external}.
1. [Install Red Hat OpenShift on IBM Cloud CLI](https://cloud.ibm.com/docs/openshift?topic=openshift-cli-install&format=markdown).
1. [Create an IBM Cloud Object Storage instance](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-provision&format=markdown#provision-instance) to store Velero resources.
1. [Create a COS bucket](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-getting-started-cloud-object-storage&format=markdown#gs-create-buckets). Enter a unique name, then select `cross-region` for resiliency and `us-geo` for region.
1. [Create new HMAC credentials](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-uhc-hmac-credentials-main&format=markdown) with the **Manager** role.
1. Create a local credentials file for Velero. Enter the HMAC credentials from the prior step.

    ```txt
    [default]
    aws_access_key_id=<HMAC_access_key_id>
    aws_secret_access_key=<HMAC_secret_access_key>
    ```
    {: codeblock}

1. Create an [IAM Access Group](https://cloud.ibm.com/docs/iam?topic=iam-groups&interface=ui&format=markdown) and assign the Service ID of the COS credentials from Step 3 to Cloud Object Storage. Include **Manager** and **Viewer** permissions. This gives Velero access to read and write to the COS bucket that you created.

1. [Access your Red Hat OpenShift cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-access_cluster&format=markdown).

1. Install Velero on your cluster. If you selected a different region for the COS instance, adjust the command with the appropriate endpoints. By default, this targets all storage in the cluster for backup.

    ```sh
    velero install --provider aws --bucket <bucket-name> --secret-file <hmac-credentials-file> --use-volume-snapshots=false --default-volumes-to-fs-backup --use-node-agent --plugins velero/velero-plugin-for-aws:v1.9.0 --image velero/velero:v1.13.0 --backup-location-config region=us-geo,s3ForcePathStyle="true",s3Url=https://s3.direct.us.cloud-object-storage.appdomain.cloud
    ```
    {: pre}

1. Check the Velero pod status.
    ```sh
    kubectl get pods -n velero
    ```
    {: pre}

1. Create a backup of the cluster. The following command backs up all PVCs, PVs, and pods from the `default` namespace. You can also apply filters to target specific resources or namespaces.
    ```sh
    velero backup create mybackup --include-resources pvc,pv,pod --default-volumes-to-fs-backup --snapshot-volumes=false --include-namespaces default --exclude-namespaces kube-system,test-namespace
    ```
    {: pre}

1. Check the backup status.
    ```sh
    velero backup describe mybackup
    ```
    {: pre}


You can now view or download the cluster resources from your IBM Cloud Object Storage bucket.

You can also migrate the clusters resources that you backed up to IBM Cloud Object Storage to another s3 instance and bucket in a different cloud provider.

For more information about restoring Velero snapshots, see [Cluster migration](https://velero.io/docs/v1.14/migration-case/){: external}.

To see an example scenario that uses `velero` in IBM Cloud for migrating from a Classic to VPC cluster, see [Migrate Block Storage PVCs from an IBM Cloud Kubernetes Classic cluster to VPC cluster](https://community.ibm.com/community/user/blogs/baker-pratt/2024/07/15/migrate-block-storage-pvcs-from-an-ibm-cloud-kuber){: external}.
{: tip}

### Other options for exporting data
{: #data-other}

| Title | Description |
| --- | --- |
| [`Rclone`](https://rclone.org/){: external} | Review the [Migrating Cloud Object Storage (COS) apps and data between IBM Cloud accounts](https://cloud.ibm.com/docs/openshift?topic=openshift-storage-cos-app-migration&format=markdown) tutorial to see how to move data that is one COS bucket to another COS bucket in IBM Cloud or in another cloud provider by using `rclone`. |
| [OpenShift APIs for Data Protection](https://access.redhat.com/articles/5456281){: external} (OADP) | OADP (OpenShift APIs for Data Protection) is an operator that Red Hat has created to create backup and restore APIs for OpenShift clusters. For more information, see [Backup and restore Red Hat OpenShift cluster applications with OADP](https://developer.ibm.com/tutorials/awb-backup-and-restore-redhat-openshift-clusters-with-oadp/){: external} and the [OADP documentation](https://docs.openshift.com/container-platform/4.17/backup_and_restore/application_backup_and_restore/oadp-intro.html){: external} |
| [Backing up and restoring apps and data with Portworx Backup](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_portworx_backup&format=markdown#px-backup-storage) | This document walks you through setting up PX Backup. You can configure clusters from other providers and restore data from IBM Cloud to the new provider. |
| [Wanclouds](https://wanclouds.net/){: external} VPC+ DRaaS (VPC+ Disaster Recovery as a Service) | Review the Wanclouds Multi Cloud Backup, Disaster Recovery and Optimization as a Service. For more information, see the [Wanclouds documentation](https://docs.wanclouds.net/ibm/About-VPC-DRaas/){: external}. |
{: caption="Other options for exporting data" caption-side="bottom"}


## Exported data formats
{: #data-portability-data-formats}


- Cluster resources exported via `oc` can be exported in several file types. For more information, see the [Output options](https://kubernetes.io/docs/reference/kubectl/#output-options){: external}.

- Cluster resources exported via `velero` are exported in JSON format. For more information, see the [Output file format](https://velero.io/docs/v1.14/output-file-format/){: external}.




## Data ownership
{: #data-ownership}

All exported data is classified as customer content and is therefore applied to them full customer ownership and licensing rights, as stated in [IBM Cloud Service Agreement](https://www.ibm.com/support/customer/csol/terms/?id=Z126-6304_WS).