Linux disk fill
Fill a disk path on a target Linux machine to a configured size for a configurable duration so you can test how the workload behaves when storage runs out.
Linux disk fill is a chaos fault that writes a file under FILL_PATH until it occupies FILL_STORAGE of space (or FILL_STORAGE percent of the volume) on the target Linux machine for DURATION, then removes the file and frees the space. The fault runs through the Linux Chaos Infrastructure (LCI) systemd service installed on the target VM.
Use this fault to test how a workload behaves when its writable storage fills up: whether the application surfaces a clean ENOSPC error or wedges, whether log rotation kicks in, whether monitoring detects low disk space within the alerting SLA, and whether the system recovers automatically once space is reclaimed.
Use cases
Run this fault when you want to answer concrete questions like:
Write paths under ENOSPC: When
FILL_PATHruns out of space, do application writes fail cleanly or wedge?Log rotation: Does logrotate (or equivalent) kick in and free space before the volume fills?
Monitoring fidelity: Do disk-space alerts (
node_filesystem_avail_bytes,df -h) fire within the alerting SLA?Recovery: After the fill file is removed, do the application and monitoring return to baseline without a restart?
Prerequisites
Linux Chaos Infrastructure installed: The
linux-chaos-infrastructuresystemd service isactiveon the target VM and the infrastructure is inCONNECTEDstate. Go to Linux Chaos Infrastructure to install it.Writable target path:
FILL_PATHexists, is writable by the LCI service, and resides on a filesystem with enough headroom forFILL_STORAGE.ddavailable: The fault usesddfrom coreutils to write the fill file.
Supported environments
The fault has been tested on the following Linux distributions. Go to Linux fault requirements to see the full compatibility matrix.
Ubuntu 16+, Debian 10+
Supported
CentOS 7+, RHEL 7+, Fedora 30+
Supported
openSUSE LEAP 15.4+ / SUSE Linux Enterprise 15+
Supported
Permissions required
This fault is classified as a Basic Linux fault. It runs with the privileges of the Linux Chaos Infrastructure systemd service (root user and root user group) on the target VM. No cloud credentials are needed.
Fault tunables
Configure the following fault parameters when you add Linux disk fill to an experiment in Chaos Studio. Defaults are shown for reference.
Required parameters
FILL_PATH
Absolute path where the fill file is created. Must exist and be writable by the LCI service.
(required)
Chaos parameters
DURATION
Total duration of the fault. Accepts [hours]h[minutes]m[seconds]s format (for example, 30s, 1m25s, 1h3m2s).
30s
FILL_STORAGE
Amount of storage to fill. Accepts absolute values (for example, 256m, 1g) or a percentage of the volume (for example, 50%).
50%
DATA_BLOCK_SIZE
Block size used by dd when writing the fill file. Larger blocks fill faster; smaller blocks complete on volumes with small free space.
256k
RAMP_TIME
Wait period in seconds before and after the fault. Go to ramp time to read how it is applied.
0
Tunables that apply to every fault are documented in common tunables for all faults.
Fault execution in brief
Writes a fill file under FILL_PATH using dd until it occupies FILL_STORAGE, holds for DURATION, then deletes the file and frees the space.
Expected behavior during fault execution
Free space on the volume hosting
FILL_PATHdrops by approximatelyFILL_STORAGEfor the duration of the fault.New writes by other processes on the same volume may fail with
ENOSPC("No space left on device") if the volume reaches 100%.Disk-space monitoring (
node_filesystem_avail_bytes,df -h) reports the reduced free space.After the duration ends, the fill file is removed and free space returns to baseline.
Signals to watch
Attach resilience probes to assert each layer:
Disk space: Use a Prometheus probe on
node_filesystem_avail_bytes{mountpoint="<mount>"}and assert it dropped during the chaos window.Write errors: Use a command probe to scan application logs for
ENOSPCor "No space left on device" entries.End-to-end availability: Use an HTTP probe on a user-visible endpoint that exercises a write path.
Verify the fault execution effect
While the experiment is running, confirm the volume filled and was reclaimed:
Observe free space on the target volume.
Free space should drop by approximately
FILL_STORAGEduring the chaos window and return to baseline afterwards.Inspect Linux Chaos Infrastructure logs.
Look for the fault start, the fill file path, the dd progress, and the fault end markers.
Recovery and cleanup
End of duration: The chaos pod deletes the fill file when
DURATIONelapses; free space returns to baseline.Abort the experiment: Stopping the experiment from Chaos Studio also triggers the cleanup.
Manual recovery: If the fill file survives an abort, remove it with
sudo rm <FILL_PATH>/<fill-file>(the LCI logs record the exact filename).Workload recovery: Applications that experienced
ENOSPCmay need to be restarted if they cached the failure state.
Limitations
Filesystem-level only: The fault fills space at the filesystem level. It does not exhaust inodes; for inode exhaustion use a custom fault.
One path per run: A single experiment fills exactly one path on the target VM. Use multiple experiments to fill multiple volumes.
Disk-cache effects: Filling a volume close to 100% can degrade other I/O on the same disk due to fragmentation and cache pressure.
No mid-flight resize:
FILL_STORAGEcannot be adjusted during the chaos window; abort and re-run the experiment to change it.
Troubleshooting
Related faults
Linux fs fill: Fill a filesystem path with a smaller tunable surface.
Linux disk I/O stress: Stress disk I/O bandwidth instead of capacity.
Linux memory stress: Consume memory instead of disk space.
Last updated
Was this helpful?