Thursday, 02 April 2009
Sibuk dengan urusan mem-backup data karena ukuran hard disk sudah tidak memadai? Sering direpotkan dengan pengaturan partisi? Ada baiknya Anda mulai mempertimbangkan penggunaan LVM sebagai solusi ampuhnya.

Apa sebenarnya keunggulan LVM (Logical Volume Manager)? Sederhananya, LVM menempatkan data pada area logical, tidak lagi langsung direlasikan dengan satu atau lebih partisi. Susah membayangkannya? Cobalah menyimak analogi sederhana berikut ini. Kita misalkan partisi itu seperti kaveling tanah. Di atas tanah, kita dirikan rumah. Rumah di sini adalah volume tempat data yang disimpan. Pada konsep non-LVM, kita hanya bisa membangun rumah seluas maksimal kaveling tanah kita. Apabila ingin lebih besar dari itu, maka kita harus memperlebar dulu kaveling tanah kita. Satu nama pemilik hanya boleh memiliki maksimal satu kaveling tanah. Kita juga tidak mungkin “membajak” kaveling tanah tetangga karena itu bukan hak milik kita. Pada konsep LVM, kaveling tanah bukan lagi dilihat sebagai patokan utama pendirian bangunan. Suatu kaveling tanah bisa digabung dengan kaveling tanah lain atas nama satu “sertifikat” hak milik. Dengan demikian, rumah kita bisa menempati maksimal seluas gabungan kaveling yang ada. Apabila dirasa kurang, kita bisa membeli lagi kaveling tanah lain dan memasukkannya pada sertifikat. Di atas kaveling gabungan ini, pemilik bisa membangun lebih dari satu rumah.
Berdasar analogi ini, ada istilah-istilah dasar LVM yang perlu dipahami. Kaveling tanah kita sebut sebagai physical volume. Gabungan kaveling tanah dinamai volume group. Sementara itu, rumah yang dibangun di atas gabungan kaveling disebut logical volume. Physical volume sendiri sebenarnya adalah partisi biasa, baik yang bertipe primary maupun logical.
Sebagai gambaran umum, inilah cara men-setup LVM:
1. partisi normal kita konversi menjadi physical volume.
2. Satu atau lebih physical volume kita jadikan volume group
3. di dalam volume group kita ciptakan logical volume sesuai keperluan. Logical volume inilah yang nanti kita format (misalkan sebagai ext2) dan diisi dengan data.
Kita akan coba secara mendetail mempelajari setup LVM. Versi LVM yang dijadikan basis pembahasan di sini adalah LVM 2. Penulis menggunakan distro Fedora 7 yang menyertakan paket RPM lvm2-2.02.24-1. Terlebih dahulu pastikan paket tersebut telah ter-install di PC.
Thursday, 02 April 2009
Kapan menambah ukuran volume group perlu dilakukan? Mungkin pembaca sudah bisa menebak. Ukuran maksimal logical volume adalah sebesar ruang kosong yang tersisa pada volume group atau istilah lebih tepatnya, free physical extent. Jadi, jika ingin lebih besar dari itu, volume group harus diperbesar juga.

