SLV Backup - 빠른 시작

🗄️ SLV Backup

SLV Backup은 restic을 사용하여 노드의 암호화된 증분 백업을 생성합니다. 모든 데이터는 업로드 전에 클라이언트 측에서 AES-256으로 암호화되므로 서버는 평문 데이터를 볼 수 없습니다.
레거시 모드: SLV는 암호화되지 않은 tar+zstd 백업(--restic 없음)도 지원합니다. 모든 새 백업에는 --restic 사용을 강력히 권장합니다.

전제 조건

  • 대상 노드에 설치된 SLV CLI
  • sudo 액세스(전체 디스크 백업에 필요)
  • 활성 스토리지 서브스크립션으로 로그인(slv login)되어 있을 것
  • restic 설치됨(apt install restic)

암호화된 백업 생성

bash
sudo slv backup create --restic --yes
text
🗄️  SLV Backup (restic mode)

  Region:    default
  Retention: 7 days

⚠️  Restic encryption password generated and saved to:
   /home/solv/.slv/restic-password
   BACK UP THIS FILE — without it, backups cannot be restored.

🔧 Initializing restic repository (if needed)...
📦 Creating restic backup...

Files:       151263 new,     0 changed,     0 unmodified
Dirs:        22486 new,     0 changed,     0 unmodified
Added to the repository: 4.107 GiB (1.837 GiB stored)

processed 151263 files, 4.366 GiB in 0:50
snapshot b6925e6d saved

✅ Restic backup complete
🧹 Applying retention policy (keep within 7 days)...
✅ Backup complete.

첫 실행 시 동작

  1. 무작위 암호화 비밀번호가 생성되어 ~/.slv/restic-password에 저장됩니다(모드 0600)
  2. ERPC Cloud Storage에 restic 리포지토리가 초기화됩니다
  3. 전체 디스크가 백업됩니다(시스템 의사 파일시스템 제외)

이후 실행

변경된 파일만 업로드됩니다(증분). 중복 제거로 스토리지 비용을 낮게 유지합니다.

백업 목록

bash
sudo slv backup list
클라우드 스토리지의 restic 스냅샷과 레거시 tar 백업을 모두 표시합니다.

백업에서 복원

최신 스냅샷을 복원합니다:
bash
sudo slv backup restore latest
특정 스냅샷을 복원합니다:
bash
sudo slv backup restore b6925e6d
레거시 tar 백업을 복원합니다:
bash
sudo slv backup restore backup-mynode-20260318.tar.zst

백업 무결성 확인

bash
sudo restic -r rest:https://<apiKey>:[email protected]/v3/storage/restic/ \
  --password-file ~/.slv/restic-password check

자동 백업 설정 (Cron)

bash
sudo slv backup create --restic --cron daily
간격설명
daily하루에 한 번 실행
weekly일주일에 한 번 실행
monthly한 달에 한 번 실행
offcron 잡 제거

보존

기본적으로 7일보다 오래된 스냅샷은 자동으로 정리됩니다:
bash
sudo slv backup create --restic --retention 14

제외 항목 사용자 지정

현재 제외 목록을 봅니다:
bash
slv backup create --list-excludes
추가 제외 경로를 지정합니다:
bash
sudo slv backup create --restic --exclude /home/solv/ledger --exclude /home/solv/snapshots

암호화 및 보안

기능세부 사항
암호화AES-256-CTR + Poly1305-AES (클라이언트 측)
무결성SHA-256 콘텐츠 주소 지정 스토리지
중복 제거콘텐츠 정의 청킹
서버 측 가시성없음 — 서버는 암호화된 blob만 볼 수 있습니다
비밀번호 파일~/.slv/restic-password (모드 0600)
백업 제외~/.slv/restic-password, ~/.slv/api.yml, ~/.slv/backup.env
⚠️ 중요: ~/.slv/restic-password 파일을 별도로 백업하세요. 이 파일이 없으면 백업을 복구할 수 없게 됩니다.

옵션 참조

옵션설명
--restic암호화된 증분 백업에 restic 사용 (권장)
-r, --region <region>스토리지 리전 (기본값: eu)
--exclude <path>추가로 제외할 경로 (반복 가능)
--include <path>기본 제외에서 제거 (반복 가능)
--list-excludes현재 제외 목록을 표시하고 종료
--retention <days>N일보다 오래된 스냅샷 정리 (기본값: 7)
--cron <interval>cron 잡 설정 (daily/weekly/monthly/off)
-y, --yes확인 프롬프트 생략
--upload레거시: tar 백업을 클라우드 스토리지에 업로드
-o, --output <path>레거시: tar 백업의 출력 파일 경로

레거시 모드 (tar+zstd)

하위 호환성을 위해 암호화되지 않은 tar 백업도 계속 지원됩니다:
bash
sudo slv backup create --upload --yes     # Unencrypted tar backup
참고: 레거시 백업은 암호화되지 않습니다. 모든 새 백업은 --restic으로 마이그레이션하는 것을 권장합니다.