Chapter 3. Deploy OpenShift Data Foundation using IBM FlashSystem


OpenShift Data Foundation can use IBM FlashSystem storage available for consumption through OpenShift Container Platform clusters. You need to install the OpenShift Data Foundation operator and then create an OpenShift Data Foundation cluster for IBM FlashSystem storage.

You can install Red Hat OpenShift Data Foundation Operator using the Red Hat OpenShift Container Platform Operator Hub.

Prerequisites

  • Access to an OpenShift Container Platform cluster using an account with cluster-admin and operator installation permissions.
  • For additional resource requirements, see the Planning your deployment guide.
Important
  • When you need to override the cluster-wide default node selector for OpenShift Data Foundation, you can use the following command to specify a blank node selector for the openshift-storage namespace (create openshift-storage namespace in this case):

    $ oc annotate namespace openshift-storage openshift.io/node-selector=

Procedure

  1. Log in to the OpenShift Web Console.
  2. Click Operators OperatorHub.
  3. Scroll or type OpenShift Data Foundation into the Filter by keyword box to find the OpenShift Data Foundation Operator.
  4. Click Install.
  5. Set the following options on the Install Operator page:

    1. Update Channel as stable-4.18.
    2. Installation Mode as A specific namespace on the cluster.
    3. Installed Namespace as Operator recommended namespace openshift-storage. If Namespace openshift-storage does not exist, it is created during the operator installation.
    4. Select Approval Strategy as Automatic or Manual.

      If you select Automatic updates, then the Operator Lifecycle Manager (OLM) automatically upgrades the running instance of your Operator without any intervention.

      If you select Manual updates, then the OLM creates an update request. As a cluster administrator, you must then manually approve that update request to update the Operator to a newer version.

    5. Ensure that the Enable option is selected for the Console plugin.
    6. Click Install.

Verification steps

  • After the operator is successfully installed, a pop-up with a message, Web console update is available appears on the user interface. Click Refresh web console from this pop-up for the console changes to reflect.
  • In the Web Console:

    • Navigate to Installed Operators and verify that the OpenShift Data Foundation Operator shows a green tick indicating successful installation.
    • Navigate to Storage and verify if the Data Foundation dashboard is available.

You need to create a new OpenShift Data Foundation cluster after you install the OpenShift Data Foundation operator on the OpenShift Container Platform.

Prerequisites

  • A valid Red Hat OpenShift Data Foundation Advanced subscription. For more information, see the knowledgebase article on OpenShift Data Foundation subscriptions.
  • For Red Hat Enterprise Linux® operating system, ensure that there is iSCSI connectivity and then configure Linux multipath devices on the host.
  • For Red Hat Enterprise Linux CoreOS or when the packages are already installed, configure Linux multipath devices on the host.
  • Ensure to configure each worker with storage connectivity according to your storage system instructions. For the latest supported FlashSystem storage systems and versions, see IBM ODF FlashSystem driver documentation.

Procedure

  1. In the OpenShift Web Console, click Operators Installed Operators to view all the installed operators.

    Ensure that the Project selected is openshift-storage.

  2. Click OpenShift Data Foundation and then click Create StorageSystem.
  3. In the Backing storage page, select the following options:

    1. Select Full deployment for the Deployment type option.
    2. Select Connect an external storage platform from the available options.
    3. Select IBM FlashSystem Storage from the Storage platform list.
    4. Click Next.
  4. In the Create storage class page, provide the following information:

    1. Enter a name for the storage class.

      When creating block storage persistent volumes, select the storage class <storage_class_name> for best performance. The storage class allows direct I/O path to the FlashSystem.

    2. Enter the following details of IBM FlashSystem connection:

      • IP address
      • User name
      • Password
      • Pool name
    3. Select a Volume mode.
    4. Click Next.
  1. In the Capacity and nodes page, provide the necessary details:

    1. Select a value for Requested capacity.

      The available options are 0.5 TiB, 2 TiB, and 4 TiB. The requested capacity is dynamically allocated on the infrastructure storage class.

    2. Select at least three nodes in three different zones.

      It is recommended to start with at least 14 CPUs and 34 GiB of RAM per node. If the nodes selected do not match the OpenShift Data Foundation cluster requirement of an aggregated 30 CPUs and 72 GiB of RAM, a minimal cluster will be deployed. For minimum starting node requirements, see the Resource requirements section in the Planning guide.

    3. Click Next.
  2. Optional: In the Security and network page, provide the necessary details:

    1. To enable encryption, select Enable data encryption for block and file storage.

      1. Choose any one or both Encryption level:

        • Cluster-wide encryption to encrypt the entire cluster (block and file).
        • StorageClass encryption to create encrypted persistent volume (block only) using encryption enabled storage class.
      2. Select the Connect to an external key management service checkbox. This is optional for cluster-wide encryption.

        1. Key Management Service Provider is set to Vault by default.
        2. Enter Vault Service Name, host Address of Vault server ('https://<hostname or ip>'), Port number, and Token.
      3. Expand Advanced Settings to enter additional settings and certificate details based on your Vault configuration:

        1. Enter the Key Value secret path in the Backend Path that is dedicated and unique to OpenShift Data Foundation.
        2. Optional: Enter TLS Server Name and Vault Enterprise Namespace.
        3. Provide CA Certificate, Client Certificate, and Client Private Key by uploading the respective PEM encoded certificate file.
      4. Click Save.
      5. Select Default (SDN) if you are using a single network or Custom (Multus) if you are using multiple network interfaces.

        1. Select a Public Network Interface from the dropdown.
        2. Select a Cluster Network Interface from the dropdown. NOTE: If you are using only one additional network interface, select the single NetworkAttachementDefinition, that is, ocs-public-cluster for the Public Network Interface, and leave the Cluster Network Interface blank.
      6. Click Next.
    2. To enable in-transit encryption, select In-transit encryption.

      1. Select a Network.
      2. Click Next.
  3. In the Review and create page, review if all the details are correct:

    • To modify any configuration settings, click Back to go back to the previous configuration page.
  4. Click Create StorageSystem.

