Otomatisasi Expand Disk VM Ubuntu Proxmox: Solusi Script Bash untuk LVM
Keren! Senang mendengarnya server sudah aman.
--- Sebagai pengguna Proxmox, salah satu rutinitas yang sering kita lakukan adalah menambah kapasitas storage Virtual Machine (VM). Biasanya, setelah kita klik "Resize Disk" di panel Proxmox, tugas belum selesai. Kita harus masuk ke terminal Linux dan mengetik serangkaian perintah mistis seperti `growpart`, `pvresize`, hingga `lvextend`. Jika Anda mengelola banyak VM, melakukan ini satu per satu tentu melelahkan. Apalagi jika salah ketik, risikonya fatal. Di artikel ini, saya akan membagikan script bash sederhana yang saya gunakan untuk mengotomatiskan proses expand disk pada Ubuntu dengan LVM. #### Masalah: Disk Penuh tapi Sudah Di-resize? Pernahkah Anda sudah menambah disk di Proxmox dari 10GB ke 20GB, tapi saat dicek dengan `df -h` ukurannya tidak berubah? Itu karena OS di dalam (Guest OS) belum "sadar" bahwa disk fisiknya sudah bertambah. Kita perlu melakukan tiga hal: 1. Melebarkan partisi. 2. Memberi tahu LVM bahwa ada ruang kosong baru. 3. Memperbesar file system. #### Solusi: Script `expand.sh` Daripada mengetik 4-5 perintah manual, cukup gunakan script ini. **Langkah 1: Resize di Proxmox** Masuk ke Proxmox, pilih VM > **Hardware** > **Hard Disk** > **Resize Disk**. Tambahkan ukuran yang diinginkan (misal +10GB). **Langkah 2: Buat Script di VM** Masuk ke terminal VM Anda, buat file baru: ```bash nano expand.sh
Paste kode berikut:
Bash
#!/bin/bash
# Script Auto-Expand Storage LVM (Ubuntu Default)
# Sesuaikan jika partisi Anda berbeda (Default Ubuntu biasanya sda3)
DISK="/dev/sda"
PART_NUM="3"
PARTITION="${DISK}${PART_NUM}"
LV_PATH="/dev/mapper/ubuntu--vg-ubuntu--lv"
# Cek Root
if [ "$EUID" -ne 0 ]; then
echo "❌ Error: Harap jalankan sebagai root."
exit 1
fi
echo "=== 🚀 Memulai Proses Expand Storage ==="
# 1. Growpart (Install cloud-guest-utils jika belum ada)
growpart "$DISK" "$PART_NUM"
# 2. LVM Resize
pvresize "$PARTITION"
lvextend -l +100%FREE "$LV_PATH"
# 3. Filesystem Resize
resize2fs "$LV_PATH"
echo "=== 🎉 Selesai! Kapasitas Baru: ==="
df -h /
Langkah 3: Eksekusi
Beri izin eksekusi dan jalankan:
Bash
chmod +x expand.sh ./expand.sh
Troubleshooting: Error \r command not found?
Jika Anda menulis script ini di Notepad (Windows) lalu meng-copy-nya ke Linux, mungkin akan muncul error aneh seperti $'\r': command not found.
Ini terjadi karena perbedaan format baris (Line Endings) antara Windows (CRLF) dan Linux (LF). Solusinya mudah, cukup jalankan perintah ini pada file script Anda:
Bash
sed -i 's/\r$//' expand.sh
Sekarang, setiap kali butuh tambah storage, tinggal resize di Proxmox dan jalankan satu perintah saja di terminal!