2022-02-21 블로그 장애 해결
2022년 2월 15일에 구글 애널리틱스에서 메일이 날아와 "사이트의 색인 생성이 중지되었습니다 (5xx 오류)"라고 알려줘서 보니 502가 뜨기 시작했다. 공휴일 + 휴가 낀 긴 주말이 곧이라 그 때 살펴보자 하고 2월 21일 월요일에 살펴보게 되었다.
ghost-cli
$ cd /var/www/ghost
$ ghost doctor
여기서 ghost 디렉터리 경로가 생각나지 않아 ls /var/ (탭으로 자동완성)
을 눌렀는데 디스크 용량이 모자라서 파일을 만들 수 없다고 오류가 떴다. ghost-cli
의 doctor
명령을 넣어 보니 역시 용량이 모자라서 구동이 안 된다고 떴다. 이 EC2에는 그냥 20GB EBS가 달려 있다 (아마 거기까진 무료라서 그렇게 달았던 걸로 기억한다)
du
우분투 쓴지 오래 되어서 디스크 용량 체크하는 명령어를 찾아봤고 du
를 돌렸다. 그냥 du
만 치면 현재 폴더에서 시작해 재귀적으로 파일명과 용량을 띄우길래 다시 검색을 해 보고 깊이를 1만 돌리게 했다.
$ sudo du -h --max-depth=1 /
sudo가 없으면 루트가 아닌 계정으로 권한이 없는 폴더는 계산이 안 되는 문제가 있었다. 여기서 시작해 대충 용량이 넘쳐나는 곳이 3군데쯤 잡혔는데:
~/.cache
/var/www/ghost/versions/
/var/log/journal/
var/log/cloud-init.log
하나씩 보고 날리기로 했다.
.cache
npm / yarn 캐시 폴더라서 그냥 비웠다. 다음에 ghost 버전 업데이트 할 때 다시 지울 예정이다.
/var/www/ghost/versions/
업데이트 하다 롤백이 필요한 경우가 있을 수 있어 저장하는 듯한데 그냥 놔뒀다.
/var/log/journal/
여기는 journalctl
로 볼 수 있는 로그들이 있는데 뭔가 2022년 1월 28일부터 시스템 로그가 쌓여 있고 이미 압축되어서 볼 수가 없었다. 스택 오버플로우[1]를 보고 설정 파일 위치를 찾아서 리텐션을 건 뒤 현재 활성화된 system/user 로그 파일 외에는 다 날려버렸다.
var/log/cloud-init.log
이게 0.8GB쯤 먹고 있던데 (역시 1월 말에 실행됨) 별다른 실행 이유나 남길 이유를 찾을 수 없어 그냥 날려버렸다 (cloud-init status
가 그냥 깨끗하게 done 이 떴음)
날릴 때는 sudo cloud-init clean --logs
로 날렸다.[2]
이후
df
를 돌리니[3] EBS 볼륨에 6GB 조금 안 되는 용량이 확보되었다. 당분간은 괜찮을 테지만 20GB는 시작할 때부터 이미 너무 작았으니 용량을 올리는 걸 생각해봐야 할 듯하다. Ghost 설치 전에 이미 ~13GB가 먹힌 채로 시작했었다.
후속 조치
- [ ] AWS에 cloud-init이 왜 실행되었는지 서포트 티켓 넣어보기
- [ ] EBS 용량 증강