Verification Steps

Verifying the state of the pods
  1. Click Workloads Pods from the left pane of the OpenShift Web Console.
  2. Select openshift-storage from the Project drop-down list.

    Note

    If the Show default projects option is disabled, use the toggle button to list all the default projects.

    Expand
    Table 3.1. Pods corresponding to OpenShift Data Foundation components
    ComponentCorresponding pods

    OpenShift Data Foundation Operator

    • ocs-operator-* (1 pod on any worker node)
    • ocs-metrics-exporter-* (1 pod on any worker node)
    • odf-operator-controller-manager-* (1 pod on any worker node)
    • odf-console-* (1 pod on any worker node)
    • csi-addons-controller-manager-* (1 pod on any worker node)

    ibm-storage-odf-operator

    • ibm-storage-odf-operator-* (2 pods on any worker nodes)
    • ibm-odf-console-*

    ibm-flashsystem-storage

    ibm-flashsystem-storage-* (1 pod on any worker node)

    rook-ceph Operator

    rook-ceph-operator-* (1 pod on any worker node)

    Multicloud Object Gateway

    • noobaa-operator-* (1 pod on any worker node)
    • noobaa-core-* (1 pod on any worker node)
    • noobaa-db-pg-* (1 pod on any worker node)
    • noobaa-endpoint-* (1 pod on any worker node)

    CSI

    • ibm-block-csi-* (1 pod on any worker node)
Verifying that the OpenShift Data Foundation cluster is healthy
  1. In the Web Console, click Storage Data Foundation.
  2. In the Status card of the Overview tab, verify that the Storage System has a green tick mark.
  3. In the Details card, verify that the cluster information is displayed.

For more information on the health of the OpenShift Data Foundation cluster using the Block and File dashboard, see Monitoring OpenShift Data Foundation.

Verifying that the Multicloud Object Gateway is healthy
  1. In the Web Console, click Storage Data Foundation.
  2. In the Status card of the Overview tab, click Storage System and then click the storage system link from the pop up.
  3. In the Status card of the Object tab, verify that both Object Service and Data Resiliency have a green tick.
  4. In the Details card, verify that the MCG information is displayed.

For more information on the health of the OpenShift Data Foundation cluster using the object dashboard, see Monitoring OpenShift Data Foundation.

Verifying that IBM FlashSystem is connected and the storage cluster is ready
  • Run the following command to verify if the OpenShift Data Foundation cluster is connected to the external IBM FlashSystem.
$ oc get flashsystemclusters.odf.ibm.com
NAME                               AGE   PHASE   CREATED AT
ibm-flashsystem-storage-fab3p-60   46h   Ready   2025-06-30T12:17:06Z
Verifying the StorageSystem of the storage
  • Run the following command to verify the storageSystem of IBM FlashSystem storage cluster.
$ oc get storagesystems.odf.openshift.io
NAME                                   STORAGE-SYSTEM-KIND                       STORAGE-SYSTEM-NAME
ibm-flashsystemcluster-storagesystem   flashsystemcluster.odf.ibm.com/v1alpha1   ibm-flashsystemcluster
ocs-storagecluster-storagesystem       storagecluster.ocs.openshift.io/v1        ocs-storagecluster
Verifying the subscription of the IBM operator
  • Run the following command to verify the subscription:
