IO Hog Scenario

Overview

The IO Hog scenario is designed to create disk I/O pressure on one or more nodes in your Kubernetes/OpenShift cluster for a specified duration. This scenario helps you test how your cluster and applications respond to high disk I/O utilization and storage-related bottlenecks.

How It Works

The scenario deploys a stress workload pod on targeted nodes. These pods use stress-ng to perform intensive write operations to disk, consuming I/O resources according to your configuration. The scenario supports attaching node paths to the pod as a hostPath volume or using custom pod volume definitions, allowing you to test I/O pressure on specific storage targets.

When to Use

Use the IO Hog scenario to:

  • Test your cluster’s behavior under disk I/O pressure
  • Validate that I/O resource limits are properly configured
  • Evaluate the impact of disk I/O contention on application performance
  • Test whether your monitoring systems properly detect disk saturation
  • Verify that storage performance meets requirements under stress
  • Simulate scenarios where pods perform excessive disk writes
  • Test the resilience of persistent volume configurations
  • Validate disk I/O quotas and rate limiting

Key Configuration Options

In addition to the common hog scenario options, IO Hog scenarios support:

OptionTypeDescription
io-block-sizestringThe size of each individual write operation performed by the stressor
io-write-bytesstringThe total amount of data that will be written by the stressor. Can be specified as a percentage (%) of free space on the filesystem or in absolute units (b, k, m, g for Bytes, KBytes, MBytes, GBytes)
io-target-pod-folderstringThe path within the pod where the volume will be mounted
io-target-pod-volumedictionaryThe pod volume definition that will be stressed by the scenario (typically a hostPath volume)

Example Values

  • io-block-size: "1m" - Write in 1 megabyte blocks
  • io-block-size: "4k" - Write in 4 kilobyte blocks
  • io-write-bytes: "50%" - Write data equal to 50% of available free space
  • io-write-bytes: "10g" - Write 10 gigabytes of data

Usage

Select your deployment method to get started: