2025-12-26
admin

Otomatisasi Expand Disk VM Ubuntu Proxmox: Solusi Script Bash untuk LVM

Kesal karena disk VM Ubuntu di Proxmox penuh meski sudah di-resize? Temukan solusi script bash otomatis untuk melebarkan partisi dan LVM tanpa repot!
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!


blog admin

Artikel Terkait