问题:在 K3s Pod 中报错 /var/lib/docker/containers/...: no space left on device。但是使用df -h 查看磁盘空间还是充足的,有几个原因。
1. 检查 inotify 监控限制(最常见原因)
Docker/K3s 使用 inotify
监控文件系统事件(如日志变化),如果 inotify
的监控数耗尽,即使磁盘有空间也会报此错误。
解决方法
# 查看当前 inotify 限制
cat /proc/sys/fs/inotify/max_user_watches
# 临时提高限制(重启失效)
sysctl -w fs.inotify.max_user_watches=1048576
# 永久生效
echo "fs.inotify.max_user_watches=1048576" | sudo tee -a /etc/sysctl.conf