$ oc get subscriptions.operators.coreos.com
NAME                                                                         PACKAGE                    SOURCE                    CHANNEL
cephcsi-operator-stable-4.18-redhat-operators-openshift-marketplace          cephcsi-operator           redhat-operators          stable-4.18
ibm-block-csi-operator-stable-certified-operators-openshift-marketplace      ibm-block-csi-operator     certified-operators       stable
ibm-storage-odf-operator                                                     ibm-storage-odf-operator   ibm-storage-odf-catalog   stable-v1.7
mcg-operator-stable-4.18-redhat-operators-openshift-marketplace              mcg-operator               redhat-operators          stable-4.18
ocs-client-operator-stable-4.18-redhat-operators-openshift-marketplace       ocs-client-operator        redhat-operators          stable-4.18
ocs-operator-stable-4.18-redhat-operators-openshift-marketplace              ocs-operator               redhat-operators          stable-4.18
odf-csi-addons-operator-stable-4.18-redhat-operators-openshift-marketplace   odf-csi-addons-operator    redhat-operators          stable-4.18
odf-dependencies                                                             odf-dependencies           redhat-operators          stable-4.18
odf-operator                                                                 odf-operator               redhat-operators          stable-4.18
odf-prometheus-operator-stable-4.18-redhat-operators-openshift-marketplace   odf-prometheus-operator    redhat-operators          stable-4.18
recipe-stable-4.18-redhat-operators-openshift-marketplace                    recipe                     redhat-operators          stable-4.18
rook-ceph-operator-stable-4.18-redhat-operators-openshift-marketplace        rook-ceph-operator         redhat-operators          stable-4.18
Verifying the CSVs
  • Run the following command to verify that the CSVs are in the succeeded state.
$ oc get csv
NAME                                    DISPLAY                                 VERSION        REPLACES                                PHASE
cephcsi-operator.v4.18.6-rhodf          CephCSI operator                        4.18.6-rhodf   cephcsi-operator.v4.18.5-rhodf          Succeeded
ibm-block-csi-operator.v1.12.4          IBM block storage CSI driver operator   1.12.4                                                 Succeeded
ibm-storage-odf-operator.v1.7.1         IBM Storage ODF operator                1.7.1          ibm-storage-odf-operator.v1.7.0         Succeeded
mcg-operator.v4.18.6-rhodf              NooBaa Operator                         4.18.6-rhodf   mcg-operator.v4.18.5-rhodf              Succeeded
ocs-client-operator.v4.18.6-rhodf       OpenShift Data Foundation Client        4.18.6-rhodf   ocs-client-operator.v4.18.5-rhodf       Succeeded
ocs-operator.v4.18.6-rhodf              OpenShift Container Storage             4.18.6-rhodf   ocs-operator.v4.18.5-rhodf              Succeeded
odf-csi-addons-operator.v4.18.6-rhodf   CSI Addons                              4.18.6-rhodf   odf-csi-addons-operator.v4.18.5-rhodf   Succeeded
odf-dependencies.v4.18.6-rhodf          Data Foundation Dependencies            4.18.6-rhodf   odf-dependencies.v4.18.5-rhodf          Succeeded
odf-operator.v4.18.6-rhodf              OpenShift Data Foundation               4.18.6-rhodf   odf-operator.v4.18.5-rhodf              Succeeded
odf-prometheus-operator.v4.18.6-rhodf   Prometheus Operator                     4.18.6-rhodf   odf-prometheus-operator.v4.18.5-rhodf   Succeeded
recipe.v4.18.6-rhodf                    Recipe                                  4.18.6-rhodf   recipe.v4.18.5-rhodf                    Succeeded
rook-ceph-operator.v4.18.6-rhodf        Rook-Ceph
Verifying the IBM operator and CSI pods
  • Run the following command to verify the IBM operator and CSI pods:
