LVM (Logical Volume Management) suatu metode pemetaan partisi hardisk yang menyediakan volume manajemen untuk kernel linux. LVM memungkinkan Anda untuk menggabungkan beberapa hardisk menjadi satu partisi. Sangat cocok bagi Anda yang membutuhkan ruang penyimpanan besar, untuk keperluan media server, file server atau untuk keperluan di PC pribadi. Heinz Mauelshagen menulis kode LVM asli pada tahun 1998, mengambil pedoman desain utamanya dari manajer volume HP-UX.

Mengabungkan partisi hardisk menggunakan format LVM

Daftar Isi


Install

Untuk dapat menjalan LVM di komputer/server Anda silahkan install LVM2 terlebih dahulu. Dalam kasus ini kami melakukan konfigurasi menggunakan sistem operasi Linux (Ubuntu Server 14.04).

Perintah untuk install LVM2, jika OS server/PC Anda baru di install silahkan update terlebih dahulu apt-get update.


apt-get install lvm2

Setelah instalasi selesai silahkan cek versi LVM2 yang terinstall di server Anda.


lvm version

Anda akan melihat tampilan seperti berikut:


 LVM version:     2.02.133(2) (2015-10-30)
 Library version: 1.02.110 (2015-10-30)
 Driver version:  4.34.0

Create Physical Volume

Langkah pertama untuk membuat physical volume, pastikan hardisk sudah terpasang ke Server/PC Anda. Lakukan pengecekan melalui terminal dengan perintah fdisk.

Perintah untuk melihat daftar hardisk yang terpasang di server/PC:


fdisk -l

Akan tampil beberapa hardisk jika anda memiliki lebih dari satu hardik. Dalam contoh ini saya menggunakan satu hardisk. Lihat lokasi hardisk yang terbaca di /dev/sdb. Hardisknya 1TB tapi yang terbaca 931 GB, itu tidak masalah.


Disk /dev/sdb: 931,5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Setelah lokasi hardisk kita temukan, sekarang kita lanjutkan dengan membuat/format volume (Physical Volume) dengan perintah pvcreate. Jika Anda memiliki beberapa hardisk yang terpasang di Server/PC, Anda harus sudah benar-benar memastikan hardisk tersebut yang ingin Anda format.

Perintah untuk memformat hardisk, ganti sdb sesuai dengan di server Anda.


pvcreate /dev/sdb

Setelah Physical Volume kita create maka akan tampil pesan bahwa Physical volume telah sukses di create.


Physical volume "/dev/sdb" successfully created

Anda dapat memastikan apakah physical volume sudah berhasil dibuat, dengan perintah pvdisplay.


pvdisplay

Anda akan melihat tampilan berikut:


"/dev/sdb" is a new physical volume of "931,51 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name               
  PV Size               931,51 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               hwOcbg-SdWg-1Wof-rBuz-gcz3-ARGt-Le8Nzi

Create volume Group

Volume group berfungsi untuk menggabungkan beberapa physical volume menjadi satu partisi induk dan kemudian partisi induk tersebut bisa dibagi lagi menjadi beberapa partisi yang diesebut logical volume. Langsung saja, berikut perintah untuk membuat volume group:

Perintah membuat volume group, ganti sdb sesuai dengan server Anda. Pada kasus ini kita membuat group dengan nama vgsamba, ini dapat Anda sesuaikan dengan kebutuhan Anda.


vgcreate vgsamba /dev/sdb

Anda akan melihat tampilan berikut:


Volume group "vgsamba" successfully created

Sekarang coba lakukan perintah vgdisplay untuk melihat informasi group:


vgdisplay

Jika pembuatan group sudah berhasil maka Anda akan melihat tampilan seperti berikut:


--- Volume group ---
  VG Name               vgsamba
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               931,51 GiB
  PE Size               4,00 MiB
  Total PE              238467
  Alloc PE / Size       0 / 0   
  Free  PE / Size       238467 / 931,51 GiB
  VG UUID               Bmc47v-GYHW-XHDU-dwSO-vu6O-DkhG-QdOu2U

Create logical volume

