Planning a storage solution

Plan a storage solution for the applications in your cluster. Pick a storage provider that meets your requirements.

Storage types

Following storage types that are based on the volume mode are available in IBM® Cloud Private.

Storage providers

Following storage providers are available in IBM Cloud Private.

Storage retention

Following storage reclaim policies are supported in IBM Cloud Private.

Storage access mode

Note: The access mode that you select has an impact on decisions that are related to multiple replicas and node failover.

Following access modes can be configured:

Table 1. Configurable access modes by volume plug-in
Volume plug-in ReadWriteOnce ReadOnlyMany ReadWriteMany
GlusterFS
Ceph
IBM Spectrum Scale
hostPath - -
vSphere - - (works when pods are collocated)
NFS

Storage provisioning

Understand how a persistent volume (PV) is created, provisioned, and accessed by the infrastructure team to perform backup and restore. Also, understand how a PV can be replicated to a secondary site.

Static provisioning

Infrastructure administrator first creates application volumes (mount points) and then ensures that they are mounted. A Kubernetes administrator exposes these application mount points through Kubernetes PersistentVolumes.

Dynamic provisioning

A Kubernetes administrator creates a set of storage classes for pods to invoke. Each storage class has a predefined set of storage characteristics. You need PVs with various parameters, such as performance, to meet different storage requirements. These parameters can be defined by using storage class resources. For more information, see Configure a Pod to Use a PersistentVolume for Storage Opens in a new tab.

Persistent volume resize

In Kubernetes v1.11, the persistent volume expansion feature is promoted to Beta and you can easily resize an existing volume by editing the PVC object. You no longer need to manually interact with the storage backend or delete and re-create PV and PVC objects to increase the size of a volume. Shrinking persistent volumes is not supported.

If the cloud provider that you choose does not support this feature, you need to manually resize a volume, if required.

To allow expansion of PVC, turn on the ExpandPersistentVolumes feature. For more information, see Feature Gates Opens in a new tab.

If you want to prevent resizing of all claims except when you enable it in a storage class, enable PersistentVolumeClaimResize. For more information, see Using Admission Controllers Opens in a new tab.

When you enable resizing in a storage class, only the PVCs that use the storage class can expand volumes. For more information, see Expanding Persistent Volumes Claims Opens in a new tab.

Other considerations

Consider these additional factors while you decide a storage solution.

Performance

Understanding your application storage needs and performance requirement can help to decide which storage provider to choose and plan for operation and skill enablement.

Backup and restore

Understand how persistent volumes are created, how a volume name is mapped to internal cluster volume name, where the volume is located, and how you can back up and restore the volumes.

Security for data at rest and in motion

Consider the secret that is used for the storage class, encryption of disk, and file system.

Resiliency

For information about high availability persistent storage, see Planning highly available persistent storage. In IBM Cloud Private, enterprise storage is used.

Comparison of storage nodes hosted in IBM Cloud Private versus external storage nodes

Table 2. Comparison of storage nodes management
Topic IBM Cloud Private storage node External storage node
Support IBM support by using TSS support subscription You manage the storage
Update and rollback By using Helm chart You manage update and rollback
Availability Depends on the cluster availability You provide the storage