피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Data Loss 방지를 위한 Docker Volume 일관성 확보 및 백업 전략
Docker Volume Backup Strategies on My Own VPS
AI 요약
Context
VPS 환경 내 Redis 컨테이너 크래시로 인한 데이터 소실 발생 및 데이터 영속성을 위한 Docker Volume 관리의 필요성 대두. 단순 파일 복사 방식의 한계로 인한 데이터 불일치 및 Backup Corruption 위험 존재.
Technical Solution
- Data Consistency 확보를 위한 대상 컨테이너 Stop 후 백업 수행 프로세스 설계
docker run --volumes-from옵션을 통한 임시 컨테이너 기반 Volume Mount 및 Tar 압축으로 데이터 무결성 유지- Host Machine의 로컬 디렉토리를
-v옵션으로 마운트하여 백업 파일의 물리적 분리 저장 구조 구축 tar --strip-components 1옵션을 활용하여 복구 시 불필요한 디렉토리 계층을 제거하는 정밀 복원 로직 구현- cgroup memory limit으로 인한 OOM-killed 방지를 위해
sleep대신polling-wait방식의 리소스 제어 스크립트 적용 journald연동 로그 모니터링 및 Telegram 알림 체계를 통한 백업 성공 여부의 실시간 검증
실천 포인트
1. 데이터 쓰기 작업이 빈번한 DB Volume 백업 시 반드시 서비스 중단 또는 Snapshot 기능을 통한 일관성 확보 여부 검토
2. 백업 스크립트 실행 시 cgroup 설정값에 따른 OOM 위험성을 인지하고 저부하 시간대 스케줄링 적용
3. 단순 저장뿐 아니라 `docker volume rm` 후 재생성을 통한 실제 복구 시나리오 테스트 수행
4. 디스크 100% 점유 방지를 위한 Retention Policy 수립 및 `df -h` 기반의 용량 모니터링 자동화