MEMPERBESAR – Untuk memperbesar Volume Group, Anda dapat menambahkan jumlah physical volume.
Cara termudah untuk memperbesar volume group adalah dengan menambahkan physical volume baru ke dalam volume group. Itu artinya kita melakukan urutan langkah seperti ini:
1. Mengonversi suatu partisi menjadi physical volume (PV). Partisi ini bisa berupa partisi yang sudah ada atau dibuat dulu misal dengan bantuan tool parted.
2. Menambahkan PV baru ke dalam volume group lewat perintah vgextend.
Sisanya sama seperti saat kita memperbesar logical volume.
Pada PC pengujian, masih tersisa ruang kosong sekitar 6 GB pada hard disk yang belum dipartisi. Perintah berikut ini digunakan untuk menyiapkan partisi baru sekaligus menjadikannya PV:
# parted /dev/sda mkpart
logical 114G
120G
# parted /dev/sda p
Number Start End Size
Type File
system Flags
……
10 114GB 120GB
6029MB logical
# fdisk /dev/sda
….
Command (m for help): t
Partition number (1-10): 10
Hex code (type L to list codes): 8e
Changed system type of partition 10 to 8e
(Linux LVM)
Command (m for help): w
# partprobe
# parted /dev/sda p
…
Number Start End Size Type File
system Flags
…
10 114GB 120GB 6029MB logical
lvm
# pvcreate /dev/sda10
Volume group vg_test dapat diperluas dengan physical volume baru tersebut dengan perintah:
# vgextend -v vg_test /dev/sda10
Adding physical volume ‘/dev/sda10’ to
volume group ‘vg_test’
Kita konfirmasikan perubahan ini:
# vgdisplay
— Volume group —
VG Name vg_test
….
VG Size 18.64 GB
PE Size 4.00 MB

DIBULATKAN – Ukuran logical volume selalu dibulatkan sesuai dengan ukuran Physical Extent.
Sesuai dengan apa yang diharapkan, volume group vg_test membesar dari ukuran awal 13 GB menjadi 18,64 GB. Kini, Anda tinggal menyesuaikan ukuran logical volume dan filesystemnya, baca lagi bagian B dari artikel ini.
LVM adalah cara baru pengaturan data di disk yang menawarkan fleksibilitas dan kemudahan dibanding metode partisi cara tradisional. Kini tergantung bagaimana Anda memanfaatkan LVM untuk memenuhi kebutuhan penyimpanan data. Selamat mencoba!
Thursday, 02 April 2009
Di bagian inilah (dan satu lagi yang akan dibahas) kelebihan utama sistem LVM. Apabila sistem partisi konvensional sering merepotkan Anda untuk me-resize partisi (jika tidak ada lagi free space), dengan LVM solusinya relatif mudah. Dengan asumsi kita ingin memperbesar lv_test, yang harus dilakukan adalah:
1. Mengatur ulang ukuran logical volume lv_test.
2. Menyesuaikan ukuran sistem (filesystem) file di dalam LV.

