LVM ile basit birkaç işlem yapalım. Örneğin 3 adet 100 GB'lık diskimiz bulunuyor. Normalde RAID kullanmadan bu sistemde 100 GB'dan büyük bir bölümü bilinen NTFS, FAT, Ext3, Ext4 gibi dosya sistemleri ile oluşturmam pek olası değil. Fakat LVM ile bu mümkün. Örneklerimizi GB değil de MB'da çevirerek linux komutları ile test ortamı oluşturalım.
4 adet içerisi hex 0 dolu 100MB boyutunda sanal disk dosyaları oluşturuyoruz.
dd if=/dev/zero of=disk1.img bs=1024 count=102400 dd if=/dev/zero of=disk2.img bs=1024 count=102400 dd if=/dev/zero of=disk3.img bs=1024 count=102400 dd if=/dev/zero of=disk4.img bs=1024 count=102400Daha sonra bu disklerin içerisine LVM tipinde bölümler oluşturuyoruz. Her bir disk dosyası için aşağıdakileri uygulayabiliriz.
fdisk disk1.img n,p,enter,enter,enter,t,8e,wYani kısaca yeni bir bölüm oluşturuyoruz ve bu bölümün tipini Linux LVM yapıyoruz. Daha sonra değişiklikleri kaydedilerek fdisk uygulamasından çıkıyoruz. Akabinde oluşturulan diskleri bir loop blok aygıt dosyasına bağlayabiliriz. Bu bize sabit disk blok dosyaları (/dev/hda, /dev/sda ...) gibi disk dosyalarına erişim yapmamızı sağlayacak. Tüm disk operasyonlarını yapmakla kalmayıp aynı zamanda mount etmemize de olanak sağlayacaktır.
losetup /dev/loop1 disk1.img losetup /dev/loop2 disk2.img losetup /dev/loop3 disk3.img losetup /dev/loop4 disk4.imgOluşturduğumuz disk bölümlerinin de birer blok aygıta bağlanması gerekir. Bunun için kpartx uygulamasını kullanıyoruz.
kpartx -a /dev/loop1 kpartx -a /dev/loop2 kpartx -a /dev/loop3 kpartx -a /dev/loop4Yukarıdaki işlemlerden sonra bölümlere özel blok aygıtlarımız olur. Örneğin /dev/mapper/loop1p1 blok aygıt dosyası doğrudan disk1.img dosyası içinde oluşturduğumuz bölüme bağlanmıştır. Artık LVM'i test edebiliriz. Öncelikle fiziksel hacimlerimizi (disklerimizi) tanımlayalım. LVM terimi olarak Physical Volume şeklinde adlandırılıyor.
pvcreate /dev/mapper/loop1p1 pvcreate /dev/mapper/loop2p1 pvcreate /dev/mapper/loop3p1 pvcreate /dev/mapper/loop4p1Oluşturduğumuz LVM fiziksel hacimlerine pvdisplay komutu ile bakabiliriz. Bu disklerden 3 tanesini bir hacim grubu (volume group) ile gruplayalım.
vgcreate vg_test /dev/mapper/loop1p1 /dev/mapper/loop2p1 /dev/mapper/loop3p1Değişiklikleri pvdisplay ve vgdisplay ile izleyebiliriz. vgdisplay çıktısındaki PE ifadesi resimdeki minik fiziksel bölütlerin boyutunu göstermektedir. Şimdi istediğimiz miktarda mantıksal bölüm oluşturabiliriz.
lvcreate -L 180M -n lv_test1 vg_testYukarıdaki komut ile 180 MB boyutunda bir mantıksal alan oluşturduk. Geri kalan tüm alan içinde mantıksal bir bölüm oluşturabiliriz.
lvcreate -l 100%FREE -n lv_test2 vg_testSonucu görüntülemek için lvdisplay komutu kullanılabilir. Şimdi 180 ve yaklaşık 120 MB boyutlarında iki disk bölümümüz oldu. Hiç kullanmadığımız 4. diskimizi de oyuna katıp mevcutta oluşturduğumuz bölümleri silmeden boyutlarını değiştirelim. Öncelikle fiziksel hacim tanıtılarak hacim grubuna (volume group) ekleniyor.
vgextend vg_test /dev/mapper/loop4p1Varolan mantıksal bölümlerden ikincisini yeni eklediğimiz fiziksel hacim sayesinde 50 MB kadar genişletelim.
lvextend -L 50M /dev/vg_test/lv_test2 /dev/mapper/loop4p1İkinci diski doğrudan silmeden genişlettik. Birinci disk için daha çok karşılaştığımız diğer bir durumu deneyelim. Format atılmış ve üzerinde veriler olan bir bölüm senaryosunu test edelim. Bunun için birinci bölümü ext4 dosya sistemi şeklinde biçimlendirelim.
mkfs.ext4 /dev/vg_test/lv_test1Şimdi ext4 dosya sistemine sahip bölümü büyütelim.
lvextend /dev/vg_test/lv_test1 /dev/mapper/loop4p1Formatlı bir bölümü büyüttüğümüzden dolayı üzerindeki dosya sistemini de aynı ölçüde boyutlandırmak gerekir.
resize2fs /dev/vg_test/lv_test1kabaca LVM kullanımı bu şekilde. Yukarıda yaptıklarımız haricinde mantıksal bölümü küçültme ve anlık görüntüsünü alma (snapshot) gibi LVM yetenekleri ile disk yönetimi oldukça kolay bir hale gelmiş oluyor. Kişisel tavsiyem kurulan yeni sistemlerin hatta sanal makinelerin hepsinde LVM kullanmalıyız. Zaten yeni birçok dağıtımda LVM ayarı varsayılan olarak seçili geliyor. Btrfs dosya sistemine geçmeden önce kullanmamız gereken yegane araç gibi görünüyor.