Logical volume adalah ruang/bagian kecil dari volume group yang selanjutnya akan digunakan untuk partisi penyimpanan data. Satu volum group bisa dibagi menjadi beberapa logical volume, dan satu volume group juga bisa terdiri dari beberapa hardisk/physical volume.

Pada contoh berikut, kita akan membuat logical volume 100GB dengan nama lvdata1 dan berada pada group vgsamba. Berikut perintah untuk membuat logical volume:


lvcreate -L 100G -n lvdata1 vgsamba

Selanjutnya jalankan perintah lvdisplay untuk melihat informasi logical volulme:


lvdisplay

Anda akan melihat tampilan seperti berikut:


--- Logical volume ---
  LV Path                /dev/vgsamba/lvdata1
  LV Name                lvdata1
  VG Name                vgsamba
  LV UUID                QNAm0z-wmsy-0R50-8hEr-6pMV-0kV8-kWcc14
  LV Write Access        read/write
  LV Creation host, time zakiman-H61H2-M17, 2016-09-07 09:23:50 +0700
  LV Status              available
  # open                 0
  LV Size                100,00 GiB
  Current LE             25600
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

Format and Mount the Logical Volume

Agar partisi (Logical Volume) yang sudah kita buat dapat digunakan kita harus memformatnya. Format dapat disesuaikan dengan kebutuhan misal ext2,ext3, NTFS atau lainya.

Berikut perintah format menggunakan type ext3:


mkfs -t ext3 /dev/vgsamba/lvdata1

Jika format berhasil maka Anda akan melihat tampilan berikut:


mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 26214400 4k blocks and 6553600 inodes
Filesystem UUID: d9036adc-6e28-413b-97c9-3ed8b711c11b
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Selanjutnya kita buat directory untuk mount poin partisi yang sudah kita format. Pada kasus ini kita buat mount poin nya di directory /mnt/ dengan nama data1.


mkdir /mnt/data1

Sekarang kita lakukan mount point partisi ke directory /mnt/data1 dengan perintah berikut.


mount -t ext3 /dev/vgsamba/lvdata1 /mnt/data1

Jika tidak ada pesan error bearti mounting sukses dilakukan. Selanjutnya lakukan perintah df -h untuk memastikan kalau mounting sukses dilakukan.


df -h

Anda akan melihat tampilan berikut, /dev/mapper/vgsamba-lvdata1 berhasil di mount ke /mnt/data1.


Filesystem                   Size  Used Avail Use% Mounted on
udev                         1,4G     0  1,4G   0% /dev
tmpfs                        282M  8,6M  274M   4% /run
/dev/sda1                    456G  199G  235G  46% /
tmpfs                        1,4G  2,9M  1,4G   1% /dev/shm
tmpfs                        5,0M  4,0K  5,0M   1% /run/lock
tmpfs                        1,4G     0  1,4G   0% /sys/fs/cgroup
tmpfs                        282M   68K  282M   1% /run/user/1000
/dev/mapper/vgsamba-lvdata1   99G   60M   94G   1% /mnt/data1

Resize Logical Volume

Setelah berhasil pembuatan logical volume pada tahap sebelumnya. Kasus berikutnya bagaimana kita dapat mengubah ukuran Logical Volume yang sudah ada menjadi lebih besar. Pada kasus sebelumnya kita membuat logical volume 100GB, sekarang kita ingin menambahkan 100GB lagi hingga totalnya menjadi 200GB.

Berikut perintah untuk melakukan resize atau penambahan kapasitas Logical Volume yang sudah ada. Perhatikan, penambahan Logical Volume harus didukung oleh Physical Volume. Pada kasus ini kita memiliki Physical Volume dengan kapasitas 1TB realnya (931,5GB), yang sudah kita gunakan 100GB artinya kita masih dapat melakukan resize hingga 831,5 GB. Pada contoh ini kita coba untuk menambah kapasitas Logical Volume nya 100GB. Berikut perintahnya.

Perintah resize ukuran partisi:


lvextend -L+100G /dev/vgsamba/lvdata1

Anda akan melihat tampilan berikut:


