Lewati ke isi

Server & Infrastruktur

Apa Itu Snapshot VPS dan Bedanya dengan Backup?

Snapshot VPS cepat dibuat dan dipulihkan, tapi biasanya tersimpan di sistem yang sama. Pahami bedanya dengan backup dan kapan memakai keduanya.

Terbit 5 menit baca

Jawaban singkat

Snapshot adalah potret kondisi disk VPS pada satu titik waktu, dibuat dalam hitungan detik dan cocok sebagai jaring pengaman sebelum update. Backup adalah salinan data yang disimpan terpisah dari server. Snapshot tidak menggantikan backup karena biasanya tersimpan di sistem yang sama.

Daftar isi
  1. Bagaimana snapshot bekerja?
  2. Snapshot bergantung pada disk aslinya
  3. Snapshot yang menumpuk memperlambat disk
  4. Perbandingan snapshot dan backup
  5. Bagaimana dengan konsistensi database?
  6. Kapan memakai snapshot, kapan backup?
  7. Hal yang sering terlewat
  8. Pertanyaan yang sering diajukan

Snapshot VPS adalah rekaman kondisi disk virtual pada satu titik waktu, dibuat di tingkat hypervisor atau sistem penyimpanan. Dengan snapshot, kamu bisa mengembalikan seluruh VPS ke keadaan persis seperti saat snapshot diambil. Backup adalah salinan data yang disimpan di tempat lain, terpisah dari server dan sistem penyimpanannya.

Keduanya sama-sama terdengar seperti "cadangan", dan di situlah risikonya. Orang yang mengira snapshot sudah cukup sering baru sadar saat terlambat: ketika penyimpanan host rusak, akun diretas, atau ransomware ikut terenkripsi, snapshot yang tersimpan di tempat yang sama bisa ikut hilang.

Bagaimana snapshot bekerja?

Kebanyakan sistem virtualisasi membuat snapshot dengan teknik copy-on-write. Saat snapshot diambil, data lama dibekukan. Setiap perubahan setelahnya ditulis ke area baru, sementara blok yang tidak berubah tetap dipakai bersama. Karena tidak perlu menyalin seluruh disk, snapshot bisa dibuat dalam hitungan detik, berapa pun ukuran disknya.

Akibatnya ada dua hal yang perlu dipahami.

Snapshot bergantung pada disk aslinya

Pada banyak implementasi, snapshot bukan salinan mandiri. Ia berupa catatan perbedaan yang menempel pada disk asli di sistem penyimpanan yang sama. Kalau sistem penyimpanan itu rusak, snapshot dan disk asli bisa hilang bersamaan. Detailnya berbeda antar penyedia: sebagian menyalin snapshot ke penyimpanan lain, sebagian tidak. Tanyakan hal ini sebelum mengandalkannya.

Snapshot yang menumpuk memperlambat disk

Semakin lama snapshot dibiarkan dan semakin banyak perubahan data, semakin besar rantai perbedaan yang harus dilacak. Di sebagian platform ini menambah beban I/O. Karena itu snapshot cocok untuk jangka pendek, lalu dihapus setelah tidak diperlukan.

Perbandingan snapshot dan backup

Snapshot VPSBackup
Yang disimpanKondisi seluruh disk (kadang plus RAM)File, folder, database, atau image disk yang dipilih
LokasiUmumnya di sistem penyimpanan yang sama dengan VPSDi luar server, idealnya lokasi atau penyedia lain
Kecepatan membuatDetikMenit sampai jam, tergantung ukuran
Kecepatan pulihSangat cepat, seluruh VPS kembaliLebih lambat, tapi bisa pulihkan satu file saja
Pulihkan sebagianBiasanya tidak bisa, kembali utuhBisa per file atau per database
Tahan kerusakan host atau storageSering tidakYa, bila disimpan terpisah
Tahan akun panel diretasTidak, bisa ikut dihapusYa, bila kredensialnya terpisah dan tidak bisa diubah
Riwayat panjangTerbatas, beberapa titikBisa harian, mingguan, bulanan
Kegunaan utamaJaring pengaman sebelum perubahanPemulihan dari kehilangan data

Bagaimana dengan konsistensi database?

Snapshot yang diambil saat VPS menyala bersifat crash-consistent. Artinya kondisinya mirip server yang listriknya dicabut mendadak. Sistem file modern dan database seperti MySQL dengan InnoDB atau PostgreSQL umumnya bisa pulih dari kondisi ini lewat log transaksinya, tetapi transaksi yang belum ditulis ke disk saat snapshot diambil bisa hilang.