MULAILAH DARI LOGICAL-NYA – Setelah ukuran logical volume Anda sesuaikan, sistem file pun dapat diperbesar.
Langkah pertama mungkin bisa dengan mudah dipahami, tetapi mungkin Anda bertanya-tanya, kenapa perlu langkah kedua? Bayangkan Anda adalah tuan tanah dari sebidang tanah berukuran 200 hektar. Di atasnya dibuat perkebunan apel luasnya juga 200 hektar. Lalu, Anda membeli lagi sebidang tanah seluas 100 hektar. Dengan demikian, luas tanah milik Anda pun menjadi 300 hektar, tetapi bukan berarti otomatis kebun apel Anda menjadi 300 hektar. Anda tentu ingat bahwa pada bagian A, besarnya VG vg_test sebesar 13 GB, namun baru terpakai 5 GB. Dengan demikian LV lv_test pun bisa berukuran maksimal 13 GB. Perintah berikut menjadikan ukuran lv_test sebesar 13 GB:
# lvextend -L 13G /dev/vg_test/lv_test
Extending logical volume lv_test to 13.00
GB
Logical volume lv_test successfully
resized
# lvdisplay
— Logical volume —
LV Name /dev/vg_test/lv_test
VG Name vg_test
…….
LV Size 13.00 GB
Untuk amannya, gunakan perintah lvdisplay untuk memastikan apakah ukuran LV telah sesuai dengan harapan. Apakah operasi ini aman selagi LV di-mount? Tidak masalah. Anda bisa mengatur ulang ukuran LV walaupun operasi baca tulis yang intensif sedang berlangsung. Untuk me-resize lv_test, ada dua kemungkinan yang bisa ditempuh:
a. Resize secara online, maksudnya tanpa melakukan unmount. Syaratnya partisi Anda diformat sebagai ext2 atau ext3
b. Resize secara offline. Partisi kita unmount terlebih dahulu, baru di-resize dan kemudian di-mount kembali.
Kita coba cara pertama (a) untuk menunjukkan kemampuan resize online:
# resize2fs -p /dev/vg_test/lv_test
Performing an on-line resize of /dev/vg_
test/lv_test to 3407872 (4k) blocks.
The filesystem on /dev/vg_test/lv_test is
now 3407872 blocks long.
Apabila sukses? Lakukan pemeriksaan dengan perintah berikut ini.
# df -h
Filesystem Size Used Avail Use%
Mounted on
/dev/mapper/vg_test-lv_test
13G 141M 13G 2% /mnt/ data
Ukuran telah berubah sesuai yang kita inginkan. Semuanya terjadi tanpa perlu menghentikan operasi baca tulis! Bagaimana jika yang diinginkan sebaliknya, yaitu memperkecil logical volume? Dalam hal ini, urutan kerjanya terbalik menjadi:
1. Perkecil ukuran sistem file
2. Perkecil ukuran logical volume
Misalnya, ukuran lv_test hendak kita turunkan menjadi 10 GB. Berita buruknya adalah pengecilan secara online tidak didukung program resize2fs, sehingga harus di-unmount terlebih dahulu:
# umount /dev/vg_test/lv_test
Biasanya resize2fs meminta kita melakukan cek sistem file terlebih dahulu:
# e2fsck -f /dev/vg_test/lv_test
# resize2fs -p /dev/vg_test/lv_test 10G
Sampai di sini kita sudah sukses memperkecil lv_test. Mount lagi volume tersebut dan cek ukurannya dengan perintah df:
# mount /dev/vg_test/lv_test /mnt/data
# df -h
Filesystem Size Used Avail Use%
Mounted on
/dev/mapper/vg_test-lv_test
9.9G 140M 9.4G 2% /mnt/data
Sering kali ukuran sistem file tidak 100% sesuai dengan yang kita inginkan. Ini terjadi karena ada pembulatan ukuran sesuai jumlah block (komponen penyusun sistem file). Jadi, ini bukan merupakan kesalahan sistematis.
Untuk menyusutkan ukuran LV, kali ini kita gunakan perintah lvreduce. Satu hal yang harus diingat, jangan menyusutkan ukuran logical volume lebih kecil dari ukuran sistem file! Jika ini terjadi dan kebetulan ada data yang ditempatkan pada area yang melebihi ukuran volume, data tersebut tidak akan bisa diakses.
Oleh karena ukuran sistem file 10 GB, maka logikanya volume juga menjadi 10GB. Untuk amannya, kita beri sedikit “ruang kosong” sebesar 25 MB untuk mengantisipasi pembulatan:
# lvreduce -L $((1024*10+25))M /
dev/vg_test/lv_test
Rounding up size to full physical
extent 10.03 GB
WARNING: Reducing active and open
logical volume to 10.03 GB
THIS MAY DESTROY YOUR DATA
(filesystem etc.)
Do you really want to reduce lv_test? [y/n]:y
Reducing logical volume lv_test to
10.03 GB
Logical volume lv_test successfully
resized
Penulis menggunakan trik shell untuk melakukan perhitungan numerik, perhatikan penggunaan tanda $(()). Untuk sentuhan terakhir, kita sesuaikan lagi logical volume lv_test:
# resize2fs -p /dev/vg_test/lv_test
Thursday, 02 April 2009
Langkah terakhir adalah membentuk logical volume di dalam volume group vg_test dan jalankan vgdisplay:
# vgdisplay
— Volume group —
VG Name vg_test
System ID
Format lvm2
……
VG Size 13.03 GB
PE Size 4.00 MB
Total PE 3336
Alloc PE / Size 0 / 0
Free PE / Size 3336 / 13.03 GB
Berdasarkan output dari perintah vgdisplay, dapat dilihat bahwa ukuran VG (Volume Group) sebesar 13 GB dan semuanya belum terpakai (baris VG Size dan Free PE/Size). Agar tidak boros, kita buat satu LV (Logical Volume) sebesar 5 GB:
# lvcreate -L 5G -n lv_test vg_test
Logical volume “lv_test” created

