Jumat, 09 Juli 2010

Logical Volume Manager (LVM) dan contoh real penggunaannya

Artikel ini ditulis berdasarkan pengalaman penulis karena kehabisan space di partisi /home. Dengan menggunakan LVM (Logical Volume Manager) maka kita dapat menggabungkan partisi lainnya ke dalam partisi /home untuk memperbesarnya. Sebelumnya, mari kita bahas dulu mengenai LVM. LVM adalah singkatan dari Logical Volume Manager. Dengan LVM ini pengaturan space dan partisi dalam harddisk menjadi lebih dari sekedar pengertian tradisional device dan partisi yang biasa kita ketahui selama ini. Secara tradisional, kita mengenal harddisk dari device namenya yaitu /dev/hda, /dev/hdb dstnya utk harddisk IDE dan /dev/sda, /dev/sdb dstnya untuk SCSI, dan partisi2nya seperti /dev/hda1, /dev/hda2, /dev/sda1, /dev/sda2 dstnya.
Tentu ada yang bertanya memangnya apa salahnya dengan pembagian partisi secara tradisional ini? Well, pernah bertanya2 bagaimana schema partisi yang sebaiknya kita pakai di Linux? Tidak jarang pertanyaan ini dijawab dengan kata2 "Pembagian partisi Linux lebih merupakan seni dan pengalaman daripada ilmu pasti". Mengapa begitu? Sebab kalau kita sampai salah mempartisi, dan kemudian ternyata partisi tersebut habis spacenya, maka akan cukup sulit dan memakan waktu untuk membetulkannya.

Tidak demikian bila kita menggunakan LVM. Dengan LVM, harddisk dibagi2 menjadi beberapa level Volume, yaitu Physical Volume, Volume Group, dan Logical Volume. Terlihat rumit? Jangan khawatir, LVM tidak sesulit yang dibayangkan.

Physical Volume (PV) adalah seperti arti harafiahnya yaitu partisi yang seperti kita kenal yaitu seperti /dev/hda1, /dev/hda2.
Volume Group (VG) adalah satu atau gabungan dari beberapa buah Physical Volume.
Logical Volume (LV) adalah volume2 yang kita buat di dalam Volume Group. LV ini nantinya bisa kita mount sesuai keinginan.

Sekarang bagaimana penerapannya?
Penulis baru2 ini menghadapi kendala dimana partisi /dev/hda6 yang di mount ke /home telah semakin sedikit free spacenya. Berikut ini adalah kondisi partisi berikut mount point harddisk saya sebelum LVM:

Filesystem Size Used Avail Use% Mounted on
/dev/hda5 6.4G 5.4G 617M 90% /
/dev/hda6 12G 10G 2G 83% /home
/dev/hda7 7G 3.1G 3.9G 44% /data
udev 252M 156K 252M 1% /dev
/dev/hda1 9.9G 7.8G 2.1G 79% /winc
/dev/hda2 2.0G 1.6G 397M 81% /wind

Penulis ingin menggabungkan partisi /dev/hda6 dan /dev/hda7 untuk mount point /home. Bagaimana caranya? Dengan menggunakan LVM tentunya.

