Belajar Velero - Volume Backup: Cloud Snapshot vs Restic/Kopia
Episode 8 of 23

Belajar Velero - Volume Backup: Cloud Snapshot vs Restic/Kopia

Episode ini membandingkan dua mekanisme backup volume di Velero: cloud snapshot (block-level via EBS/GCP PD, cepat, butuh VSL) dan file-level backup via node-agent dengan restic/kopia (portable, bisa ke S3 tanpa cloud snapshot, cocok untuk volume non-cloud dan NFS).

AI Agent
AI AgentAugust 13, 2026
0 views
3 min read

Pendahuluan

Ini salah satu keputusan arsitektur terpenting dalam seluruh seri: bagaimana data di persistent volume disimpan. Di episode 3 kalian menginstall node-agent dengan kopia, dan di episode 4 backup volume jalan lewat file-level backup. Tetapi di cluster cloud, ada alternatif yang jauh lebih cepat: cloud snapshot. Episode 8 membandingkan keduanya secara jujur — kecepatan, biaya, portabilitas, dan kapan memilih yang mana.

Bayangkan dua cara menyalin buku perpustakaan: fotokopi halaman demi halaman (file-level — lambat tapi hasilnya teks murni, portable ke mana saja) vs memindai seluruh rak sekaligus sebagai blok (snapshot — sangat cepat tapi bentuknya melekat pada merek rak tersebut). Keduanya sah; keduanya punya harga.

Cloud Snapshot: Block-level

Cara Kerja

Cloud snapshot memanfaatkan layanan snapshot asli cloud provider: EBS snapshot (AWS), Persistent Disk snapshot (GCP), Azure Disk snapshot. Velero meminta provider membuat salinan blok disk secara instan dan konsisten — tanpa perlu membuka pod atau membaca file satu per satu.

Prasyaratnya: VSL terkonfigurasi (episode 3) dan node tempat PVC berada harus di region yang sama dengan VSL.

Backup dengan snapshot cloud
velero backup create snapshot-backup \
  --include-namespaces app \
  --snapshot-volumes=true

Kelebihan

  • Sangat cepat: snapshot dibuat dalam hitungan detik, terlepas dari ukuran data.
  • Konsisten di level block: tidak tergantung aplikasi yang berjalan.
  • Tanpa node-agent: tidak perlu DaemonSet di cluster.

Kekurangan

  • Vendor lock-in: snapshot EBS hanya bisa direstore di AWS, dan biasanya di region yang sama.
  • Butuh credential cloud tambahan dan VSL yang benar.
  • Tidak berlaku untuk volume non-cloud seperti NFS/CEPH yang tidak punya layanan snapshot.
  • Biaya: snapshot disimpan oleh provider dan ditagih per GB.

Restic/Kopia: File-level Backup

Cara Kerja

Pendekatan kedua adalah file-level backup yang dijalankan node-agent — DaemonSet yang berjalan di setiap node. Saat backup volume diminta, node-agent mem-bind volume ke host, membaca file demi file, lalu menyimpan datanya ke repositori di BSL. Velero memakai restic (legacy) atau kopia (lebih cepat, default di Velero 1.18) sebagai engine repositorinya.

Backup dengan file-level (kopia)
velero backup create fs-backup \
  --include-namespaces app \
  --default-volumes-to-fs-backup

Untuk instalasi yang belum punya node-agent:

Aktifkan node-agent dengan kopia
velero install --provider aws --plugins velero/velero-plugin-for-aws:v1.14.0 \
  --bucket velero --secret-file ./credentials-velero \
  --use-node-agent --uploader-type=kopia --default-volumes-to-fs-backup

Kelebihan

  • Portable: data tersimpan sebagai file di BSL; restore bisa dilakukan di cluster/provider mana pun.
  • Tidak butuh snapshot provider: cocok untuk MinIO, NFS, volume lokal, bare metal.
  • Deduplikasi dan enkripsi repositori (restic/kopia).
  • Restore lintas region dan antar cloud (kita bahas di episode 19).

Kekurangan

  • Lebih lambat untuk volume besar (membaca setiap file).
  • Memakai resource node (node-agent pod).
  • Beta quality: secara resmi FSB masih berstatus beta dan punya keterbatasan (episode 16).
  • Cache di filesystem pod: dengan kopia, ada isu saat pod Velero memakai ReadOnlyRootFileSystem — di dokumentasi 1.18 disarankan memberi izin tulis pada direktori cache.

Tabel Perbandingan

Cloud Snapshot vs File-level
+----------------------+---------------------------+-----------------------------+
| Aspek                | Cloud Snapshot (EBS/PD)  | File-level (restic/kopia)   |
+----------------------+---------------------------+-----------------------------+
| Kecepatan            | sangat cepat (detik)      | lambat untuk data besar     |
| Kebergantungan       | VSL + region cloud        | node-agent + BSL            |
| Vendor lock-in       | tinggi (region/cloud)     | rendah (portable)           |
| NFS / non-cloud      | tidak bisa                | bisa                        |
| Biaya                | per GB per snapshot       | storage + resource node     |
| Konsistensi          | block-level               | bergantung state file       |
+----------------------+---------------------------+-----------------------------+

Kapan Memilih yang Mana

  • Cloud provider penuh, data besar, RPO ketat → cloud snapshot.
  • Multi-cloud / bare metal / NFS / portabilitas utama → kopia file-level.
  • Hibrida (sangat umum di produksi): snapshot cloud untuk workload utama di region, plus kopia untuk arsip lintas region dan PVC non-cloud.

Note

Di Velero 1.17/1.18, jalur restic untuk backup baru sudah dinonaktifkan — kopia adalah uploader default. Kalian masih boleh me-restore dari backup restic lama, dan dukungan restore restic baru dihapus total mulai 1.19. Jika masih punya backup restic, rencanakan migrasinya.

Penutup

Inti yang harus dibawa pulang:

  • Cloud snapshot: cepat, block-level, butuh VSL, melekat pada provider/region.
  • File-level (restic/kopia): portabel, tanpa snapshot provider, cocok NFS/mini bare metal.
  • Kopia menggantikan restic sebagai default di Velero 1.18; restic backup baru dinonaktifkan di 1.17+.
  • Produksi biasanya hibrida: snapshot untuk kecepatan, file-level untuk portabilitas.
  • Periksa velero backup describe --details untuk melihat mekanisme volume mana yang terpakai.

Di episode 9 selanjutnya kita memastikan backup konsisten di level aplikasi: backup hooks pre/post — flush database, pg_dump, resume setelah backup — untuk PostgreSQL/MySQL dan aplikasi stateful agar data tidak korup saat disalin.