LVM'e Online Yeni Disk Eklemek
16.4.10
Posted by Salih Giray
Makinelerimizdeki mevcut LVM volume'nin kapasitesi yetmediğinde yeni bir disk ekleyerek bu volume'nin kapasitesini arttırabiliriz.
Genişletmek istediğiniz disk alanını LVM ile oluşturmadıysanız aşağıda yazılanlar sizin için değildir.
Ayrıca aşağıda diskimizi online olarak yani sistem çalışırken genişleteceğim. Eğer production'da kullanılan bir server üzerinde çalışıyorsanız bu işlemleri makineyip kapatıp bir "rescue cd" ile açıp yapmak daha mantıklı olacaktır. Yoksa işlemlerin tamamlanması çok uzun sürebilir.
Kullandığınız linux'daki LVM'in sürümü eski ise bölümlerin online genişletilmesini desteklemiyor olabilir. Bu durumda farklı bir dökümandan yararlanmanız sizin için daha iyi olacaktır. Ben burada Centos Linux 5 kullanıyorum.
Aşağıda kullanacağım kısaltmalar ve açılımları şunlar:
LVM: Logical Volume Manager
PV: Physical Volume
VG: Volume Group
Diyelim ki diskimiz aşağıdaki gibi partition'landı ve mount edildi:
# fdisk -l
Disk /dev/sda: 37.5 GB, 37580963840 bytes
255 heads, 63 sectors/track, 4568 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1318 10482412+ 83 Linux
/dev/sda3 1319 1579 2096482+ 82 Linux swap / Solaris
/dev/sda4 1580 4568 24009142+ 5 Extended
/dev/sda5 1580 4568 24009111 8e Linux LVM
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 10154020 948076 8681824 10% /
/dev/mapper/data-opt 23235012 176204 21859500 1% /opt
/dev/sda1 101086 11499 84368 12% /boot
tmpfs 777660 0 777660 0% /dev/shm
/opt olarak mount edilmiş olan lvm volume'mizin kapasitesi işlerimiz için yetmeyeceği için yeni bir disk eklemeye karar verdik.Yeni diskimizi makinemize ekledikten sonra ilk olarak fdisk ile bu diskte bir LVM partition'u oluşturmalıyız. Yeni diskimizin /dev/sdb olarak tanındığını düşünelim.
# fdisk /dev/sdb
Command (m for help): p
Disk /dev/sdb: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1958, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-1958, default 1958):
Using default value 1958<
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): p
Disk /dev/sdb: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 1958 15727603+ 8e Linux LVM
Command (m for help): w
The partition table has been altered!
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks
Partition'u hazırladıktan sonra bunu mevcut PV'ye ekleyeceğiz. Diski eklemeden önceki durumu şu şekilde görebiliriz:# pvdisplay
--- Physical volume ---
PV Name /dev/sda5
VG Name data
PV Size 22.90 GB / not usable 22.40 MB
Allocatable yes (but full)
PE Size (KByte) 32768
Total PE 732
Free PE 0
Allocated PE 732
PV UUID Y2s0d6-yEso-41EY-VKwv-lTVR-ZLnH-A1ekub
Yeni oluşturduğumuz /dev/sdb1 partition'ununda PV oluşturmak için:# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
Daha sonra oluşturduğumuz bu PV'yi mevcut VG'ye ekleyeceğiz. Şu andaki mevcut hali:# vgdisplay
--- Volume group ---
VG Name data
System ID
Format lvm2
Metadata Areas 1
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 1
Act PV 1
VG Size 22.88 GB
PE Size 32.00 MB
Total PE 732
Alloc PE / Size 732 / 22.88 GB
Free PE / Size 0 / 0
VG UUID ZlrSvk-f5Yh-8rtV-RxqQ-UiOc-2sFq-1XIcqM
Kullandığımız VG'nin ismi "VG Name" ile gösterilmektedir. Diski eklerken için bu ismi kullanacağız.Yeni diski "data" VG'sine ekleyip son duruma şöyle bakabiliriz:
# vgextend data /dev/sdb1
Volume group "data" successfully extended
# vgdisplay
--- Volume group ---
VG Name data
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
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 37.84 GB
PE Size 32.00 MB
Total PE 1211
Alloc PE / Size 732 / 22.88 GB
Free PE / Size 479 / 14.97 GB
VG UUID ZlrSvk-f5Yh-8rtV-RxqQ-UiOc-2sFq-1XIcqM
Gördüğünüz gibi diski mevcut VG'ye ekledikten sonra "VG Size" arttı ve "Free PE" ile gösterilen kullanılmayan alan "14.97 GB"ye yükseldi.Şimdi "data" VG'sini genişletip bu boş alanı kullanacağız:
# lvextend -L +15319M /dev/mapper/data-opt
Rounding up size to full physical extent 14.97 GB
Extending logical volume opt to 37.84 GB
Logical volume opt successfully resized
Yukarıdaki komutta yazdığım "15319M" değerini yukarıda baktığımız boş alan olarak görülen 14.97GB'yi 1024 ile çarpıp MB'ye çevirerek buldum. Bunu yapmadan doğrudan "+14.97G" yazarak da kullanabilirsiniz. Fakat hesaplama yaparken yapılan yuvarlamalardan dolayı burada kapasitenin yetmediğine dair hatalara alabilirsiniz. Bu yüzden MB'ye çevirip yazmak daha mantıklı olmaktadır.Şimdi VG'yi kontrol edersek tamamının kullanıldığını görebiliriz:
# vgdisplay
--- Volume group ---
VG Name data
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
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 37.84 GB
PE Size 32.00 MB
Total PE 1211
Alloc PE / Size 1211 / 37.84 GB
Free PE / Size 0 / 0
VG UUID ZlrSvk-f5Yh-8rtV-RxqQ-UiOc-2sFq-1XIcqM
VG'yi genişletsek bile df ile baktığımızda filesystem'in hala eskisi gibi durduğunu görüyoruz. Çünkü şu anda sadece filesystem'in olduğu bölümün boyutunu arttırdık, filesystem'in kendisinin değil.# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 10154020 948076 8681824 10% /
/dev/mapper/data-opt 23235012 176204 21859500 1% /opt
/dev/sda1 101086 11499 84368 12% /boot
tmpfs 777660 0 777660 0% /dev/shm
Bunu yapmak için de şu komutu kullanacağız:# resize2fs /dev/mapper/data-opt
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/mapper/data-opt is mounted on /opt; on-line resizing required
Performing an on-line resize of /dev/mapper/data-opt to 9920512 (4k) blocks.
The filesystem on /dev/mapper/data-opt is now 9920512 blocks long.
Bu komuttan sonra volume'nin boyutu artacaktır ve aşağıdaki şekilde de görebilirsiniz:# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 10154020 948076 8681824 10% /
/dev/mapper/data-opt 38438344 180244 36274192 1% /opt
/dev/sda1 101086 11499 84368 12% /boot
tmpfs 777660 0 777660 0% /dev/shm
21 Mayıs 2011 11:06
yazmış olduğunuz döküman cok işime yaradı. Virtual boxta yarattıgım 20 gblik linux alanı dolunca sizin yazmiş olduğunuz dökümanı kullanarak 20 gblik alana 100 gblik sanal bir disk daha ekledim hiç bir sıkıntı olmadan çalişti. Teşekkür eder başarılarınızın devamını dilerim.