Google Cloud SQL PostgreSQL 용량 폭주

문석·2021년 1월 18일
1
GCP PostgreSQL에 30기가 정도의 DB를 쌓고 있는데 원인 불명으로 DB가 폭주하기 시작한다. DB 용량은 25GB인데 인스턴스는 60GB 리밋에 닿아서 인스턴스가 치명적으로 작동하지 않는다. 다시시작으로도 해결이 안되어 리밋을 조금 더 주니 정상적으로 작동하지만 얼마 후 다시 사이즈가 꽉 찬다. Insert쿼리는 하나도 날리지 않았는데도 .......😢

구글링이 정말 안되더라

아무리 검색해도 나오지 않는다. 그나마 가까웠던 것이 Postgre의 작동 방식이었고 보통 /base/~tmp dir에 임시 쿼리가 쌓이고 커밋이 완료되면 삭제하는 사이클로 동작하기 때문에 그 부근에 데이터가 많이 쌓여있을 가능성이 있단 사실을 캐치했다. 하지만 구글 클라우드 환경에서 인스턴스에는 Superuser만 접근 가능하댄다. Superuser가 누구냐. 구글이다. 즉 상기 디렉토리를 내가 확인하거나 지우거나(지우는건 DB 설계상 굉장히 좋지 않긴 하다.) 용량 체킹등이 불가능하다.

백업으로 해결

받은 스트레스에 비해 쉽게 해결했다. 설마 다른 해결책이 없을까 싶어 지양했던 방법이긴한데 플랫폼에서 지원하는 백업 기능으로 백업을 받은 후 Storage bucket에 옮겨놓은 후 새로운 인스턴스에 옮기기. 백업 파일을 보면 70기가 인스턴스가 20기가 밖에 안한다. 분명 인스턴스에 문제가 생긴걸 알 수 있다. 물론 백업 파일이 더 작긴하지만 새로운 인스턴스에 import 해보니 25기가, 매우 정상이다.

그 사이 문제

새로운 인스턴스로 옮기는 작업이 조금은 더 귀찮아졌었는데 같은 프로젝트에 서울 리전만 DB 생성이 안되더라. 그냥 not found 토스트 메시지가 전부다. 이유를 못 찾았다. 일시적인 문제일 수도 있을텐데(다시 확인 안해봐서 모르겠음.) 해당 프로젝트에서 다른 리전은 생성이 가능하고 다른 프로젝트에서는 서울을 포함 모든 리전 생성이 가능했다. 도대체 이유가 뭘까. 당시에 Cloud Service status도 모두 초록불이었음. 결국 프로젝트 간의 파일 전송을 위해 로컬을 한 번 거쳤고 (gcp cli로 바로 보내는 방법도 있다.) 무사히 날씬한 DB를 다시 구축할 수 있었다.

돈이 아깝긴 하지만 용량은 가용 혹은 넉넉히하자. 시간이 더 아깝다✔👀

0개의 댓글