Файловая система Docker не имеет открытых файлов, но не может размонтировать

У меня есть файловая система ext4, установленная на /var/lib/docker , используя Ubuntu 14.04.

Я запустил umount /var/lib/docker и получил:

 umount: /var/lib/docker: device is busy. 

Я уже отключил докер с service docker stop и ps aux показал никаких процессов.

Странно то, что и fuser -M /var/lib/docker и lsof +f -- /var/lib/docker показывают процессов с открытыми файлами.

Это не происходит на 40+ других серверах с одинаковой настройкой, и я только это заметил.

Перезагрузка исправила это – любопытно, есть ли у кого-нибудь представление о том, что происходит, или какие-либо другие способы исследования, если он повторяется.

Если это помогает:

  • Docker (1.11.2) использовал aufs в качестве файловой системы наложения для своих контейнеров, поверх этой FS, но все контейнеры и процессы Docker были убиты до umount .
  • Детали ядра: Linux node05 4.4.0-38-generic #57~14.04.1-Ubuntu SMP Tue Sep 6 17:20:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Возможные вопросы:

  • Не удается отключить файловую систему цикла, но нет открытых файлов
  • Что предотвращает размонтирование монтирования привязки?

ОБНОВЛЕНИЕ – повторение на другом сервере

Это повторялось на другом сервере с очень похожей конфигурацией, в той же ситуации – отключили докер и не могли umount /var/lib/docker потому что он «занят».

Как и раньше, fuser и lsof показывают процессов с файлами, открытыми на докере FS.

mount | grep aufs mount | grep aufs показывал файловых систем aufs

df -h| grep docker df -h| grep docker показал две управляемые файловые системы Docker, установленные под каталогом / var / lib / docker ( lsof не показывает их, похоже).

Однако размонтирование этих двух файловых систем не помогло.

Временное решение

Единственным обходным решением остается отредактировать /etc/fstab чтобы временно прокомментировать файловую систему /var/lib/docker , затем перезагрузите сервер, чтобы /var/lib/docker не был установлен.