TIGA PERINTAH UTAMA – Gunakan perintah pvs, vgs, dan lvs agar Anda dapat melihat status volume.
Opsi -L menentukan ukuran LV. Akhiran G berarti kita memakai satuan Gigabyte. Bisa juga memakai akhiran M untuk Megabyte dan K untuk kilobyte. LV juga sebaiknya diberi nama. Untuk itu, gunakan opsi -n. Pemberian nama ini memudahkan kita mengidentifikasi logical volume, karena jika tidak diset, Linux akan memberikan nama acak yang dapat menyulitkan kita mencari logical volume. Parameter terakhir adalah nama VG yang adakan dipakai untuk mebuat LV.
Untuk konfirmasi bahwa LV lv_test telah sukses dibuat, jalankan perintah:
# lvdisplay
— Logical volume —
LV Name /dev/vg_test/lv_test
VG Name vg_test
….
LV Size 5.00 GB
LV sekarang bisa Anda perlakukan sebagaimana partisi biasa. Yang jelas, sebelum ditempati data, Anda harus memformatnya terlebih dahulu. Bagaimana kita menunjuk LV tersebut? Mudah saja. Amati baris LV Name dari output perintah lvdisplay. Dengan demikian, Anda memformatnya seperti ini:
# mkfs.ext3 /dev/vg_test/lv_test
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
…………
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem account
ing information: done
Apabila ingin segera menyimpan data ke LV, Anda bisa mount volume lv_test ke suatu mount point terlebih dahulu. Sampai di sini bisa Anda lihat bahwa perlakuan pada volume tidak ada bedanya dengan partisi biasa:
# mount /dev/vg_test/lv_test /mnt/data/
Membuat mount logical volume ini permanen setiap kali reboot juga mudah. Anda tinggal mengedit /etc/fstab dan menambahkan baris seperti di bawah ini.
/dev/vg_test/lv_test /mnt/data ext3
defaults 0 0
Thursday, 02 April 2009
Angka heksadesimal “8e” adalah kode untuk tipe partisi Linux LVM. Dengan adanya penanda ini, saat reboot, Linux akan mudah mendeteksi adanya physical volume di partisi-partisi tertentu dan mengaktifkannya untuk Anda.
Selanjutnya, kita buat volume group yang beranggotakan dua PV (Physical Volume) ini. Kita namakan vg_test:
# vgcreate vg_test /dev/sda8 /dev/sda9
Volume group “vg_test” successfully
created

PROSES PEMBUATAN – Visualisasi proses pembentukan logical volume yang terbentuk dari gabungan beberapa physical volume.
Thursday, 02 April 2009
Di sini diasumsikan setup LVM tidak dilakukan saat instalasi awal Linux, tetapi saat Linux sudah ter-install. Kita asumsikan juga ada ruang kosong sekitar 20 GB di hard disk Anda.
Langkah pertama adalah membuat dua partisi baru di ruang kosong ini. Jangan habiskan semuanya karena nantinya kita akan memerlukan partisi ketiga untuk mencoba menambah physical volume ke volume group. Dengan program parted, perintahnya seperti berikut:
# parted /dev/sda mkpart logical
$((100*1000)) $((107*1000))
# parted /dev/sda mkpart logical
$((107*1000)) $((114*1000))
Diharapkan struktur partisi kita menjadi seperti ini:
# parted /dev/sda p
Disk /dev/sda: 120GB
Number Start End Size Type File
system Flags
….
8 100GB 107GB 7000MB logical
9 107GB 114GB 7000MB logical
Dua partisi baru yaitu sda8 dan sda9 kini siap dikonversi menjadi physical volume. Perhatikan bahwa proses konversi ini akan menimpa data apapun yang ada di dalam partisi bersangkutan. Jadi berhati-hatilah.
# pvcreate /dev/sda8 /dev/sda9
Tandai dua partisi tersebut dengan identitas Linux LVM. Fdisk bisa melakukan tugas ini. Huruf yang ditebalkan adalah karakter yang Anda ketikkan pada prompt terkait:
# fdisk /dev/sda
Command (m for help): t
Partition number (1-9): 8
Hex code (type L to list codes): 8e
Command (m for help): t
Partition number (1-9): 9
Hex code (type L to list codes): 8e
Command (m for help): p
…
Device Boot Start End Blocks
Id System
…………..
/dev/sda8 12159 13009
6835626
8e Linux LVM
/dev/sda9 13010 13860
6835626
8e Linux LVM
Command (m for help): w
The partition table has been altered!
Syncing disks.

