Memperbesar Ukuran Disk Virtual di Proxmox

Efisiensi penggunaan disk akan dilakukan terhadap sebuah mesin virtual (VM). VM tersebut menjalankan layanan email menggunakan vPostmaster. VM menggunakan 2 disk (ide0, ide1) yang masing-masing berukuran 559GB dan 1.3TB dengan utilitas 8% dan 60%. Diinginkan disk ide1 di-merge ke disk ide0, sehingga hanya 1 disk virtual saja yang dibutuhkan. Perhitungan kasar menghasilkan 900GB ruang disk yang bisa dihemat.

Disk ide0 terbagi atas 3 partisi. Ukuran disk tercatat 600GB (559 x 1024 x 1024 x 1024).

$ fdisk -l /dev/sda
Disk /dev/sda: 600.0 GB, 599965827072 bytes
255 heads, 63 sectors/track, 72941 cylinders, total 1171808256 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
...
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758  1171806207   585652225    5  Extended
/dev/sda5          501760  1171806207   585652224   8e  Linux LVM

Partisi /dev/sda5 merupakan partisi LVM dan mempunyai 2 LV (logical volume) yang salah satunya digunakan sebagai root /.

$ pvscan
  PV /dev/sda5   VG mail-staf   lvm2 [558.52 GiB / 0    free]
  Total: 1 [558.52 GiB] / in use: 1 [558.52 GiB] / in no VG: 0 [0   ]
$ lvscan
  ACTIVE            '/dev/mail-staf/root' [549.34 GiB] inherit
  ACTIVE            '/dev/mail-staf/swap_1' [9.18 GiB] inherit

Disk ide1 di-mounting sebagai /var/spool/vpostmaster/ untuk menampung file-file email dari semua akun yang terdaftar. Utilitas kedua disk adalah sebagai berikut:

$ df -h
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mail-staf/root          541G   38G  476G   8% /
..
/dev/sdb                     1.3T  719G  489G  60% /var/spool/vpostmaster

Untuk menggabungkan kedua disk (memindahkan /var/spool/vpostmaster) ke LV /dev/mail-staf/root, maka diperlukan setidaknya 800GB disk bebas di LV tersebut. Jadi, LV root tersebut harus ditambah besarnya.

Disk ide0 (/dev/sda) akan ditambah 372GB, sehingga besar totalnya adalah 931GB atau sekitar 1000GB. Penambahan besar disk tersebut cukup untuk LV root menampung file-file dari direktori /var/spool/vpostmaster (disk ide1), yaitu 476G (free disk /) + 372GB = 848G.

Langkah-langkahnya secara garis besar sebagai berikut:

  1. Memperbesar disk virtual dari Proxmox
  2. Memperbesar partisi disk /dev/sda5
  3. Memperbesar PV (physical volume) dan LV (logical volume)
  4. Memberbesar filesystem root /
  5. Menyalin file dari ide1 ke LV root


Mengubah ukuran disk virtual dapat dilakukan dari GUI Proxmox maupun konsol (shell). Dari jendela Proxmox, klik VM yang disknya akan diperbesar. Klik tab Hardware dan pilih disk yang ukurannya akan diperbesar. Klik tombol Resize disk untuk menambah besar disk. Jendela Resize disk muncul. Masukkan besar disk tambahan (dalam GB), misalnya 372 (GB) untuk menghasilkan besar total 931GB (931 x 1024 x 1024 x 1024 = 1000G).resize-disk

Besar disk (ide0) di Proxmox telah berubah menjadi 999.4GB. Perubahan besar disk ini telah dikenali oleh VM.

$ fdisk -l /dev/sda
Disk /dev/sda: 999.4 GB, 999397785600 bytes
255 heads, 63 sectors/track, 121503 cylinders, total 1951948800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c138d
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758  1171806207   585652225    5  Extended
/dev/sda5          501760  1171806207   585652224   8e  Linux LVM

Berikutaya adalah mengubah ukuran partisi disk /dev/sda5.

