OVERLAYFS_MOUNT_FAILED
Linux / DevOps
Траблшутинг ошибок монтирования overlayfs в Docker и Kubernetes нодах
- Ошибка
failed to mount overlay: invalid argumentпри запуске контейнеров. - Сбои containerd/CRI-O:
overlayfs: storage driver overlay2 requires d_type support. - Ошибки
No space left on deviceпри наличии свободного дискового пространства (исчерпание свободных inodes). - Повреждение слоев lowerdir/upperdir после аварийного ребута хоста.
1. Проверка поддержки d_type в базовой файловой системе (XFS/ext4)
# Проверка параметра ftype для XFS (должен быть ftype=1)
xfs_info /var/lib/docker || xfs_info /var/lib/containerdЕсли ftype=0, overlayfs не поддерживается ядром. Требуется переформатирование раздела с параметром mkfs.xfs -n ftype=1 /dev/sdX.
2. Проверка исчерпания Inodes на хосте
df -i /var/lib/docker
df -i /var/lib/containerd3. Очистка поврежденных слоев и остановленных контейнеров
# Очистка Docker
docker system prune -a --volumes -f
# Очистка cri-o / containerd в Kubernetes
crictl rm -f $(crictl ps -a -q)
crictl rmi --prune4. Безопасный ручной сброс хранилища Containerd
systemctl stop containerd
# Проверка отсутствия зависших точек монтирования overlay
grep "overlay" /proc/mounts | awk '{print $2}' | xargs -r -n 1 umount -l
# Запуск службы
systemctl start containerd
Практический опыт инженера:
Никогда не выполняйте rm -rf /var/lib/docker/overlay2/* при запущенном Docker/Containerd демоне — это оставляет активные дескрипторы точек монтирования в ядре, что приведет к полному отказу файловой системы до перезагрузки ноды.
Частые вопросы (FAQ)
Что такое d_type в файловых системах и почему он критичен для OverlayFS?
d_type — это расширение структуры каталогов, позволяющее драйверу файловой системы возвращать тип файла (каталог, симлинк, сокет) без вызова функции stat(). Без d_type OverlayFS не может корректно обрабатывать whiteout-файлы удаления слоев.
Можно ли монтировать OverlayFS поверх другой OverlayFS?
Прямое вложенное монтирование в ядре Linux по умолчанию запрещено. Для Docker-in-Docker (DinD) используются специальные драйверы vfs или изоляция монтирования через user namespaces.