Pengertian LVM
Logical Volume Management (LVM) adalah sebuah metode yang digunakan untuk mengalokasikan space pada perangkat penyimpanan yang lebih fleksibel dari pada skema partisi konvensional.
Dengan adanya LVM maka management partisi akan bisa 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.
Selain itu, LVM dapat memberikan Anda fitur yang sistem file tradisional tidak mampu melakukan. Sebagai contoh, ext3 tidak memiliki dukungan untuk live snapshot, tetapi jika Anda menggunakan LVM Anda memiliki kemampuan untuk mengambil snapshot dari logical volume Anda tanpa perlu unmount disk.
Jadi intinya LVM adalah alat untuk manajemen volume logis yang meliputi mengalokasikan disk, striping, mirroring dan ukuran volume logis.
Dengan LVM, hard drive atau set hard drive dialokasikan untuk satu atau lebih volume fisik. LVM volume fisik dapat ditempatkan pada perangkat blok lainnya yang mungkin rentang dua atau lebih disk.
Volume fisik digabungkan menjadi volume logis, dengan pengecualian dari boot / partisi. Partisi / boot / tidak dapat di kelompokan oleh volume logis karena boot loader tidak bisa membacanya. Jika root (/) partisi pada volume logis, membuat / boot terpisah / partisi yang bukan merupakan bagian dari kelompok volume.
Karena volume fisik tidak dapat span selama beberapa drive, untuk span lebih dari satu drive, membuat satu atau lebih volume fisik per drive.
Kelompok-kelompok volume dapat dibagi menjadi volume logis, yang ditugaskan titik mount, seperti / home dan / dan jenis sistem file, seperti ext2 atau ext3. Ketika "partisi" mencapai kapasitas penuh mereka, ruang bebas dari kelompok volume dapat ditambahkan ke volume logis untuk meningkatkan ukuran partisi. Ketika sebuah hard drive baru ditambahkan ke sistem, maka dapat ditambahkan ke grup volume, dan partisi yang volume logis dapat meningkat dalam ukuran.
Ada 3 konsep yang LVM kelola :
- Grup Volume
- Volume fisik
- Volume logis
Sebuah Volume Group koleksi bernama volume fisik dan logis . Sistem khas hanya perlu satu Volume Grup untuk menampung semua dari volume fisik dan logis pada sistem, dan saya ingin nama saya setelah nama mesin . Volume fisik sesuai dengan disk , mereka adalah blok perangkat yang menyediakan ruang untuk menyimpan volume logis. Volume logis sesuai dengan partisi mereka memegang filesystem . Meskipun tidak seperti partisi, volume logis mendapatkan nama dari angka, mereka dapat span di beberapa disk , dan tidak harus berdekatan secara fisik.
Keuntungan dan kerugian LVM
KEUNTUNGAN
- Mudah untuk merubah ukuran partisi (memperbesar atau mengurangi)
- Mampu menggabungkan partisi lain menjadi satu untuk memperoleh space yang lebih besar
- Mudah dalam hal management partisi hard disk
KERUGIAN
- Dapat membuat proses booting lebih rumit dan membuat perbaikan dari bencana sulit dilakukan.
- LV dapat menderita karena fragmentasi eksternal ketika PE tidak dialokasikan secara berdampingan pada storage dibawahnya yang dapat membuat kinerja I/O menurun.
Cara Kerja LVM
LVM membuat header metadata pada awal setiap PV, yang masing-masing secara unik diidentifikasi oleh UUID (Universal Unique Identifier). Setiap Header PV adalah salinan lengkap dari seluruh Layout VG , termasuk UUID dari semua PV lain, UUID dari semua LVs dan peta alokasi PE ke LE. Metode ini menyederhanakan pemulihan data jika terjadi hilangnya salah satu atau lebih PV.
Dalam Kernel Linux seri 2.6, LVM diimplementasikan dalam hal pemetaan perangkat (Device Mapper), sebuah skema block-level sederhana untuk menciptakan perangkat block-device virtual dan pemetaan isi perangkat block-device ke perangkat blok lainnya.
Cara ini meminimalkan jumlah kode kernel yang relatif sulit untuk di-debug yang diperlukan untuk mengimplementasikan LVM. Hal ini juga memungkinkan I/O untuk mengarahkanservice yang kemudian untuk dibagikan dengan manajer volume lainnya (seperti EVMS). Setiap kode LVM secara spesifik didorong menjadi media penyimpanan, yang hanya memanipulasi pemetaan dan merekonstruksi kondisi metadata mereka dari setiap pemanggilan.
Dasar dari LVM adalah:
- Physical volume (PV): Partisi pada hard disk (atau bahkan hard disk itu sendiri atau berkas loopback) di mana Anda dapat memiliki kelompok volume. Ini memiliki header khusus dan dibagi menjadi luasan fisik. Pikirkan volume fisik sebagai blok bangunan besar yang dapat digunakan untuk membangun hard drive Anda.
- Kelompok Volume (VG): Kelompok volume fisik yang digunakan sebagai volume penyimpanan (sebagai salah satu disk). Mereka berisi volume logis. Pikirkan kelompok volume sebagai hard drive.
- Volume logis (LV): Sebuah "virtual / logical partition" yang berada dalam kelompok volume dan terdiri dari luasan fisik. Pikirkan volume logis sebagai partisi normal.
- Batas fisik (PE): Sebuah bagian kecil dari disk (biasanya 4MB) yang dapat ditugaskan untuk Volume logis. Pikirkan luasan fisik sebagai bagian dari disk yang dapat dialokasikan untuk setiap partisi.
contoh :
Physical disks Disk1 (/dev/sda): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |Partition1 50GB (Physical volume) |Partition2 80GB (Physical volume) | |/dev/sda1 |/dev/sda2 | |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | Disk2 (/dev/sdb): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |Partition1 120GB (Physical volume) | |/dev/sdb1 | | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _|
LVM logical volumes Volume Group1 (/dev/MyStorage/ = /dev/sda1 + /dev/sda2 + /dev/sdb1): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |Logical volume1 15GB |Logical volume2 35GB |Logical volume3 200GB | |/dev/MyStorage/rootvol|/dev/MyStorage/homevol |/dev/MyStorage/mediavol | |_ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
Berikut ini adalah langkah-langkah konfigurasinya:
1. 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.
2. 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
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.
4. Umount /home dan /data umount /home
umount /data
5. 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
6. 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
7. Kita mulai membuat LVMnya:
7a. Buat PVnya:
pvcreate /dev/hda6 /dev/hda7
Physical volume “/dev/hda6″ successfully created
Physical volume “/dev/hda7″ successfully created
7a2. 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
7b. Buat VGnya:
vgcreate vghome /dev/hda6 /dev/hda7
Volume Group “vghome” successfully created
7b2. 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
7c. 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.
7c2. 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
8. 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
9. 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
10. Kita pastikan bahwa LVM yang kita buat tersebut dapat berjalan dengan baik dengan cara memboot Linux kita.
11. 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=utf
/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
12. Selesai.... Kini kita telah berhasil menggabungkan 2 buah partisi menjadi 1 buah ‘partisi’ yang lebih besar menggunakan LVM.
Tidak ada komentar:
Posting Komentar