Creating Portworx storage classes

To use Portworx as a storage option, you must manually create two storage classes: one for system and backup data (rwx) and one for user data (rwo).

About this task

For the Portworx storage option, note that you must use split (not single) storage, and you must specify 4K block size for user data. Along with the deployment requirements listed in the Certified Storage table for setting up Portworx storage, you must also ensure that there is a minimum of 1 TB of raw, unformatted disk space on every compute node that is designated for storage. The raw disk must have the same device name on all worker nodes.

Procedure

  1. Create the portworx-db2-rwx-sc storage class:
    # DB2 RWX shared volumes SC for system storage, and optional backup and audit logs storage
    cat <<EOF | oc create -f -
    allowVolumeExpansion: true
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: portworx-db2-rwx-sc
    parameters:
      io_profile: cms
      nfs_v4: "true"
      repl: "3"
      sharedv4: "true"
      priority_io: high
    provisioner: kubernetes.io/portworx-volume
    reclaimPolicy: Retain
    volumeBindingMode: Immediate
    EOF
  2. Create the portworx-db2-rwo-sc storage class:
    # Db2 RWO volumes SC for user storage, transaction logs storage, archive logs storage, and temporary tablespace storage
    cat <<EOF | oc create -f -
    allowVolumeExpansion: true
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: portworx-db2-rwo-sc
    parameters:
      block_size: 4096b
      io_profile: db_remote
      priority_io: high
      repl: "3"
      sharedv4: "false"
      disable_io_profile_protection: "1"
    provisioner: kubernetes.io/portworx-volume
    reclaimPolicy: Retain
    volumeBindingMode: Immediate
    EOF

What to do next

See Deploying Db2 or Db2 Warehouse using a custom resource