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 types of persistent storage:
- Red Hat OpenShift Container Storage
- Version: 4.6 or later fixes
- IBM Spectrum® Fusion
- Version: 2.1.2 or later fixes
- IBM Spectrum Scale Container Native storage
- IBM Spectrum Scale Container Native Storage Access Version: 5.1.1.3 or later fixes
- Network File System (NFS)
- Version: 4
- Portworx
- Version: 2.7.0 or later fixes
- IBM Cloud File Storage
- Version: Not applicable
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 Storage requirements.
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 | IBM Spectrum | NFS | Portworx | IBM Cloud File Storage |
---|---|---|---|---|---|
Deployment environments |
|
|
|
|
|
Red Hat OpenShift 4.8 | Supported | Supported | Supported | Supported | Supported |
Red Hat OpenShift 4.6 | Supported | Not supported | Supported | Supported | Supported |
x86-64 | Supported | Supported | Supported | Supported | Supported |
POWER® | Not supported | Not supported | Supported on Red Hat OpenShift 4.6 only. | Not supported | Not supported |
IBM Z® | Supported | Not supported | Supported | Not supported | Not supported |
License requirements |
Cloud Pak for Data customers are entitled to use
Red Hat OpenShift Data Foundation (previously
Red Hat OpenShift Container Storage), fully
supported by IBM in production environments (Level 1 and Level 2), with the following limitations:
If you exceed the terms, you must purchase a separate license. For more information, see Red Hat OpenShift Data Foundation overview. |
|
No license required. | A separate license is required. For details, see Portworx Enterprise. | No separate license required. For details about 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:
|
ibm-spectrum-scale-sc
with permissions value set within StorageClass permissions: "777" For more details, see Setting up IBM Spectrum storage. |
NFS storage classes are user-defined. Use a storage class with ReadWriteMany (RWX) access. |
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. |
Supported. Replication is supported and can be enabled within the Spectrum Scale Storage Cluster in a variety of ways. For details, see Data Mirroring and Replication in the IBM Spectrum Scale documentation. |
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 Storage requirements. |
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. |
IBM Spectrum Protect
Plus is not supported
for application-consistent backup and restore. For storage level backup:
|
Limited support. |
|
Supported, but not enabled by default. For details, see Backing up and restoring data. |
Encryption of data at rest | Supported OpenShift Container Storage uses Linux Unified Key System (LUKS) version 2 based encryption with a key size of 512 bits and the aes-xts-plain64 cipher. You must enable encryption for your whole cluster during cluster deployment to ensure encryption of data at rest. Encryption is disabled by default. Working with encrypted data incurs a small performance penalty.
|
Supported For details, see Encryption in the IBM Spectrum Scale documentation. |
Check with your storage vendor on the steps to enable encryption of data at rest. | Supported with Portworx Enterprise for IBM only.
Portworx uses the LUKS format of dm-crypt and AES-256 as the cipher with xts-plain64 as the cipher mode.
|
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. | 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. | For details, see Disk requirements in the system requirements. |
For details, see Disk requirements in the system requirements. For details on performance, 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 1TB of available storage. For details, see Storage device requirements. |
1 TB or more of available space | 1 TB or more of available space | A minimum of three storage nodes. On each storage node, you must have:
|
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 |
For details, see Resource requirements. |
8 vCPU on each worker node to deploy IBM Spectrum Scale Container
Native and IBM Spectrum
Scale Container Storage Interface Driver.
|
8 vCPU on the NFS server |
|
Not applicable for managed services. |
Minimum amount of memory |
For details, see Resource requirements. |
16 GB of RAM on each worker node to deploy IBM Spectrum Scale Container
Native and IBM Spectrum
Scale Container Storage Interface Driver.
|
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 | Install Portworx Enterprise for IBM on OpenShift | 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 | Product documentation for Troubleshooting OpenShift Container Storage 4.5 |
|
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.
For guidance on how to configure your storage for use with Cloud Pak for Data, see Setting up shared persistent storage.
Requirements
For information about the minimum amount of storage that is required for your environment, see Storage requirements.
- If you are using Portworx storage, your Red Hat OpenShift Container Platform cluster must use the CRI-O container runtime.
- If you are running the Prometheus Cluster Monitoring stack on IBM Cloud, you might notice that pods consume more local storage. You can reduce the retention periods of your logs or you can configure logs to be saved in persistent storage instead of local storage. For more information, see Configuring the monitoring stack. To troubleshoot issues, see Worker nodes show status of disk pressure.
As mentioned in Storage providers, you can use this tool to assess storage that is provided by other vendors; however, this tool does not guarantee support for storage that has not been evaluated by IBM. You can use other storage environments at your own risk.
Recommended disks
- 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