Tutorial ini akan menjelaskan cara memperbesar harddisk mesin virtual pada Proxmox VE lalu mengubah ukuran LVM pada mesin virtual tersebut.

Sebelum mencoba hal ini, pastikan VMnya sudah disnapshot atau dikloning karena perintah yang akan dijalankan berikut mempunyai resiko kehilangan data jika tidak dijalankan dengan benar.

Percobaan berikut menggunakan Proxmox VE 4.0 dengan mesin virtual Ubuntu 12.04.

Mengindentifikasi Tipe Partisi

Hal yang pertama kita lakukan adalah memastikan tipe partisinya benar LVM Linux dengan melakukan perintah berikut:

# fdisk /dev/sda

Screenshot-from-2016-01-20-115411

Seperti yang terlihat di atas, sistemnya mempunyai Linux LVM di /dev/sda5.

Di bawah adalah informasi yang menunjukkan sistem yang berjalan hanya mempunyai 19 ≈ 20GB pada /dev/mapper/ubuntu-root. Partisi inilah yang akan kita perbesar ukurannya.

Screenshot-from-2016-01-20-115441

Memperbesar Harddisk Virtual Machine

Setelah login ke webnya Proxmox VE (https://ip-pve:8006), pilih mesin virtual yang akan kita perbesar ukuran harddisknya. Setelah itu klik tab Hardware.

Screenshot-from-2016-01-20-115545

Klik pada Hard Disk lalu pilih Resize disk.

Screenshot-from-2016-01-20-115555

Pada contoh di atas saya menambahkan 40GB sehingga totalnya menjadi 60GB.

Mendeteksi Kapasitas Harddisk

Setelah kita memperbesar ukuran harddisk dari Proxmox VE, hal yang perlu dilakukan berikutnya adalah mematikan VM tersebut dan menyalakannya lagi agar berhasil.

Screenshot-from-2016-01-20-120139

Seperti yang kita lihat di atas, ukuran harddisk /dev/sda sudah berubah menjadi 60GB.

Mempartisi Harddisk

Untuk mempartisi harddisk (/dev/sda) kita akan gunakan perintah berikut:

# fdisk /dev/sda

Pilih n untuk membuat partisi yang baru.

Command (m for help): n

Berikutnya pilih p untuk membuat partisi primer yang baru.

Partition type:
p   primary (1 primary, 1 extended, 2 free)
l   logical (numbered from 5)
Select (default p): p

Lalu tekan 3 untuk membuat partisi /dev/sda3.

Partition number (1-4, default 3): 3

Untuk first sector, isi satu sector setelah sector yang terakhir digunakan. Misalnya pada kasus ini sector yang terakhir digunakan adalah 41940991, jadi pada terminal diisi 41940992.

Jika memakai cylinder, isi dengan cylinder yang terakhir digunakan.

Untuk last sector/cylinder, defaultnya akan dipilih sector/cylinder terakhir. Jadi tekan Enter saja untuk memilih secara default.

First sector (499712-125829119, default 499712): 41940992
Last sector, +sectors or +size{K,M,G} (41940992-125829119, default 125829119): "enter"
Using default value 125829119

Berikutnya kita akan mengubah ID sistem partisi menjadi Linux LVM. Partisi yang akan diubah adalah partisi 3 (/dev/sda3) yang baru saja dibuat.

Command (m for help): t
Partition number (1-5): 3

Isi Hex code dengan 8e yang merupakan ID untuk Linux LVM.

Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)

Lalu w untuk menyimpan dan keluar dari fdisk.

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Screenshot-from-2016-01-20-145813

Peringatan akan muncul karena kernel masih menggunakan tabel yang lama. Sebaiknya reboot atau jalankan partrobe atau kpartx. Pada kasus ini saya tidak perlu reboot karena partisi yang baru dibuat sudah terdeteksi.

Screenshot-from-2016-01-20-150154

Meningkatkan Kapasitas LVM

Langkah berikutnya adalah membuat sebuah volume fisik yaitu partisi /dev/sda3 yang nanti akan digunakan oleh LVM.

# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created

Pastikan nama dan ukuran Volume Group yang sudah ada dengan perintah vgdisplay.

# vgdisplay
  --- Volume group ---
  VG Name               ubuntu
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.76 GiB
  PE Size               4.00 MiB
  Total PE              5058
  Alloc PE / Size       5053 / 19.74 GiB
  Free  PE / Size       5 / 20.00 MiB
  VG UUID               5wuWX7-nEOx-XBeD-1uj2-ilvp-ZeDf-8Pd2tA

Selanjutnya adalah memperbesar VG “ubuntu” dengan menambah /dev/sda3 yang baru saja dibuat.

# vgextend ubuntu /dev/sda3
  Volume group "ubuntu" successfully extended

Jalankan perintah pvscan untuk memindai semua volume fisikal, seharusnya akan ada partisi /dev/sda5 yang sudah ada sebelumnya dan /dev/sda3 yang baru dibuat.

# pvscan
  PV /dev/sda5   VG ubuntu   lvm2 [19.76 GiB / 20.00 MiB free]
  PV /dev/sda3   VG ubuntu   lvm2 [40.00 GiB / 40.00 GiB free]
  Total: 2 [59.76 GiB] / in use: 2 [59.76 GiB] / in no VG: 0 [0   ]

Berikutnya kita akan menggabungkan /dev/sda5 dengan /dev/sda3.

Kita pastikan dahulu nama volume logikal dengan perintah lvdisplay.

# lvdisplay
  --- Logical volume ---
  LV Name                /dev/ubuntu/root

Jalankan perintah lvextend.

# lvextend /dev/ubuntu/root /dev/sda3
  Extending logical volume root to 58.74 GiB
  Logical volume root successfully resized

Langkah terakhir adalah mengubah ukuran sistem filenya dengan perintah resize2fs.

# resize2fs /dev/ubuntu/root
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/ubuntu/root is mounted on /; on-line resizing required old_desc_blocks = 2, new_desc_blocks = 4
Performing an on-line resize of /dev/ubuntu/root to 15398912 (4k) blocks.
The filesystem on /dev/ubuntu/root is now 15398912 blocks long.

Untuk memastikan langkah terakhir berhasil , jalankan perintah df.

Screenshot-from-2016-01-25-151450