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:
- Verify that Podman is installed on your system and can access your Red Hat® OpenShift® cluster.
- Load the k8s-storage-perf image on your system.
- 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 #########################