$ oc get pods
NAME                                                              READY   STATUS                 RESTARTS   AGE
ceph-csi-controller-manager-65f4bc4cd5-9qbp4                      2/2     Running                0          46h
csi-addons-controller-manager-757d9c6748-94nrt                    2/2     Running                0          46h
csi-cephfsplugin-b642k                                            3/3     Running                0          46h
csi-cephfsplugin-l75pt                                            3/3     Running                0          46h
csi-cephfsplugin-provisioner-847f7c54d8-52nz9                     7/7     Running                0          46h
csi-cephfsplugin-provisioner-847f7c54d8-xtp5j                     7/7     Running                0          46h
csi-cephfsplugin-vh485                                            3/3     Running                0          46h
csi-rbdplugin-9hss7                                               4/4     Running                0          46h
csi-rbdplugin-9q9qd                                               4/4     Running                0          46h
csi-rbdplugin-9vkqh                                               4/4     Running                0          46h
csi-rbdplugin-provisioner-7f4b8d946f-ngz65                        7/7     Running                0          46h
csi-rbdplugin-provisioner-7f4b8d946f-x8l8t                        7/7     Running                0          46h
ibm-block-csi-controller-0                                        8/8     Running                0          41h
ibm-block-csi-node-6vmpq                                          3/3     Running                0          46h
ibm-block-csi-node-fw7xc                                          3/3     Running                0          41h
ibm-block-csi-node-k57sv                                          3/3     Running                0          46h
ibm-block-csi-operator-867c54df5d-2t968                           1/1     Running                0          46h
ibm-flashsystem-storage-deployment-5958ffd56b-tj6zw               1/1     Running                0          46h
ibm-odf-console-6d64dcc46c-bkknx                                  1/1     Running                0          41h
ibm-storage-odf-operator-787c67c7bf-nzp9w                         2/2     Running                0          41h
noobaa-core-0                                                     2/2     Running                0          46h
noobaa-db-pg-0                                                    1/1     Running                0          46h
noobaa-endpoint-5d94d888fc-bj28x                                  1/1     Running                0          46h
noobaa-operator-67b569fc76-rk99d                                  1/1     Running                0          46h
ocs-metrics-exporter-6f7f79fcf9-xm6pq                             2/3     Running                0          46h
ocs-operator-676c964c58-nsb7g                                     1/1     Running                0          46h
odf-console-75dc785696-n97sk                                      1/1     Running                0          46h
odf-operator-controller-manager-785ddcd999-tf245                  2/2     Running                0          46h
rook-ceph-crashcollector-worker-node1-b95b5cd54-7qbhb             1/1     Running                0          46h
rook-ceph-crashcollector-worker-node2-757d746d5f-jsfrx            1/1     Running                0          46h
rook-ceph-crashcollector-worker-node3-6d4f8f7848-xvvw2            1/1     Running                0          46h
rook-ceph-exporter-worker-node1-5dcf74b647-t5rg7                  1/1     Running                0          46h
rook-ceph-exporter-worker-node2-66c694f5b6-n96g5                  1/1     Running                0          46h
rook-ceph-exporter-worker-node3-58fd7ffcfc-vpzfr                  1/1     Running                0          46h
rook-ceph-mds-ocs-storagecluster-cephfilesystem-a-557b4cc9gsx65   2/2     Running                0          46h
rook-ceph-mds-ocs-storagecluster-cephfilesystem-b-5d8748dfmrhfn   2/2     Running                0          46h
rook-ceph-mgr-a-f56c6866b-tzl2s                                   3/3     Running                0          46h
rook-ceph-mgr-b-796d5f69bf-f54qr                                  3/3     Running                0          46h
rook-ceph-mon-a-6b5dc9dd6c-f4dvn                                  2/2     Running                0          46h
rook-ceph-mon-b-8d458fbdf-wjgzm                                   2/2     Running                0          46h
rook-ceph-mon-c-5b78749887-mcpjl                                  2/2     Running                0          46h
rook-ceph-operator-578dfdd8dd-mn9vn                               1/1     Running                0          46h
rook-ceph-osd-0-754499c4bd-2nrs2                                  2/2     Running                0          46h
rook-ceph-osd-1-5566ff6d99-dc6l4                                  2/2     Running                0          46h
rook-ceph-osd-2-8567c9f9f7-wr66b                                  2/2     Running                0          46h
rook-ceph-osd-prepare-667012a10f7f0800994523ce6731b5d1-n7fgb      0/1     Completed              0          46h
rook-ceph-osd-prepare-ab6be2d13c76aad7123b793996562bf0-wpqsv      0/1     Completed              0          46h
rook-ceph-osd-prepare-baf6cafc480b4e046c337c49601633b8-zllnx      0/1     Completed              0          46h
rook-ceph-rgw-ocs-storagecluster-cephobjectstore-a-5f4dfd9wlbvn   2/2     Running                0          46h
ux-backend-server-db4c5b7bd-hn9jx                                 2/2     Running                0          46h
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat Documentation

Legal Notice

Theme

© 2026 Red Hat
Back to top