health storage-performance command

Check the health of the storage performance.

When you run the storage-performance command, the following health checks occur.
  • Validate the I/O performance requirements for IBM Guardium® Data Security Center.
    To evaluate disk latency, the I/O tests use a small block (4 KB) with 8 threads.
    To evaluate disk throughput, the I/O tests use a large block (1 GB) with 2 threads.
  • Verify that the storage performance results meet the minimum requirements.
    Disk latency (4 KB block with 8 threads)
        For disk latency tests, 11 MB/s has been found to provide sufficient performance.
    Disk throughput (1 GB block with 2 thread)
        For disk throughput tests, 128 MB/s has been found to provide sufficient performance.

Prerequisites

Before you run the storage-performance command, complete the following steps:

  1. Verify that Podman is installed on your system and can access your Red Hat® OpenShift® cluster.
  2. Load the k8s-storage-perf image on your system.
  3. Create a param.yml file with configuration information for the storage performance's health check.

Example of a param.yml file

The following example param.yml file configures the storage-performance command to run the selected write tests.
# OCP Parameters
ocp_url: https://<required>:6443
ocp_username: <required>  # a cluster admin user
ocp_password: <required>
ocp_token: <required if user/password not available>
ocp_apikey: <required if neither user/password or token not available>

storageClass_ReadWriteOnce: <required> # eg "ocs-storagecluster-ceph-rbd"
storageClass_ReadWriteMany: <required>  # eg "ocs-storagecluster-cephfs"

run_storage_perf: true

arch: amd64  # amd64, ppc64le

############################ STORAGE PERFORMANCE PARAMETERS START #######################
# vars file for roles/storage-perf-test
storage_perf_namespace: <required>  # openshift namespace/project where jobs will be executed, it will be created by playbook if not already existing.
logfolder: '.logs'
imageurl: quay.io/ibm-cp4d-public/xsysbench:1.1

cluster_infrastructure: ibmcloud # optional labels eg ibmcloud, aws, azure, vmware
cluster_name: storage-performance-cluster # optional labels 
storage_type: ocs # optional label eg portworx, ocs, <storage vendor>

# To run the performace jobs on a dedicated compute nodes, set the node label which meet the criteria.
# The idea is to gather performance data when the jobs are running remotely from a storage node.
# A cluster administrator can label a node by running this query with appropriate label key/value: 
# oc label node <node name> "<label_key>=<label_value>" --overwrite
dedicated_compute_node:
   label_key: "<optional>"
   label_value: "<optional>"

rwx_storagesize: 10Gi
rwo_storagesize: 10Gi


# IO flags to use: direct|dsync|sync|none. 
# Use direct for Cloud and VMware based environments when storage infrastructure is network attached.
file_extra_flags: dsync     # IO flags to use. dsync |none. 

#sysbench random read
sysbench_random_read: false
rread_threads: 8            # 1,4,8,16
rread_fileTotalSize: 128m
rread_fileNum: 128
rread_fileBlockSize: 4k     # 4k,8k,16k

#sysbench random write
sysbench_random_write: true
rwrite_threads: 8           # 1,4,8,16
rwrite_fileTotalSize: 4096m
rwrite_fileNum: 4
rwrite_fileBlockSize: 4k    # 4k,8k,16k

#sysbench sequential read
sysbench_sequential_read: false
sread_threads: 2            # 1,2
sread_fileTotalSize: 4096m
sread_fileNum: 4
sread_fileBlockSize: 1g     # 512m,1g

#sysbench sequential write
sysbench_sequential_write: true
swrite_threads: 2           # 1,2
swrite_fileTotalSize: 4096m
swrite_fileNum: 4
swrite_fileBlockSize: 1g    # 512m,1g

############################ STORAGE PERFORMANCE PARAMETERS END #########################