피드로 돌아가기
Docker Volume Backup Strategies on My Own VPS
Dev.toDev.to
Infrastructure

Data Loss 방지를 위한 Docker Volume 일관성 확보 및 백업 전략

Docker Volume Backup Strategies on My Own VPS

Mustafa ERBAY2026년 5월 12일14intermediate

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` 기반의 용량 모니터링 자동화

원문 읽기