Table of contents

Storage considerations

To install IBM® Cloud Pak for Data, you must have a supported file storage system on your Red Hat® OpenShift® cluster.

Storage providers

Cloud Pak for Data supports and is optimized for several storage providers:
  • Red Hat OpenShift Container Storage 4.5 or later
  • Network file system (NFS)
  • Portworx 2.5.5 or later
  • IBM Cloud File Storage (specific storage classes only)

Storage comparison

The following table can help you decide which storage solution is right for you.

As you plan your system, remember that not all services support all types of storage. For complete information on the storage types supported by each service, see System requirements for services.

If the services that you want to install don't support the same type of storage, you can have a mixture of different storage types on your cluster.

Details OpenShift Container Storage Version 4.5 NFS Portworx IBM Cloud File Storage
Deployment environments
  • On-premises deployments on VMware or bare metal

    For details, see the OpenShift Container Storage Infrastructure requirements.

  • Amazon Web Services

    Self-managed Red Hat OpenShift only.

  • Microsoft Azure

    Managed Red Hat OpenShift

  • Google Cloud

    Self-managed Red Hat OpenShift only.

  • On-premises deployments
  • IBM Cloud

    Self-managed Red Hat OpenShift only.

  • Tech preview Amazon Web Services Elastic File System

    Self-managed Red Hat OpenShift only. For details, see Persistent storage using AWS Elastic File System in the Red Hat OpenShift documentation.

  • Microsoft Azure locally redundant Premium SSD

    Self-managed Red Hat OpenShift only.

  • Google Cloud Cloud Filestore

    Self-managed Red Hat OpenShift only.

  • On-premises deployments
  • IBM Cloud

    Managed Red Hat OpenShift.

  • Amazon Web Services

    Self-managed Red Hat OpenShift only.

  • Microsoft Azure

    Self-managed Red Hat OpenShift only.

  • Google Cloud

    Self-managed Red Hat OpenShift only.

Red Hat OpenShift 3.11 Not supported Supported Supported, except for IBM Cloud, which requires 4.5. Not supported
Red Hat OpenShift 4.5 Supported Supported Supported Supported
x86-64 Supported Supported Supported Supported
POWER® Not supported Supported on Red Hat OpenShift 4.5 only. Not supported Not supported
IBM Z® Not supported Supported Not supported Not supported
License requirements A separate license is required. No license required.
On-premises
No separate license required for the entitled Portworx instance, Portworx Essentials for IBM. However, you are limited to:
  • A maximum of 128 Virtual Processing Cores per cluster (8 compute nodes).
  • A maximum of 500 persistent volumes per cluster.
  • A maximum of 5 TB capacity for each persistent volume.

If you exceed these limitations, a separate license is required for Portworx Enterprise for IBM.

IBM Cloud
A separate license is required. For details, see Portworx Enterprise.
No separate license required.

For details on the amount of storage you can use, see How many volumes can be ordered.

Storage classes The required storage classes are automatically created when you install OpenShift Container Storage.

Cloud Pak for Data uses the following storage classes:

  • ocs-storagecluster-cephfs
  • ocs-storagecluster-ceph-rdb
User-defined. The required storage classes are listed in Creating Portworx storage classes.

You can run the provided script to create the storage classes.

ibmc-file-gold-gid
Data replication for high availability Supported

By default, all services use multiple replicas for high availability. OpenShift Container Storage maintains each replica in a distinct availability zone.

Replication support depends on your NFS server. Supported

By default, most services use a storage class that supports 3 replicas.

For details about the replicas for each storage class, see Creating Portworx storage classes.

For details about the storage classes required for each service, see System requirements for services.

Supported, but not enabled by default.

You can enable replication from the IBM Cloud console. For details, see Replicating data.

Backup and restore Container Storage Interface support for snapshots and clones.

Tight integration with Velero CSI plugin for Red Hat OpenShift Container Platform backup and recovery.

Limited support.

For details, see Backing up the Cloud Pak for Data file system on NFS.

On-premises
Limited support.

For details, see Backing up the Cloud Pak for Data file system on Portworx

IBM Cloud
Supported with the Portworx Enterprise Disaster Recovery plan.
Supported, but not enabled by default.

For details, see Backing up and restoring data.

Encryption of data at rest Supported Not supported Supported with Portworx Enterprise for IBM only. Supported
Network requirements Your network must support a minimum of 10 Gbps. You must have sufficient network performance to meet the storage I/O requirements. Your network must support a minimum of 10 Gbps.

For details, see Prerequisites.

You must have sufficient network performance to meet the storage I/O requirements.

For details, see Network connection.

I/O requirements Each node must have at least one enterprise-grade SSD or NVMe device that meets the Disk requirements in the system requirements.

For more information, see Planning your deployment.

If SSD or NVMe aren't supported in your deployment environment, use an equivalent or better device.

For details, see Disk requirements in the system requirements.
Disk throughput requirements
The throughput on worker nodes and storage nodes must be at least 395 MB/s
Other I/O requirements
For other requirements see Disk requirements in the system requirements.

For details, see FIO performance in the Portworx documentation.

For details, see Disk requirements in the system requirements.

The default I/O settings are typically lower than the minimums specified in the Disk requirements section.

To improve the I/O performance for production environments, you must adjust the I/O settings. Contact IBM Software Support for guidance on how to adjust the settings according to Changing the size and IOPS of your existing storage device.

