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. Collecting required information
You are here icon. Preparing your cluster
You are not here. Installing the Cloud Pak for Data platform and services
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 Watson™ 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 Watson 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 Watson 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. Run the cpd-cli manage login-to-ocp command to log in to the cluster as a user with sufficient permissions to complete this task. For example:
    cpd-cli manage login-to-ocp \
    --username=${OCP_USERNAME} \
    --password=${OCP_PASSWORD} \
    --server=${OCP_URL}
    Tip: The login-to-ocp command takes the same input as the oc login command. Run oc login --help for details.
  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