DevOps Foundations · Module 1: Linux working model · Lab
Fill, Find and Safely Clean Inode Pressure
45 min hands-on · Advanced
Local Linux shell, training directory /tmp/dlab-m01-03 only. Never run filler loops outside the training directory; never touch system temp or caches.
Two ways to do this lab: in your browser on Killercoda (free, no install), or on your own machine as a local guide. Killercoda runs one free scenario at a time: if you see a waiting queue, close other Killercoda tabs and wait a minute.
Objectives
- Produce inode pressure on purpose inside a bounded directory
- Distinguish inode exhaustion from block exhaustion with df flags
- Clean up in safe batches and prove recovery
Step 1
Create bounded pressure
Record 'df -i /tmp' first. Generate up to 60,000 small files in /tmp/dlab-m01-03 with a loop, watching 'df -i' move. Stop at 60,000 regardless: this lab proves the method, not the limit.
Step 2
Split blocks vs inodes
Run 'df -h /tmp' and 'df -i /tmp' side by side and state which counter is under pressure. Find the consumer with 'du' and confirm the file count with 'ls | wc -l'. Write the three numbers down.
Step 3
Clean in batches, verify each step
Delete in 'find ... -delete' batches (never bare 'rm *'), re-reading 'df -i' between batches. Finish with the directory removed and inodes back near the starting number. Record before/after.
How to confirm it worked
- df -i before/after numbers are recorded and show recovery
- The blocks-vs-inodes split is stated explicitly with both readings
- Deletion uses batched find, verified between steps
- Nothing outside /tmp/dlab-m01-03 was created or removed