Error writing file '/var/lib/mysql/auto.cnf' OS errno 28 - No space left on device 에러 핸들링

손승우·2023년 12월 13일
0

문제발생

잘 동작하던 db와 서버가 갑자기 동작하지 않게되었다. 한창 코드를 작성 중이였는데, 테스트해도니 db가 먹통이고 vscode의 extension도 작동하지 않았다.
그래서 서버 재부팅 후 docker로 db를 재배포 했는데 로그를 살펴보니 이런 에러가 뜨더라,,

이 에러를 보고 처음에 공간이 부족하다는거같아 무작정 docker의 사용하지않는 volume과 image들을 지웠다, 그래도 여전히 같은 에러가 발생하는것을 확인했다.

디스크 사용 공간 확인

df -h => 디스크 공간 확인 커맨드를 이용해서 여유 공간을 살펴볼 수있다.
근데 디스크가 여러개여서,,
df -h /var/lib명령어로 var/lib가 어느디스크에 저장되어있는지 확인했다
확인해보니 100% 사용중..

sudo du -h | grep '[0-9\.]\+G' => 1GB 이상의 용량을 가지고있는 파일 조회

docker data

찾아보니 예전에 시험삼아 실행시켰던 elk 기타등등 데이터가 거의 10GB를 잡아먹고있었다.
여기에 내가 띄워둔 docker db에 여러가지 data를 넣다보니 용량이 부족했나 보다.
$ sudo docker system prune -a -f 미사용 리소스 삭제
$ sudo sh -c 'echo "" > $(docker inspect --format="{{.LogPath}}" my-container)
my-container에 대한 로그파일 삭제

차후 관리

계속 수동으로 지울수는 없다,
docker와 mysqld의 로그를 자동삭제할 수있는 방법을 찾아보자
docker의 로그파일 회전에대해서 알아보기

profile
개구리

0개의 댓글