멈춘 도커 서비스를 완전히 종료하는 방법은 무엇입니까?

멈춘 도커 서비스를 완전히 종료하는 방법은 무엇입니까?

3.10 커널, docker 19.03.12를 사용하는 Centos7로 작업합니다.

결국 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 -shls -al파일 을 검사할 때 빠르게 중단 됩니다 /var/lib/docker.

또한 service docker stop/start중단됩니다. top매우 높은 로드/대기 시간을 보고합니다( 234코어 시스템의 경우).

내 질문:머신을 재부팅하지 않고 xfs쓰기를 완전히 중지하고 좀비 프로세스를 종료하고 서비스를 다시 시작하는 가장 좋은 방법은 무엇입니까?

답변1

디스크 공간을 확보하세요.

게시한 커널 메시지에서 보고된 오류는 28, "장치에 남은 공간이 없습니다"입니다.

관련 정보