TERDETEKSI SEBAGAI LINUX LVM – Partisi yang dijadikan physical volume ditandai sebagai “Linux LVM” dengan perintah fdisk.
Thursday, 02 April 2009
Sibuk dengan urusan mem-backup data karena ukuran hard disk sudah tidak memadai? Sering direpotkan dengan pengaturan partisi? Ada baiknya Anda mulai mempertimbangkan penggunaan LVM sebagai solusi ampuhnya.

Apa sebenarnya keunggulan LVM (Logical Volume Manager)? Sederhananya, LVM menempatkan data pada area logical, tidak lagi langsung direlasikan dengan satu atau lebih partisi. Susah membayangkannya? Cobalah menyimak analogi sederhana berikut ini. Kita misalkan partisi itu seperti kaveling tanah. Di atas tanah, kita dirikan rumah. Rumah di sini adalah volume tempat data yang disimpan. Pada konsep non-LVM, kita hanya bisa membangun rumah seluas maksimal kaveling tanah kita. Apabila ingin lebih besar dari itu, maka kita harus memperlebar dulu kaveling tanah kita. Satu nama pemilik hanya boleh memiliki maksimal satu kaveling tanah. Kita juga tidak mungkin “membajak” kaveling tanah tetangga karena itu bukan hak milik kita. Pada konsep LVM, kaveling tanah bukan lagi dilihat sebagai patokan utama pendirian bangunan. Suatu kaveling tanah bisa digabung dengan kaveling tanah lain atas nama satu “sertifikat” hak milik. Dengan demikian, rumah kita bisa menempati maksimal seluas gabungan kaveling yang ada. Apabila dirasa kurang, kita bisa membeli lagi kaveling tanah lain dan memasukkannya pada sertifikat. Di atas kaveling gabungan ini, pemilik bisa membangun lebih dari satu rumah.
Berdasar analogi ini, ada istilah-istilah dasar LVM yang perlu dipahami. Kaveling tanah kita sebut sebagai physical volume. Gabungan kaveling tanah dinamai volume group. Sementara itu, rumah yang dibangun di atas gabungan kaveling disebut logical volume. Physical volume sendiri sebenarnya adalah partisi biasa, baik yang bertipe primary maupun logical.
Sebagai gambaran umum, inilah cara men-setup LVM:
1. partisi normal kita konversi menjadi physical volume.
2. Satu atau lebih physical volume kita jadikan volume group
3. di dalam volume group kita ciptakan logical volume sesuai keperluan. Logical volume inilah yang nanti kita format (misalkan sebagai ext2) dan diisi dengan data.
Kita akan coba secara mendetail mempelajari setup LVM. Versi LVM yang dijadikan basis pembahasan di sini adalah LVM 2. Penulis menggunakan distro Fedora 7 yang menyertakan paket RPM lvm2-2.02.24-1. Terlebih dahulu pastikan paket tersebut telah ter-install di PC.