Berikut ini adalah langkah2nya:

  • Backup dahulu data2 yang ada di partisi /dev/hda6 (/home) dan /dev/hda7 (data). Sebab kita harus mengubah jenis partisinya menggunakan fdisk sehingga data2 yang ada di kedua partisi tersebut akan hilang. Dalam hal ini penulis membackupnya ke sebuah external usb harddisk.

  • Setelah kita memastikan bahwa data2 telah di backup. Kita akan mulai mengubah jenis partisinya dari ext3 ke LVM (8e). Tapi sebelumnya kita pindah dahulu ke run level 3.
    init 3

  • Di run level ini kita login sebagai root. Mengapa tidak login sebagai user biasa? Sebab /home akan kita matikan. Kalau kita login sebagai user biasa maka kita tidak dapat meng-umount /home.

  • Umount /home dan /data
    umount /home
    umount /data

  • Kita mulai mengubah partisi. Perhatian. Pastikan benar2 bahwa kita tidak salah memilih partisi yang akan kita ubah. Dan juga pastikan bahwa kita telah membackupnya.
    fdisk /dev/hda

    The number of cylinders for this disk is set to 4864.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of LILO)
    2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)

    Command (m for help):

    t

    Partition number (1-8): 6
    Hex code (type L to list codes): 8e
    Changed system type of partition 6 to 8e (LVM)

    Ubah lagi untuk hda7

    t

    Partition number (1-8): 7
    Hex code (type L to list codes): 8e
    Changed system type of partition 7 to 8e (LVM)

    Setelah itu kita save:
    w

    The partition table has been altered!
    Calling ioctl() to re-read partition table.
    Syncing disks.

  • Kita akan kembali ke prompt. Kernel menyimpan informasi partisi di memory, yang dibaca pada saat booting. Bila kita tidak ingin melakukan booting ulang, maka kita bisa menggunakan command ini untuk memaksa kernel membaca kembali table partisi:
    partprobe

  • Kita cek apakah sudah benar partisinya:
    fdisk -l /dev/hda

    Disk /dev/hda: 40.0 GB, 40007761920 bytes
    255 heads, 63 sectors/track, 4864 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System
    /dev/hda1 * 1 1281 10289601 7 HPFS/NTFS
    /dev/hda2 1282 1536 2048287+ b W95 FAT32
    /dev/hda3 1537 4864 26732160 5 Extended
    /dev/hda5 1537 2374 6731203+ 83 Linux
    /dev/hda6 2414 3942 12281661 8e Linux LVM <--- sudah berubah
    /dev/hda7 3943 4864 7405933+ 8e Linux LVM <--- sudah berubah
    /dev/hda8 2375 2413 313236 82 Linux swap / Solaris

  • Kita mulai membuat LVMnya:
    Buat PVnya:
    pvcreate /dev/hda6 /dev/hda7

    Physical volume "/dev/hda6" successfully created
    Physical volume "/dev/hda7" successfully created

    Kita dapat melihat statusnya:
    pvdisplay

    --- Physical volume ---
    PV Name /dev/hda6
    VG Name vghome
    PV Size 11.71 GB / not usable 0
    Allocatable yes (but full)
    PE Size (KByte) 4096
    Total PE 2998
    Free PE 0
    Allocated PE 2998
    PV UUID f9IDtR-6Xmo-Hnvu-Ou4T-77rW-nhM9-chIdqG

    --- Physical volume ---
    PV Name /dev/hda7
    VG Name vghome
    PV Size 7.06 GB / not usable 0
    Allocatable yes (but full)
    PE Size (KByte) 4096
    Total PE 1807
    Free PE 0
    Allocated PE 1807
    PV UUID 2oN8gs-B77y-Ks1I-LDnc-KBYX-faEN-tAbYhF

    Buat VGnya:
    vgcreate vghome /dev/hda6 /dev/hda7

    Volume Group "vghome" successfully created

    Kita dapat melihat statusnya:
    vgdisplay

    --- Volume group ---
    VG Name vghome
    System ID
    Format lvm2
    Metadata Areas 2
    Metadata Sequence No 2
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 1
    Open LV 1
    Max PV 0
    Cur PV 2
    Act PV 2
    VG Size 18.77 GB
    PE Size 4.00 MB
    Total PE 4805
    Alloc PE / Size 4805 / 18.77 GB
    Free PE / Size 0 / 0
    VG UUID SB7NBc-aqXR-k32e-2K7T-tji8-Y0Nt-6UiLZ4

    Buat LVnya:
    lvcreate -l 4805 -n lvhome vghome

    Logical Volume "lvhome" successfully created

    Dari mana kita tahu angka 4805 ini? Ia adalah banyaknya PE (Physical Extend) yang ada di dalam suatu VG. Dalam hal ini penulis memutuskan untuk memakai seluruh PE yang ada untuk LV lvhome.

    Kita dapat melihat statusnya:
    lvdisplay

    --- Logical volume ---
    LV Name /dev/vghome/lvhome
    VG Name vghome
    LV UUID Fe4kLr-Xn7R-ewnt-5TZj-4iWl-WIPF-S4qOFo
    LV Write Access read/write
    LV Status available
    # open 1
    LV Size 18.77 GB
    Current LE 4805
    Segments 2
    Allocation inherit
    Read ahead sectors 0
    Block device 253:0

  • Setelah membuat LVnya, kini kita dapat memformatnya. Penulis menggunakan ext3.
    mke2fs -j /dev/vghome/lvhome

    mke2fs 1.38 (30-Jun-2005)
    Filesystem label=
    OS type=Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    246432 inodes, 4920320 blocks
    246016 blocks (5%) reserved for the super user
    First data block=0
    151 block groups
    32768 blocks per group, 32768 fragments per group
    16320 inodes per group

    writing inode tables: done
    Creating journal (32768 blocks): done

  • Kemudian jangan lupa kita update file /etc/fstab. Hapus baris /dev/hda6 dan /dev/hda7. Kemudian ganti dengan:
    /dev/vghome/lvhome /home ext3 defaults 1 2

  • Kita pastikan bahwa LVM yang kita buat tersebut dapat berjalan dengan baik dengan cara memboot Linux kita.

  • Setelah boot, coba kita lihat apakah /home telah termount dengan baik, dan juga kita cek free spacenya.
    mount

    /dev/hda5 on / type ext3 (rw,acl,user_xattr)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    debugfs on /sys/kernel/debug type debugfs (rw)
    udev on /dev type tmpfs (rw)
    devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
    /dev/mapper/vghome-lvhome on /home type ext3 (rw) <--- telah termount dengan baik /dev/hda1 on /winc type ntfs (ro,noexec,nosuid,nodev,gid=100,umask=0002,nls=utf8) /dev/hda2 on /wind type vfat (rw,noexec,nosuid,nodev,gid=100,umask=0002,utf8=true) Juga cek free spacenya: df -h

    Filesystem Size Used Avail Use% Mounted on
    /dev/hda5 6.4G 5.4G 618M 90% /
    udev 252M 164K 252M 1% /dev
    /dev/mapper/vghome-lvhome
    19G 12G 5.8G 68% /home <-- telah menjadi 19GB dan setelah kita copy balik data2 ke /home /dev/hda1 9.9G 7.8G 2.1G 79% /winc /dev/hda2 2.0G 1.6G 397M 81% /wind

  • Bandingkan dengan sebelum LVM:

    Filesystem Size Used Avail Use% Mounted on
    /dev/hda5 6.4G 5.4G 617M 90% /
    /dev/hda6 12G 10G 2G 83% /home
    /dev/hda7 7G 3.1G 3.9G 44% /data
    udev 252M 156K 252M 1% /dev
    /dev/hda1 9.9G 7.8G 2.1G 79% /winc
    /dev/hda2 2.0G 1.6G 397M 81% /wind

  • Selesai deeehhh... Kini kita telah berhasil menggabungkan 2 buah partisi menjadi 1 buah 'partisi' yang lebih besar menggunakan LVM.
Kesimpulan
Dengan adanya LVM maka management partisi menjadi lebih fleksible. Kapanpun kita membutuhkan space tambahan di salah satu partisi, kita akan dapat selalu memperbesarnya bila kita menggunakan LVM. Ada beberapa variasi yang dapat kita lakukan, seperti dengan sengaja tidak mengalokasikan beberapa persen dari space harddisk kita agar nanti dapat kita pakai bila ada salah satu partisi membutuhkannya, dll. Dengan adanya LVM kita tidak perlu khawatir lagi di dalam bagaimana mempartisi Linux kita.

LVM adalah produk yang telah cukup matang. Hal ini dapat kita lihat dimana beberapa distro besar telah menjadikannya default dalam installasinya. Jadi bila kamu akan menginstall Linux, bila memungkinkan gunakanlah LVM.

Merdeka!
Ilmu Pengetahuan adalah Milik Umat.

Sumber : Linux@arinet.org

Bookmark and Share

0 Komentar:

Posting Komentar

Diberdayakan oleh Blogger.
 

Comment


ShoutMix chat widget

Cari Blog Ini

Google Search

Top Friends


GILA LINUX | Template Ireng Manis © 2010 Free Blogger Template Ajah for DheTemplate.com - New Free Blogger Template Everyday