Tutorial Ubuntu 26.04 / Memulihkan snapshot dan mengkloning VM dengan aman

Snapshot mengembalikan mesin virtual (VM) ke keadaan yang disimpan, tetapi tidak menggantikan cadangan independen. Kloning membuat VM lain, namun tidak otomatis memperbarui akun di dalam sistem, kunci host SSH, atau identitas mesin.

Tentukan data yang harus tetap tersimpan setelah pemulihan

File dan pengaturan yang dibuat setelah snapshot dapat hilang ketika snapshot dipulihkan. Data dalam folder bersama milik host, basis data eksternal, dan penyimpanan jaringan perlu ditangani secara terpisah. Sebelum memulihkan, salin pekerjaan dan log yang masih diperlukan ke luar VM, lalu buka salinannya untuk memastikan isinya dapat dibaca.

Untuk latihan pertama, matikan VM secara normal sebelum mengambil snapshot dasar. Snapshot VM yang sedang berjalan juga menyimpan keadaan memori; hasil pemulihannya berbeda dari titik dasar yang dibuat saat VM mati. Gunakan nama bermakna seperti clean-install, lalu catat tanggal, keadaan yang sudah diperiksa, dan tujuan pemulihannya.

Uji pemulihan dengan file yang boleh dibuang

  1. Matikan VM secara normal. Di VirtualBox Manager, pilih VM pada daftar Machines, buka Snapshots, lalu pilih Take untuk menyimpan titik dasar.
  2. Nyalakan VM dan jalankan contoh berikut di terminal Ubuntu dalam VM. Gunakan lokasi latihan baru di direktori home, bukan folder bersama atau direktori berisi data penting. Contoh menolak lokasi yang sudah ada agar file lama tidak tertimpa.
  3. Setelah isi file diperiksa, matikan VM secara normal. Pilih snapshot dasar pada tampilan Snapshots, lalu klik Restore. Jika keadaan saat ini masih diperlukan, simpan sebagai snapshot lain sebelum memulihkan.
  4. Nyalakan kembali VM. Periksa keberadaan file latihan, kemampuan login, alamat jaringan, serta layanan yang diperlukan.
if [ -e "$HOME/snapshot-lab" ] || [ -L "$HOME/snapshot-lab" ]; then
  printf 'Direktori sudah ada; pilih lokasi latihan lain.\n' >&2
else
  mkdir "$HOME/snapshot-lab" &&
  printf 'after-snapshot\n' > "$HOME/snapshot-lab/marker.txt" &&
  cat "$HOME/snapshot-lab/marker.txt"
fi

Jika pembuatan berhasil, terminal menampilkan after-snapshot. Jika muncul pesan bahwa direktori sudah ada, jangan hapus isinya untuk melanjutkan; pilih nama direktori latihan baru dan sesuaikan semua jalurnya. Anda dapat memeriksa lokasi latihan melalui pengelola file sebelum dan sesudah pemulihan.

Jika file belum ada saat snapshot dasar dibuat dan berada pada disk virtual dengan mode normal, file tersebut seharusnya tidak ada setelah pemulihan. Jika masih ada, periksa apakah lokasinya merupakan folder bersama, disk dengan mode khusus yang tidak ikut dipulihkan, atau snapshot yang diambil setelah file dibuat. Hilangnya file latihan ini belum membuktikan bahwa data aplikasi penting dapat dipulihkan dengan benar.

Panduan pengelolaan VM VirtualBox menjelaskan cakupan snapshot, kloning, dan ekspor. Pemulihan mengembalikan perubahan disk yang tercakup dalam snapshot; jangan menganggap semua lokasi penyimpanan ikut kembali ke keadaan lama.

Nyalakan hasil kloning dalam jaringan terisolasi terlebih dahulu

Sebelum menghubungkan VM asli dan hasil kloning secara bersamaan, nonaktifkan jaringan VM hasil kloning atau gunakan segmen latihan terisolasi. Alamat IP statis, nama host, pengenal DHCP, dan jalur bersama dapat bertabrakan atau membuat VM lain dikenali sebagai mesin yang sama. Periksa kebijakan alamat MAC pada kloning; pilihan Generate New MAC Addresses For All Network Adapters membuat alamat MAC baru untuk setiap adaptor jaringan virtual.

Di terminal Ubuntu pada masing-masing VM, bandingkan informasi berikut melalui konsol lokal. Nama host, alamat, dan machine ID menunjukkan identitas sistem; perintah terakhir menampilkan sidik jari kunci publik host OpenSSH, bukan membuat kunci baru.

hostnamectl
ip -br address
cat /etc/machine-id
sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

Jika OpenSSH Server atau file kunci Ed25519 tersebut belum tersedia, perintah terakhir dapat melaporkan file tidak ditemukan. Itu tidak membuktikan bahwa identitas kedua mesin berbeda. Periksa kunci host yang benar-benar digunakan oleh layanan SSH sebelum mengaktifkan akses jaringan.

Machine ID atau kunci host SSH yang sama belum tentu membuat boot gagal, tetapi keduanya tidak lagi membedakan identitas server secara independen. Perlakukan machine ID sebagai pengenal rahasia; jangan memublikasikan nilainya atau alamat internal. Jangan menghapus kunci pada VM asli atau menerapkan pengaturan ulang khusus hasil kloning pada kedua VM. Opsi pemeriksaan sidik jari dijelaskan dalam manual ssh-keygen.

Bedakan kloning untuk latihan dan templat penerapan

Untuk perbandingan sekali pakai, VM hasil kloning dapat dipakai secara terisolasi dengan alamat dan nama host yang berbeda. Untuk menerapkannya sebagai server independen, siapkan rencana terpisah untuk kunci host OpenSSH, machine-id, keadaan awal cloud-init, rahasia akun, dan konfigurasi jaringan statis. Menghapus satu file tanpa memahami lingkungan templat bukan prosedur yang berlaku universal. Dokumentasi clean pada cloud-init menjelaskan bahwa pembersihan keadaannya dapat memicu ulang tahap inisialisasi pada boot berikutnya; tentukan prosedur templat sebelum menjalankannya.

Perhatikan juga jenis kloning: Full Clone menyalin disk yang diperlukan agar dapat beroperasi tanpa VM sumber, sedangkan Linked Clone bergantung pada disk sumber. Perbedaan ini tidak menghilangkan kebutuhan memeriksa identitas sistem di dalam VM.

Setelah pemulihan atau kloning, periksa waktu, login, jaringan, mount, dan respons layanan. Uji impor serta boot cadangan VM yang disimpan secara independen sebagai latihan terpisah. Jangan memindahkan atau menghapus sebagian file pada rantai disk snapshot secara sembarangan.