Ada beberapa cara untuk mengurangi risiko itu. Sebagian penyedia memakai agen di dalam VM (misalnya QEMU Guest Agent) untuk membekukan sistem file sesaat sebelum snapshot. Cara lain yang sederhana adalah menghentikan layanan database sebentar, mengambil snapshot, lalu menyalakannya lagi. Untuk data database, backup logis dengan mysqldump atau pg_dump tetap cara paling aman. Langkahnya ada di cara backup database MySQL dan PostgreSQL otomatis.

Kapan memakai snapshot, kapan backup?

Pakai snapshot sesaat sebelum perubahan berisiko: upgrade versi OS, update besar panel kontrol, mengganti versi PHP, atau menjalankan skrip yang belum pernah kamu coba. Kalau hasilnya kacau, kembalikan snapshot dan VPS kembali seperti semula dalam beberapa menit. Setelah perubahan terbukti aman selama beberapa hari, hapus snapshotnya. Snapshot juga berguna untuk mengkloning VPS, misalnya membuat server uji yang identik dengan server produksi.

Pakai backup sebagai perlindungan rutin yang berjalan otomatis, setiap hari atau lebih sering untuk data yang cepat berubah. Simpan di luar server, idealnya di lokasi atau penyedia berbeda, dengan riwayat beberapa minggu atau bulan. Banyak masalah baru ketahuan setelah lama, misalnya file yang terhapus atau situs yang disusupi diam-diam, dan saat itu snapshot terakhir sudah ikut berisi masalahnya. Prinsip menyimpan cadangan yang tahan ransomware dijelaskan di aturan backup 3-2-1-1-0.

Pada praktiknya, server yang sehat memakai keduanya. Snapshot untuk kecepatan pemulihan dari kesalahan operasional, backup untuk memastikan data tetap ada apa pun yang terjadi pada server. Untuk backup seluruh server Linux dengan penjadwalan dan enkripsi, lihat cara backup server Linux dengan Restic.

Hal yang sering terlewat

  • Biaya penyimpanan. Sebagian penyedia mengenakan biaya untuk snapshot berdasarkan ukurannya. Snapshot yang terlupa bisa menumpuk di tagihan.
  • Batas jumlah. Penyedia sering membatasi jumlah snapshot per VPS. Kebijakan rotasi tetap perlu.
  • Snapshot ikut terhapus bersama VPS. Di banyak platform, menghapus atau membatalkan layanan VPS juga menghapus snapshotnya.
  • Backup yang tidak pernah diuji. Backup baru terbukti berguna setelah berhasil dipulihkan. Jadwalkan uji restore berkala, misalnya memulihkan satu database ke server uji setiap bulan, lalu catat berapa lama prosesnya. Angka itu membantu kamu tahu berapa lama layanan akan berhenti bila bencana benar-benar terjadi.
  • Snapshot sebelum update otomatis. Kalau server memakai pembaruan otomatis, sebagian penyedia menyediakan jadwal snapshot. Manfaatkan untuk server yang perubahan konfigurasinya sering.

Pertanyaan yang sering diajukan

Apakah snapshot otomatis dari penyedia bisa dianggap backup?

Tergantung tempat penyimpanannya. Kalau penyedia menyalin snapshot ke sistem penyimpanan terpisah dan menyimpan beberapa titik waktu, fungsinya mendekati backup. Tetap simpan minimal satu salinan di luar penyedia yang sama.

Berapa lama snapshot sebaiknya disimpan?

Cukup sampai perubahan yang dilindunginya terbukti aman, biasanya beberapa hari. Snapshot yang dibiarkan lama memakan ruang dan bisa memperlambat disk.

Apakah snapshot menyimpan isi RAM?

Sebagian platform menyediakan opsi menyertakan isi RAM sehingga VM kembali dalam keadaan menyala. Tanpa opsi itu, snapshot hanya berisi disk dan VPS akan boot ulang saat dipulihkan.

Bisakah memulihkan satu file dari snapshot?

Biasanya tidak langsung, karena snapshot dipulihkan utuh. Sebagian penyedia mengizinkan membuat VPS baru dari snapshot, lalu kamu menyalin file yang diperlukan dari sana.

Baca juga