diff --git a/infra/backup.md b/infra/backup.md index c91921a..a932303 100644 --- a/infra/backup.md +++ b/infra/backup.md @@ -1,6 +1,6 @@ --- title: 백업 파이프라인 -updated: 2026-03-17 +updated: 2026-03-22 tags: [infra, backup] --- @@ -54,6 +54,35 @@ tags: [infra, backup] | NAS 장애 | R2에서 rclone copy로 복원 | | kr2 장애 | NAS rsync 미러에서 복원 | +## etcd 스냅샷 백업 + +K3s datastore인 외부 etcd 클러스터의 스냅샷 백업. + +### 1. etcd snapshot (hp2 etcd 컨테이너) + +- **호스트**: incus-hp2, etcd 컨테이너 +- **스크립트**: `/usr/local/bin/etcd-backup.sh` +- **systemd**: `etcd-backup.timer` / `etcd-backup.service` +- **스케줄**: 매일 03:30 (±5분) +- **출력**: `/backup/etcd-YYYYMMDD_HHMMSS.db` (컨테이너) = `/opt/etcd-backup/` (호스트) +- **보관**: 7일 초과 자동 삭제 +- **크기**: ~65MB + +### 2. rsync → NAS (hp2 호스트) + +- **호스트**: incus-hp2 +- **스크립트**: `/usr/local/bin/etcd-backup-sync.sh` +- **systemd**: `etcd-backup-sync.timer` / `etcd-backup-sync.service` +- **스케줄**: 매일 04:00 (±5분) +- **소스**: `/opt/etcd-backup/` +- **대상**: `kaffa@192.168.9.100:/volume1/k3s-backup/etcd/` +- **SSH 키**: `/home/kaffa/.ssh/id_ed25519` +- NAS IP: hp2에서는 192.168.9.100 사용 (kr2에서는 192.168.205.100) + +### 3. R2 sync (기존 r2-backup.timer로 자동 포함) + +NAS `/volume1/k3s-backup/` → R2 `k3s-backup` 버킷 (매일 05:00) + ## k3s 백업 (기존) - **호스트**: Synology NAS