Skip to content

Pencadangan Mesin Virtual (VM Backups)

Cockpit menyediakan kemampuan pencadangan dan pemulihan mesin virtual yang komprehensif, memungkinkan administrator untuk mengamankan status, disk, dan konfigurasi mesin virtual melalui pencadangan manual serta penjadwalan otomatis.


1. Spesifikasi Pencadangan

Saat membuat cadangan, baik secara manual maupun melalui jadwal, administrator dapat mengonfigurasi parameter teknis berikut:

1.1 Jenis Pencadangan

  • Penuh (Full): Menyalin seluruh volume disk virtual. Ini berfungsi sebagai baseline independen.
  • Inkremental (Incremental): Hanya menyalin blok-blok yang berubah sejak pencadangan terakhir (Penuh atau Inkremental). Ini membentuk rantai backing untuk meminimalkan jejak penyimpanan.
  • Diferensial (Differential): Hanya menyalin blok-blok yang berubah sejak pencadangan Penuh terakhir.

1.2 Tujuan Target

Cadangan disimpan sebagai citra .qcow2 (atau varian terkompresi) di salah satu datastore (storage pool) yang dikonfigurasi pada host. Storage pool target memantau batas kapasitas dan melakukan pemindaian direktori.

1.3 Kompresi

Untuk mengoptimalkan penggunaan penyimpanan, blok disk dapat dikompresi selama proses pencadangan. Format yang didukung meliputi:

  • Tidak ada (None): Tanpa kompresi (eksekusi tercepat).
  • Gzip: Kompresi standar.
  • Zstd (Zstandard): Kinerja tinggi, rasio dan kecepatan kompresi yang optimal.
  • Xz: Rasio kompresi maksimum (overhead CPU tinggi).

1.4 Enkripsi

Untuk kepatuhan keamanan, cadangan dapat dienkripsi pada tingkat blok menggunakan algoritma enkripsi simetris:

  • Tidak ada (None): Penyimpanan teks biasa.
  • AES-128: Enkripsi simetris menggunakan kunci 128-bit.
  • AES-256: Enkripsi simetris menggunakan kunci 256-bit. Catatan: Frasa sandi/kunci yang aman harus disediakan selama pembuatan dan diperlukan untuk pemulihan berikutnya.

1.5 Salinan Memori (Memory Dumps)

Administrator dapat mengaktifkan opsi Sertakan Memori (Include Memory). Opsi ini mengambil status RAM runtime aktif dari VM, memungkinkan VM dipulihkan ke status aktif berjalan daripada melakukan boot dari status mati.


2. Penjadwal Cadangan Otomatis

Cockpit mengotomatiskan perlindungan data VM melalui manajer jadwal cadangan. Jadwal dipetakan ke database dan dieksekusi oleh task runner backend.

2.1 Konfigurasi Jadwal

  • Periodisitas: Harian, Mingguan, atau Bulanan.
  • Jenis Pencadangan: Penuh, Inkremental, atau Diferensial.
  • Storage Pool Target: Tujuan datastore.
  • Kebijakan Retensi: Menentukan jendela retensi dalam hitungan hari (misalnya, 7 hari). Cadangan yang melebihi batas ini secara otomatis dihapus oleh pekerja pembersihan backend.
  • Deskripsi: Metadata teks yang menjelaskan konteks tugas.

3. Aliran data dan Unggahan (Protokol TUS)

Untuk mengimpor cadangan eksternal atau mengunggah disk virtual yang ada, Cockpit mengintegrasikan Protokol TUS (Resumable Upload) melalui tus-js-client.

[Klien / Browser]                                       [Agen Host Vapor]
        │                                                        │
        │ ─── Inisiasi Unggahan (POST /backups/upload) ────────> │ (Alokasi ruang)
        │ <── Terima URL Unggahan & ID Unik ──────────────────── │
        │                                                        │
        │ ─── Alirkan Blok Data (PATCH /upload/{id} via TUS) ──> │ (Menambahkan data)
        │     [Menangani pemutusan jaringan dan melanjutkan]     │
        │                                                        │
        │ ─── Selesaikan Unggahan ─────────────────────────────> │ (Validasi citra)
  • Dapat Dilanjutkan (Resumability): Jika konektivitas jaringan terputus selama unggahan file .qcow2 berukuran besar, klien secara otomatis menanyakan offset terakhir ke server target dan melanjutkan aliran data dari offset byte tersebut tanpa mengunggah ulang data yang sudah selesai.
  • Format yang Didukung: Mendukung .qcow2 bersama dengan varian terkompresi .qcow2.gz, .qcow2.zst, dan .qcow2.xz.

4. Alur Kerja Pemulihan

Memulihkan cadangan akan membuat ulang konfigurasi VM dan citra disk dari arsip yang disimpan.

4.1 Opsi Pemulihan

  1. Pulihkan sebagai VM Baru: Membuat instans mesin virtual baru menggunakan nama yang berbeda (misalnya, vm-restored). Ini tidak mengganggu layanan aktif dan memungkinkan pengujian OS tamu secara berdampingan dengan lingkungan produksi.
  2. Timpa di Tempat (Overwrite In-place): Menimpa disk mesin virtual yang ada.

    CAUTION

    Menimpa VM bersifat destruktif dan menggantikan konten disk saat ini. VM target harus dimatikan sebelum memulai proses penimpaan.

  3. Kunci Dekripsi: Jika arsip cadangan dienkripsi selama pembuatan, kunci AES yang benar harus disediakan; jika tidak, hypervisor akan gagal melampirkan dan membaca tanda tangan blok disk.