$ fdisk /dev/sda
Command (m for help): d
Partition number (1-5): 5
Command (m for help): d
Partition number (1-5): 2
Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e
Partition number (1-4, default 2):
Using default value 2
First sector (499712-1951948799, default 499712):
Using default value 499712
Last sector, +sectors or +size{K,M,G} (499712-1951948799, default 1951948799):
Using default value 1951948799
Command (m for help): n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 5
First sector (501760-1951948799, default 501760):
Using default value 501760
Last sector, +sectors or +size{K,M,G} (501760-1951948799, default 1951948799):
Using default value 1951948799
Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): 8e
Changed system type of partition 5 to 8e (Linux LVM)
Command (m for help): p
Disk /dev/sda: 999.4 GB, 999397785600 bytes
255 heads, 63 sectors/track, 121503 cylinders, total 1951948800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c138d
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          499712  1951948799   975724544    5  Extended
/dev/sda5          501760  1951948799   975723520   8e  Linux LVM
Command (m for help):

Reboot sistem agar perubahan partisi dapat dikenali.

$ reboot

PV /dev/sda5 akan diperbesar sesuai alokasi disk yang disediakan Proxmox.

$ pvscan
  PV /dev/sda5   VG mail-staf   lvm2 [558.52 GiB / 0    free]
  Total: 1 [558.52 GiB] / in use: 1 [558.52 GiB] / in no VG: 0 [0   ]
$ pvresize /dev/sda5
  Physical volume "/dev/sda5" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized
$ pvscan
  PV /dev/sda5   VG mail-staf   lvm2 [930.52 GiB / 372.00 GiB free]
  Total: 1 [930.52 GiB] / in use: 1 [930.52 GiB] / in no VG: 0 [0   ]

LV /dev/mail-staf/root sebagai partisi root / juga harus diperbesar dengan perintah lvresize. Disk bebas yang tersedia di PV /dev/sda5 adalah 372GB.

$ lvscan
  ACTIVE            '/dev/mail-staf/root' [549.34 GiB] inherit
  ACTIVE            '/dev/mail-staf/swap_1' [9.18 GiB] inherit
$ lvresize -L +372G /dev/mail-staf/root
  Extending logical volume root to 921.34 GiB
  Logical volume root successfully resized
$ lvscan
  ACTIVE            '/dev/mail-staf/root' [921.34 GiB] inherit
  ACTIVE            '/dev/mail-staf/swap_1' [9.18 GiB] inherit

Selanjutnya filesystem root / yang harus diperbesar dengan perintah resize2fs.

$ resize2fs /dev/mail-staf/root
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mail-staf/root is mounted on /; on-line resizing required
old_desc_blocks = 35, new_desc_blocks = 58
Performing an on-line resize of /dev/mail-staf/root to 241524736 (4k) blocks.
The filesystem on /dev/mail-staf/root is now 241524736 blocks long.

Ukuran filesystem root sekarang menjadi 907GB dengan disk bebas 824GB. Partisi root / sekarang siap untuk menerima file dari disk ide1 (/dev/sdb).

df -h
Filesystem                   Size  Used Avail Use% Mounted on
...
/dev/mapper/mail--staf-root  907G   38G  824G   5% /
...
/dev/sdb                     1.3T  719G  489G  60% /var/spool/vpostmaster

Buat direktori /var/spool/vpostmaster.new. Semua file dari /var/spool/vpostmaster disalin ke /var/spool/vpostmaster.new. Disk /dev/sdb di-unmount dan di-non-aktifkan di /etc/fstab. Direktori vpostmaster.new diubah namanya menjadi vpostmaster.

$ cp -af /var/spool/vpostmaster/* /var/spool/vpostmaster.new/
$ umount /dev/sdb
$ rm -Rf /var/spool/vpostmaster
$ mv /var/spool/vpostmaster.new /var/spool/vpostmaster

Isi /etc/fstab diubah dengna memberi komentar di baris /dev/sdb (atau dihapus).

# /etc/fstab
...
#/dev/sdb /var/spool/vpostmaster ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0
...

Setelah selesai, disk ide1 dapat dinonaktifkan dari Proxmox. VM email hanya menggunakan 1 disk saja, yaitu ide0.

Leave a Reply

Your email address will not be published. Required fields are marked *


*

This blog is kept spam free by WP-SpamFree.