Creating Portworx storage classes

If you decide to use Portworx as your storage option, Cloud Pak for Data recommends several storage classes for optimized performance and availability.

Installation phase
You are not here. Setting up a client workstation
You are not here. Setting up a cluster
You are not here. Collecting required information
You are not here. Preparing to run installs in a restricted network
You are not here. Preparing to run installs from a private container registry
You are here icon. Preparing the cluster for Cloud Pak for Data
You are not here. Preparing to install an instance of Cloud Pak for Data
You are not here. Installing an instance of Cloud Pak for Data
Who needs to complete this task?
A cluster administrator or a storage administrator must complete this task.
When do you need to complete this task?
If you plan to use Portworx storage, you should create the recommended storage classes. You must complete this task before you install IBM Cloud Pak® for Data.

Before you begin

Ensure that you have a minimum of 1 TB of raw, unformatted disk on every compute node that is designated for storage. The raw disk must have the same device name on all of the worker nodes.

About this task

You can use the cpd-cli manage command to run a script that creates the recommended storage classes. The script that you run depends on whether you use Portworx with CSI:

With CSI
To create the storage classes on a Portworx with CSI environment, use the px-sc-csi.sh script.
Without CSI
To create the storage classes on a Portworx environment without CSI, use the px-sc.sh script.

The scripts create a combination of block storage classes, which use the ReadWriteOnce (RWO) access mode, and file storage classes, which use the ReadWriteMany (RWX) access mode.

Storage class name Storage type Used for
portworx-cassandra-sc Block storage Block storage for components that store data in Cassandra. (Used only for upgrades where this storage class is already in use.)
portworx-couchdb-sc Block storage Block storage with 3 replicas for components, such as common core services, that store data in CouchDB.
portworx-db2-rwo-sc Block storage Block storage with 3 replicas for user data storage for Db2® databases and the IBM® Knowledge Catalog Db2 metastore.
portworx-db2-rwx-sc File storage File storage class with 3 replicas for system and backup data for Db2 databases.
portworx-db2-sc Block storage Block storage with 3 replicas for the IBM Knowledge Catalog Db2 metastore (Used only for upgrades where this storage class is already in use.)
portworx-db-gp Block storage Block storage with 1 replica for databases.
portworx-db-gp2-sc Block storage Block storage with 2 replicas for databases.
portworx-db-gp3-sc Block storage Block storage with 3 replicas for databases.
portworx-dv-shared-gp File storage File storage class with a single replica, used by the Watson™ Query service. (Used only for upgrades where this storage class is already in use.)
portworx-dv-shared-gp3 File storage File storage class with 3 replicas, used by the Watson Query service. (Used only for upgrades where this storage class is already in use.)
portworx-elastic-sc Block storage Block storage with 2 replicas for components, such as common core services, that store data in Elasticsearch.
portworx-gp3-sc Block storage Block storage with 3 replicas, used by the common core services for message brokers, such as RabbitMQ and Redis HA.
portworx-kafka-sc Block storage Block storage for components that store data in Kafka. (Used only for upgrades where this storage class is already in use.)
portworx-metastoredb-sc Block storage Block storage with 3 replicas for components, such as common core services and the Cloud Pak for Data control plane, that need to store metadata.
portworx-nonshared-gp2 Block storage Block storage with 3 replicas, used by the common core services for message brokers, such as RabbitMQ and Redis HA. (Used only for upgrades where this storage class is already in use.)
portworx-rwx-gp2-sc File storage General purpose file storage with 2 replicas, used by components that don't require more specific storage. (Used only for upgrades where this storage class is already in use.)
portworx-rwx-gp3-sc File storage General purpose file storage class with 3 replicas, used by components that don't require more specific storage.
portworx-shared-gp File storage File storage with 3 replicas and high IOPS. (Used only for upgrades where this storage class is already in use.)
portworx-shared-gp1 File storage File storage with 1 replica and high IOPS. (Used only for upgrades where this storage class is already in use.)
portworx-shared-gp3 File storage General purpose file storage with 3 replicas, used by components that don't require more specific storage. Previous name for portworx-rwx-gp3-sc. (Used only for upgrades where this storage class is already in use.)
portworx-solr-sc Block storage Block storage for components that store data in Solr. (Used only for upgrades where this storage class is already in use.)
portworx-watson-assistant-sc Block storage Block storage with 3 replicas. Optimized for watsonx Assistant.
Tip: To see the storage class definitions before you create them on your cluster, run the commands on your local workstation before you log in to the cluster.

Procedure

To create the storage classes on your cluster:

  1. Log the cpd-cli in to the Red Hat® OpenShift® Container Platform cluster:
    ${CPDM_OC_LOGIN}
    Remember: CPDM_OC_LOGIN is an alias for the cpd-cli manage login-to-ocp command.
  2. Run the appropriate script based on the type of Portworx storage on your environment:

    With CSI
    cpd-cli manage px-sc-csi.sh

    Without CSI
    cpd-cli manage px-sc.sh

  3. If you plan to install Informix® on Cloud Pak for Data, create the portworx-informix-sc storage class.

    The portworx-informix-sc storage class provisions block storage with 3 replicas. The storage is optimized for Informix. It is recommended, but not required.


    With CSI
    # Informix
    cat <<EOF | oc create -f -
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: portworx-informix-sc
    parameters:
      repl: "3"
      priority_io: high
      io_profile: db
      block_size: 2048b 
    allowVolumeExpansion: "true"
    provisioner: pxd.portworx.com
    EOF

    Without CSI
    # Informix
    cat <<EOF | oc create -f -
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: portworx-informix-sc
    parameters:
      repl: "3"
      priority_io: high
      io_profile: db
      block_size: 2048b 
    allowVolumeExpansion: "true"
    provisioner: kubernetes.io/portworx-volume
    EOF

What to do next

Now that you've created the Portworx storage classes, you are ready to complete Creating custom security context constraints for services.