Minimum amount of storage A minimum of three nodes.

On each node, you must have at least one SSD or NVMe device. Each device should have at least 100 GB of storage.

For details, see Storage device requirements.

1 TB or more of available space A minimum of three storage nodes.
On each storage node, you must have:
  • A minimum of 1 TB of raw, unformatted disk
  • An additional 100 GB of raw, unformatted disk for a key-value database.
500 GB or more

Storage is not automatically expanded and is created in smaller chunks.

Increasing the size of the volumes improves I/O performance for production environments. Contact IBM Software Support as indicated in the preceding row.

Minimum amount of vCPU
  • 10 vCPU on initial three nodes.
  • 2 vCPU on any additional nodes

For details, see Resource requirements.

8 vCPU on the NFS server
On-premises
4 vCPU on each storage node
IBM Cloud
For details see the following sections of Storing data on software-defined-storage (SDS) with Portworx:
  • What worker node flavor in Red Hat OpenShift on IBM Cloud is the right one for Portworx?
  • What if I want to run Portworx in a classic cluster with non-SDS worker nodes?
Not applicable for managed services.
Minimum amount of memory
  • 24 GB of RAM on initial three nodes.
  • 5 GB of RAM on any additional nodes.

For details, see Resource requirements.

32 GB of RAM on the NFS server 4 GB of RAM on each storage node Not applicable for managed services
Installation documentation Product documentation for Red Hat OpenShift Container Storage 4.5 Kubernetes NFS-Client Provisioner Installed by default when you install managed Red Hat OpenShift on IBM Cloud. For details, see Storing data on classic IBM Cloud File Storage.
Troubleshooting documentation Troubleshooting OpenShift Container Storage Refer to the documentation from your NFS provider. Troubleshoot Portworx on Kubernetes Troubleshooting persistent storage

Storage configuration and provisioning

Cloud Pak for Data supports dynamic storage provisioning. A Red Hat OpenShift cluster administrator must properly configure the storage before Cloud Pak for Data is installed. The person who installs Cloud Pak for Data and the services on the cluster must know which storage classes to use during installation.

If you use static provisioning, contact IBM Support for assistance installing the Cloud Pak for Data control plane and services on your cluster.

Use the following guidance when you configure your storage:

Storage type Guidance
Red Hat OpenShift Container Storage If you have Red Hat OpenShift Container Storage on your Red Hat OpenShift cluster, no additional configuration is needed. For details, see Infrastructure requirements in the Red Hat OpenShift Container Storage documentation.
NFS
Supported configurations
If you use NFS storage, you can use one of following cluster configurations:
  • NFS on a dedicated node in the same VLAN as the cluster (recommended)
  • An external NFS server

    If you select this option, configure the server based on your availability requirements and ensure that you have a sufficiently fast network connection (at least 1 GB) to reduce latency and ensure performance.

Additional requirements
  • squash cannot be enabled on the server. NFS export must be no_root_squash:
  • All of the nodes in the cluster must have access to mount the NFS server.
  • All of the nodes in the cluster must have read/write access to the NFS server.

    In addition, containerized processes must have read/write access to the NFS server. Containerized processes create files that are owned by various UIDs. (In Cloud Pak for Data, most services use long UIDs between 1000320900 and 1000361000.) If you restrict access to the NFS served to specific UIDs, you might encounter errors when installing or running Cloud Pak for Data.

  • If you use NFS as the storage for a database service, ensure that the storage has sufficient throughput. For details, see the appropriate topic for your environment:
Configuring dynamic storage

By default, Red Hat OpenShift does not include a provisioner plug-in to create an NFS storage class. To dynamically provision NFS storage, use the Kubernetes NFS-Client Provisioner, which is available in the Kubernetes Incubator repository on GitHub.

Important: Before you deploy the nfs-client, you must have an existing NFS server that is already configured.

It is recommended that you deploy the nfs-client without using helm.

Additionally, in step 3, in the OpenShift section, replace the oadm policy command with the following oc adm command:
oc adm policy add-scc-to-user hostmount-anyuid system:serviceaccount:$NAMESPACE:nfs-client-provisioner
Portworx
Supported configurations
Determine which version of Portworx you plan to use:
You must have a minimum of three storage nodes. On each storage node, you must have:
  • A minimum of 1 TB of raw, unformatted disk
  • An additional 100 GB of raw, unformatted disk for a key-value database.
Configuring storage classes
After you install Portworx, you must configure the required storage classes. For details, see Creating Portworx storage classes
IBM Cloud File Storage When you configure your Red Hat OpenShift cluster, ensure that you select IBM Cloud File Storage (ibmc-file-gold-gid storage class).

No additional configuration is required to use IBM Cloud File Storage. However, you might need to adjust your I/O and storage size settings for production workloads, as indicated in the Storage comparison table.

Requirements

For information about the minimum amount of storage that is required to install:

Work with your IBM Sales representative to ensure that you have sufficient storage for the services that you plan to run on top of Cloud Pak for Data and for your expected workload.

If you are using Portworx, the OpenShift cluster must include CRI-O.

For optimal performance, the following storage disks are recommended:
On-premises deployments
  • SSD drives
  • NVMe drives
Amazon Web Services deployments
  • GP2 disks
  • IO1 disks or better

For details, see Amazon EBS volume types

Microsoft Azure
Ultra disks or better