Size of logical volume vgsamba/lvdata1 changed from 100,00 GiB (25600 extents) to 200,00 GiB (51200 extents).
Logical volume lvdata1 successfully resized.

Selanjutnya coba lakukan perintah lvdisplay untuk melihat hasil apakah Logical Volume sudah bertambah kapasitasnya atau tidak.


lvdisplay

Dapat kita lihat hasil display nya kapasitas Logical Volume nya sudah berubah menjadi 200GB. Lihat pada bagian LV Size 200,00 GiB.


--- Logical volume ---
  LV Path                /dev/vgsamba/lvdata1
  LV Name                lvdata1
  VG Name                vgsamba
  LV UUID                QNAm0z-wmsy-0R50-8hEr-6pMV-0kV8-kWcc14
  LV Write Access        read/write
  LV Creation host, time zakiman-H61H2-M17, 2016-09-07 09:23:50 +0700
  LV Status              available
  # open                 1
  LV Size                200,00 GiB
  Current LE             51200
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

Belum selesai sampai disini, karena pada partisi anda belum terbaca 200 GB. Diperlukan format ulang agar dapat terbaca pada partisi anda (data1). Format yang dimaksud disini anda perlu melakukan resize pada partisi agar Logical Volume 200GB dapat terbaca di partisi (data1). Berikut perintah melakukan resize partinya agar terbaca 200GB.


resize2fs /dev/vgsamba/lvdata1

Berikut proses resize, mungkin akan membutuhkan waktu tergantung besar kapasitas dan jumlah data yang ada didalam partisi.


resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/vgsamba/lvdata1 is mounted on /mnt/data1; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 13
The filesystem on /dev/vgsamba/lvdata1 is now 52428800 (4k) blocks long.

Sekarang coba lakukan perintah df -h, untuk melihat hasil apakah kapasitas partisi sudah bertambah atau belum.


df -h

Perhatikan pada baris paling bawah, alhamdulillah partisinya sudah bertambah menjadi 197G yang sebelumnya 99G . Itu artinya kita sudah sukses melakukan penambahan/resize partisi penyimpanan data1.


Filesystem                   Size  Used Avail Use% Mounted on
udev                         1,4G     0  1,4G   0% /dev
tmpfs                        282M   13M  270M   5% /run
/dev/sda1                    456G  199G  235G  46% /
tmpfs                        1,4G  2,3M  1,4G   1% /dev/shm
tmpfs                        5,0M  4,0K  5,0M   1% /run/lock
tmpfs                        1,4G     0  1,4G   0% /sys/fs/cgroup
tmpfs                        282M   68K  282M   1% /run/user/1000
/dev/mapper/vgsamba-lvdata1  197G   60M  188G   1% /mnt/data1

Add New Drive

Penambahan hardisk/Drive baru lakukan langkah Create Physical Volume. Setelah Physical Volume berhasil dibuat jalankan perintah berikut.

Pada contoh ini kita asumsikan Physical Volume ada di /dev/sdc. Kemudian kita tambahkan ke Volume Group vgsamba.


vgextend vgsamba /dev/sdc

Deleting

Jika anda ingin mencabut/melepaskan hardisk sebaiknya lakukan unmount demi kemamanan data. Namun jika anda ingin menghapus LVM seutuhnya dapat melakukan langkah-langkah berikut. Pertama unmout dulu partisinya.


umount /mnt/data1

Selanjutnya Remove Logical Volume.


lvremove /dev/vgsamba/lvdata1

Nanti akan muncul pertanyaan, ketik y untuk setuju.


Do you really want to remove and DISCARD active logical volume lvdata1? [y/n]: y
Logical volume "lvdata1" successfully removed

selanjutnya remove Volume Group.


vgremove vgsamba

Jika sukses akan tampil seperti berikut.


Volume group "vgsamba" successfully removed

Selanjutnya Remove Physical Volume.


pvremove /dev/sdb

Jika sukses akan tampil seperti berikut.


Labels on physical volume "/dev/sdb" successfully wiped

Demikian cara menggabungkan hardisk menjadi satu partisi menggunakan LVM. Anda juga bisa mencoba cara lain menggunakan RAID.