Работает с Centos7 с ядром 3.10, docker 19.03.12.
В конце концов один из образов Docker заполнился и заполнил все /var/
монтирование на 100%, что привело к сбою как службы Docker, так и работающих контейнеров.
Теперь осталось 2 процесса-зомби, которых я не могу убить (с помощью kill -9
или killall
:
ps axjf | grep docker
1 30215 30215 30215 ? -1 Ds 0 0:00 [docker-entrypoi]
1 32063 32063 32063 ? -1 Zsl 0 0:00 [dockerd] <defunct>
Тем временем, /var/log/messages
я получаю:
kernel: XFS (dm-8): Failing async write on buffer block 0xb78170. Retrying async write.
kernel: XFS (dm-8): metadata I/O error: block 0xb78170 ("xfs_buf_iodone_callback_error") error 28 numblks 8
где, похоже, какой-то IO все еще пытается записать какие-то данные. Кажется, это повторяется в бесконечном цикле, и я не уверен, как это остановить.
du -sh
и ls -al
быстро зависает при проверке /var/lib/docker
файлов.
Кроме того, service docker stop/start
также зависает; top
сообщает об очень большом времени загрузки/ожидания (примерно 23
для 4-ядерной машины).
Мой вопрос:xfs
Каков наилучший способ аккуратно остановить запись, завершить зомби-процессы и перезапустить службы , не перезагружая машину ?
решение1
Освободите место на диске.
Ошибка, указанная в опубликованных вами сообщениях ядра, — 28: «На устройстве не осталось места».