Artikel ini berisi panduan langkah demi langkah untuk menyelamatkan folder source code proyek dari dalam Virtual Machine (VM) Proxmox yang gagal di-backup akibat Input/output error (err -5) pada storage fisik.
📌 Topik & Masalah
- Masalah: Disk fisik/SSD host Proxmox mengalami bad sector. Proses backup VM via vzdump / GUI Proxmox gagal terus di persentase tertentu dengan status Input/output error.
- Tujuan: Ambil source code aplikasi secara paksa langsung dari partisi VM melalui Shell Proxmox (Host Level) tanpa perlu menyalakan VM.
🚀 Langkah-Langkah Penyelamatan (Step-by-Step)
1. Matikan VM dan Aktifkan Volume Group
Buka terminal/shell host Proxmox (root@proxmox), lalu matikan VM agar disk tidak dalam kondisi terkunci:
qm stop <ID_VM>
vgchange -ay
(Contoh ID VM: 103)
2. Map Partisi Virtual Disk Menggunakan kpartx
Karena file disk VM memiliki tabel partisi di dalamnya, kita perlu memecahnya agar partisi internal terdeteksi oleh host:
apt update && apt install -y kpartx
kpartx -av /dev/pve/vm-<ID_VM>-disk-0
3. Deteksi LVM Internal di Dalam VM
Jika partisi sistem operasi VM dibentuk menggunakan LVM (misal Ubuntu Server bawaan), jalankan perintah berikut untuk mengaktifkan Volume Group milik VM:
vgscan
vgchange -ay
Cek nama mapper baru yang terbentuk:
ls -la /dev/mapper/
Catatan: Cari mapper yang mewakili partisi utama/root OS VM.
Contoh output: /dev/mapper/ubuntu--vg-ubuntu--lv
4. Mount Disk VM secara Read-Only
Buat direktori sementara di Proxmox, lalu sambungkan partisi VM dengan mode Read-Only (-o ro). Parameter ini sangat penting agar sistem tidak dipaksa menulis data yang bisa memicu I/O error tambahan pada disk yang bermasalah.
mkdir -p /mnt/vm_rescue
mount -o ro /dev/mapper/<NAMA_MAPPER_BARU> /mnt/vm_rescue
5. Temukan dan Kompres Folder Source Code
Cek lokasi folder proyek Anda (biasanya di /var/www/ atau di folder home user/home/<username>/):
# Cek isi folder home
ls -la /mnt/vm_rescue/home/<username>
Jika lokasi folder proyek sudah ditemukan, langsung bungkus/kompres folder tersebut menjadi file archive .tar.gz ke direktori penyimpanan Proxmox:
tar -czvf /var/lib/vz/dump/source_code_backup.tar.gz -C /mnt/vm_rescue/home/<username>/<nama_folder_proyek>
6. Lepas Mounting (Cleanup)
Setelah proses kompresi selesai, lepas sambungan mounting agar disk aman:
umount /mnt/vm_rescue
kpartx -dv /dev/pve/vm-<ID_VM>-disk-0
7. Unduh File Archive ke Laptop / PC Lokal
Buka terminal Laptop/PC Lokal Anda (bukan di Proxmox), lalu jalankan perintah scp:
Untuk Komputer Linux / macOS:
scp root@<IP_PROXMOX>:/var/lib/vz/dump/source_code_backup.tar.gz ~/Downloads/
Untuk Komputer Windows (PowerShell):
PowerShell
scp root@<IP_PROXMOX>:/var/lib/vz/dump/source_code_backup.tar.gz $env:USERPROFILE\Downloads\
💡 Ringkasan Alur Cepat
qm stop → kpartx -av → vgchange -ay → mount -o ro → tar -czvf → scp ke Laptop.

Top comments (0)