Problem Statement
How do you troubleshoot disk space and inode exhaustion issues? Explain finding large files, cleaning up space, and preventing future issues.
Explanation
Identify disk space issues: df -h shows filesystem usage, alerts when >80-90% full. Find large files: du -sh /* | sort -h shows top-level directory sizes, du -ah /var | sort -h | tail -20 finds 20 largest files/dirs under /var. Recursive: find / -type f -size +100M lists files over 100MB, find / -type f -size +1G -exec ls -lh {} \; shows details.
Common space consumers: /var/log (old logs), /tmp (temporary files), /home (user files), /var/cache/apt or /var/cache/yum (package caches), Docker images (/var/lib/docker), database dumps. Clean: logrotate for logs, apt-get clean or yum clean all for package caches, docker system prune for Docker cleanup.
Inode exhaustion: df -i shows inode usage. Symptom: "No space left on device" despite df showing free space. Cause: millions of small files exhausting inodes. Find: find / -xdev -type f | cut -d / -f 2 | sort | uniq -c | sort -rn shows file count by top-level directory. Clean: remove unnecessary files, especially in /tmp, /var/spool.
Safe cleanup:
```bash
# Find old files
find /var/log -type f -mtime +30 -name "*.log"
# Archive before deleting
tar -czf old-logs-$(date +%Y%m%d).tar.gz $(find /var/log -type f -mtime +30 -name "*.log")
find /var/log -type f -mtime +30 -name "*.log" -delete
# Truncate instead of delete (preserves file handles)
> /var/log/large.log
```
Monitoring and alerts: set up monitoring (Nagios, Zabbix, Prometheus) alerting at 80% capacity. Automated cleanup: cron jobs deleting old files, log rotation, temporary file cleanup. Capacity planning: track growth trends, expand storage before reaching limits.
Quota management: set user quotas preventing individuals from filling disk. Enable: quotacheck, quotaon, edquota user sets limits. Useful in multi-user systems.
Prevention: proper log rotation, automated cleanup, user quotas, capacity monitoring, storage expansion planning. Understanding disk management prevents outages from full filesystems.
Practice Sets
This question appears in the following practice sets: