Snapshots & Templates
Vapor menyediakan mekanisme untuk mengambil kondisi mesin virtual pada titik waktu tertentu (point-in-time) untuk kebutuhan pengujian, backup, atau replikasi instans yang cepat.
Snapshot VM
Snapshot mencatat status image disk mesin virtual dan secara opsional status memori aktifnya (RAM) pada saat tertentu.
Kapabilitas Snapshot dan Status Memori
Backend penyimpanan dan konfigurasi tamu yang berbeda mendukung fitur snapshot yang berbeda pula:
- Pemeriksaan Kapabilitas: Sebelum mengambil snapshot, Vapor menanyakan
GET /api/v1/virtualization/computes/{id}/snapshots/capabilitiesuntuk menentukan apakah snapshot yang menyertakan memori (supports_memory) didukung. - Sertakan Memori: Jika didukung, Anda dapat mencentang Include Memory selama pembuatan untuk menyimpan status RAM aktif. Ini memungkinkan VM untuk melanjutkan eksekusi dari titik tepat saat snapshot diambil, dengan mempertahankan proses yang sedang berjalan. Jika memori tidak disimpan, memulihkan ke snapshot akan memboot VM dalam kondisi mati (powered-off).
- Pengkondisian Sistem File (Filesystem Quiescing): Saat fitur pembekuan aktif (
quiesce: true), Vapor menggunakan QEMU Guest Agent untuk menjeda operasi I/O sistem file di dalam VM tamu dan membersihkan blok cache kotor ke disk sebelum mengambil snapshot. - Snapshot Eksternal: Di bawah tata letak penyimpanan tertentu, snapshot eksternal (
force_external: true) dapat dipaksakan untuk membuat file overlay alih-alih memodifikasi struktur QCOW2 internal.
Operasi Manajemen (API & UI)
- Daftar Snapshot:
GET /api/v1/virtualization/computes/{id}/snapshots - Buat Snapshot:
POST /api/v1/virtualization/computes/{id}/snapshotsdengan parameter:name,description,include_memory(bool),quiesce(bool),force_external(bool). - Detail Snapshot:
GET /api/v1/virtualization/computes/{id}/snapshots/{snapshot_name} - Pulihkan ke Snapshot:
POST /api/v1/virtualization/computes/{id}/snapshots/{snapshot_name}/revert - Hapus Snapshot:
DELETE /api/v1/virtualization/computes/{id}/snapshots/{snapshot_name}
WARNING
Snapshot bergantung pada rantai file disk virtual di bawahnya. Jika image disk virtual dasar dihapus atau rusak, snapshot tidak akan dapat dipulihkan. Snapshot tidak boleh dianggap sebagai backup mandiri.
Template VM
Template memungkinkan administrator untuk membekukan konfigurasi mesin virtual sebagai image induk baca-saja (golden image) untuk men-deploy VM baru yang identik.
Siklus Hidup dan Konversi Template
- Konversi VM ke Template:
POST /api/v1/virtualization/computes/{id}/convert-to-templatedengandescription. VM harus dalam keadaan mati. Setelah dikonversi, VM dihapus dari daftar aktif computes (GET /virtualization/computes) dan diisolasi di registri template (GET /virtualization/computes/templates). - Blok Mulai (Start Block): Template tidak dapat dinyalakan atau dijalankan secara langsung. Upaya untuk menyalakan template akan mengembalikan error
HTTP 409 Conflict. - Deploy dari Template:
POST /api/v1/virtualization/computes/from-templatedengantemplate_id,name, dan tujuanstorage_pool. Vapor melakukan klon copy-on-write yang cepat dari volume disk template untuk menyediakan VM baru. - Konversi Template kembali ke VM:
POST /api/v1/virtualization/computes/templates/{template_id}/convert-to-vm. Ini meregistrasikan kembali template sebagai VM standar yang dapat di-boot. - Hapus Template:
DELETE /api/v1/virtualization/computes/templates/{template_id}?remove_disks=truemenghapus template dan secara opsional membersihkan disk penyimpanan pendukungnya.