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.
Daftar Isi
- Install
- Create Physical Volume
- Create volume Group
- Create logical volume
- Format and Mount
- Resize Logical Volume
- Add New Drive
- Deleting
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.