SLV Backup - Quickstart

🗄️ SLV Backup

SLV Backup membuat backup terenkripsi dan inkremental untuk node Anda menggunakan restic. Semua data dienkripsi di sisi klien dengan AES-256 sebelum diunggah — server tidak pernah melihat data Anda dalam bentuk plaintext.
Mode legacy: SLV juga mendukung backup tar+zstd tanpa enkripsi (tanpa --restic). Kami sangat menyarankan --restic untuk semua backup baru.

Prasyarat

  • SLV CLI terpasang di node target
  • Akses sudo (diperlukan untuk backup seluruh disk)
  • Sudah login (slv login) dengan langganan penyimpanan yang aktif
  • restic terpasang (apt install restic)

Buat Backup Terenkripsi

bash
sudo slv backup create --restic --yes
🗄️  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.

Yang Terjadi pada Eksekusi Pertama

  1. Kata sandi enkripsi acak dibuat dan disimpan ke ~/.slv/restic-password (mode 0600)
  2. Repositori restic diinisialisasi di ERPC Cloud Storage
  3. Seluruh disk Anda di-backup (kecuali pseudo-filesystem sistem)

Eksekusi Berikutnya

Hanya file yang berubah yang diunggah (inkremental). Deduplikasi menjaga biaya penyimpanan tetap rendah.

Tampilkan Daftar Backup

bash
sudo slv backup list
Menampilkan snapshot restic sekaligus backup tar legacy di penyimpanan cloud.

Pulihkan dari Backup

Pulihkan snapshot terbaru:
bash
sudo slv backup restore latest
Pulihkan snapshot tertentu:
bash
sudo slv backup restore b6925e6d
Pulihkan backup tar legacy:
bash
sudo slv backup restore backup-mynode-20260318.tar.zst

Verifikasi Integritas Backup

Untuk menjalankan restic check sendiri, gunakan access key storage untuk terhubung. API key RPC tidak diterima di endpoint ini.
  1. Buka halaman Storage, masuk ke Access key storage, lalu klik Terbitkan key. Hanya baca sudah cukup untuk check.
  2. Salin URL repositori restic yang ditampilkan tepat setelah key dibuat. URL ini hanya ditampilkan sekali: jika hilang, cabut key lalu terbitkan key baru.
  3. Jalankan check dengan URL tersebut:
bash
sudo restic -r '<RESTIC_REPOSITORY_URL>' \
  --password-file ~/.slv/restic-password check

Atur Backup Otomatis (Cron)

bash
sudo slv backup create --restic --cron daily
IntervalDeskripsi
dailyBerjalan sekali sehari
weeklyBerjalan sekali seminggu
monthlyBerjalan sekali sebulan
offMenghapus cron job

Retensi

Secara default, snapshot yang lebih lama dari 7 hari dihapus secara otomatis:
bash
sudo slv backup create --restic --retention 14

Sesuaikan Pengecualian

Lihat daftar pengecualian saat ini:
bash
slv backup create --list-excludes
Tambahkan path lain yang ingin dikecualikan:
bash
sudo slv backup create --restic --exclude /home/solv/ledger --exclude /home/solv/snapshots

Enkripsi & Keamanan

FiturDetail
EnkripsiAES-256-CTR + Poly1305-AES (sisi klien)
IntegritasPenyimpanan content-addressable SHA-256
DeduplikasiChunking berbasis konten
Visibilitas di sisi serverTidak ada — server hanya melihat blob terenkripsi
File kata sandi~/.slv/restic-password (mode 0600)
Dikecualikan dari backup~/.slv/restic-password, ~/.slv/api.yml, ~/.slv/backup.env
⚠️ PENTING: Simpan salinan file ~/.slv/restic-password Anda di tempat terpisah. Tanpa file itu, backup Anda hilang dan tidak dapat dipulihkan.

Referensi Opsi

OpsiDeskripsi
--resticGunakan restic untuk backup inkremental terenkripsi (disarankan)
-r, --region <region>Region penyimpanan (default: eu)
--exclude <path>Path tambahan yang dikecualikan (dapat diulang)
--include <path>Hapus dari pengecualian default (dapat diulang)
--list-excludesTampilkan daftar pengecualian saat ini, lalu keluar
--retention <days>Hapus snapshot yang lebih lama dari N hari (default: 7)
--cron <interval>Atur cron job (daily/weekly/monthly/off)
-y, --yesLewati konfirmasi
--uploadLegacy: unggah backup tar ke penyimpanan cloud
-o, --output <path>Legacy: path file output untuk backup tar

Mode Legacy (tar+zstd)

Demi kompatibilitas dengan versi lama, backup tar tanpa enkripsi masih didukung:
bash
sudo slv backup create --upload --yes     # Unencrypted tar backup
Catatan: Backup legacy tidak dienkripsi. Kami menyarankan beralih ke --restic untuk semua backup baru.