쿠키런 킹덤, 36시간의 데이터베이스 장애를 딛고 일어선 이야기

by DD
3년 전
조회수 4

CockroachDB의 스토리지 장애로 인해 약 36시간 동안 서비스가 중단됨

Ballast 파일 경로 설정 오류로 인해 데이터베이스 노드 장애 발생

SST 파일 분석 및 Spark 기반 데이터 복구로 서비스 재개 성공

CockroachDB 장애 원인 분석

초기 장애는 Ballast 파일 경로 설정 오류로 인해 발생했다. 구체적으로, 잘못된 경로 설정으로 인해 파일 시스템이 손상되었고, 이로 인해 데이터베이스 쓰기 작업이 실패했다. 따라서, Raft 합의 알고리즘 기반의 CockroachDB 클러스터가 정상적으로 동작하지 못하고, 결국 서비스 중단으로 이어졌다.

SST 파일 분석 및 데이터 복구 전략

장애 복구를 위해 SST 파일을 분석하고, Spark를 활용하여 데이터를 복구했다. 구체적으로, 손상된 노드에서 데이터를 추출하기 위해 SST 파일의 구조를 파악하고, CSV 파일로 변환하는 과정을 거쳤다. 반면, IMPORT INTO 명령어의 제약으로 인해 병렬 처리에 어려움이 있었고, 데이터 중복 처리를 위한 추가 작업이 필요했다.

장애 복구 과정에서의 교훈

이번 장애 복구 과정에서 데이터 백업의 중요성을 다시 한번 확인했다. 따라서, 정기적인 백업과 더불어, 백업 데이터의 정합성 검증 또한 필수적이다. 구체적으로, SST 파일 분석 및 복구 과정에서 얻은 경험을 바탕으로, 향후 유사한 상황에 대비하기 위한 대응 매뉴얼을 구축해야 한다.

쿠키런: 킹덤 데이터베이스 스토리지 레이어 복원기