LVM, modüler disk veri kümesi veya kümeleri oluşturulmasını, böylelikle de istenildiğinde mevcut disk alanı üzerinde istenilen boyutlandırmanın yeniden yapabilmesini sağlar. Disk alanının yetersiz kaldığı durumlarda LVM ile oluşturulan disk veri kümesine kolaylıkla yeni disk veya disk bölümleri ilave edebilir, ihtiyaca göre disk alanı şekillendirilebilir. Özellikle büyük disk alanı ihtiyacı olan sistemlerde LVM ile disk veri kümeleri oluşturularak ya da sisteme yeni bir disk daha eklenerek toplam disk boyutu arttırılabilir veya sistemde pasif durumda olan bir disk bölümü aktif disk kümesine dahil edilebilir. Aynı zamanda mevcut disk bölümlerinin boyutları değiştirilebilir. Yapılacak fiziksel veri alanı değişikliklerinden sistemin mevcut haritası hiçbir şekilde etkilenmez ve yeni tanımlar yapmaya gerek kalmaz. Bir örnek ile ifade edilirse; sistemde /home için ayrılmış 100 GB’lık ve /var için ayrılmış 2GB’lık alanlar olsun. Zamanla /var için ayrılan disk alanın yetersiz gelmeye başladığı düşünülsün. Bu durumda /home alanında kullanılmayan yeterli boş alan varsa bu alan /var bölümüne aktarılabilir ve mevcut alan kolayca yeniden boyutlandırılabilir. Aynı şekilde /home için ayrılan alan yetmemeye başladığı zaman da sisteme eklenecek yeni bir disk ile bu bölüm için kullanılabilir veri alanı arttırabilir. Yedekleme (Mirror) yapılan sistemlerde kullanılan disk veri alanları genelde birden fazla diskin LVM veya aynı işi yapan başka yapılarla birleştirilerek veri kümesi oluşturulması ile sağlanır.LVM, hacim grubu (vp) ve bu grubun içinde fiziksel hacim (pv) ve mantıksal hacimlerden (lv) oluşur.
Volume Group (VG): Hacim grubu, fiziksel ve mantıksal hacimleri içine alan üst düzey bir katmandır.
Physical Volume (PV): Fiziksel hacim adından da anlaşılacağı üzere fiziksel aygıtlardan (disklerden) veya disk bölümlerinden oluşan kısımdır.
Logical Volume (LV): Disk bölümlerinin karşılığıdır. Dosya sistemi içerir.
LVM’nin Limitleri:
LVM bir takım limitler içerir. Ancak bu limitler günümüzde bile kolay aşılabilecek ve problem oluşturabilecek limitler değildirler. Ayrıca bu limitler çekirdeğin sınırlarına, fiziksel ve mantıksal birim boyutlarına göre de sistemden sisteme farklılık gösterebilir.
Makine başına oluşturulabilecek maksimum hacim grubu (VG) sayısı 99 ‘dur.
Her hacim grubu içinde olabilecek maksimum fizisel hacim sayısı 256 dır. Tek bir LVM boyutu varsayılan 4 MB fiziksel birim değeri ile maksimum 255.99 GB olabilir. Bu değer kullanılan sistemin özelliğine göre 2 TB hatta istenildiğinde 1 Petabyte ‘a kadar çıkabilir.
Her fiziksel hacim grubu yine varsayılan 4 MB’lık fiziksel birim değeri ile maksimum 262 GB olabilir. Yani her fiziksel hacim grubu maksimum 65534 tane fiziksel birim içerebilir bu da varsayılan 4 MB’lık değer ile 65534*4 = 262 GB ‘a denk gelir.
Volume Group (VG): Hacim grubu, fiziksel ve mantıksal hacimleri içine alan üst düzey bir katmandır.
Physical Volume (PV): Fiziksel hacim adından da anlaşılacağı üzere fiziksel aygıtlardan (disklerden) veya disk bölümlerinden oluşan kısımdır.
Logical Volume (LV): Disk bölümlerinin karşılığıdır. Dosya sistemi içerir.
LVM’nin Limitleri:
LVM bir takım limitler içerir. Ancak bu limitler günümüzde bile kolay aşılabilecek ve problem oluşturabilecek limitler değildirler. Ayrıca bu limitler çekirdeğin sınırlarına, fiziksel ve mantıksal birim boyutlarına göre de sistemden sisteme farklılık gösterebilir.
Makine başına oluşturulabilecek maksimum hacim grubu (VG) sayısı 99 ‘dur.
Her hacim grubu içinde olabilecek maksimum fizisel hacim sayısı 256 dır. Tek bir LVM boyutu varsayılan 4 MB fiziksel birim değeri ile maksimum 255.99 GB olabilir. Bu değer kullanılan sistemin özelliğine göre 2 TB hatta istenildiğinde 1 Petabyte ‘a kadar çıkabilir.
Her fiziksel hacim grubu yine varsayılan 4 MB’lık fiziksel birim değeri ile maksimum 262 GB olabilir. Yani her fiziksel hacim grubu maksimum 65534 tane fiziksel birim içerebilir bu da varsayılan 4 MB’lık değer ile 65534*4 = 262 GB ‘a denk gelir.
1. “LVM” de kullanılan komutlar ve görevleri aşağıdaki gibidir.
Kaynak: http://www.koraykey.com/?cat=8
-- LVM'de Kullanılan Komutlar ve Görevleri -- "pvcreate" sisteme diski veya bölümü fiziksel olarak tanıtır. Genellikle fdisk'ten sonra kullanılır. # pvcreate /dev/sdb1 -- "pvdisplay" fiziksel tanımlı diskleri ve bölümleri ekrana listeler. # pvdisplay -- "pvremove" fiziksel tanımlı diskin veya bölümün tanımını iptal eder. # pvremove /dev/sdb1 -- "vgcreate" hacim grubu oluşturur. # vgcreate vg0 /dev/sdb1 /dev/sdb2 -- "vgextend" hacim grubuna disk veya bölüm ekler. # vgextend vg0 /dev/sdc -- "vgreduce" hacim grubundan disk veya bölüm çıkartır. # vgreduce vg0 /dev/sdc -- "vgremove" hacim grubununu kaldırır. # vgreduce vg0 -- "vgdisplay" hacim grubunu listeler. # vgdisplay vg0 -- "vgcfgbackup" mevcut hacim grubunun ayarlarını bir dosyaya yedekler. # vgcfgbackup vg0 (Ayarlar /etc/lvm/backup dizini altına yedeklenir.) -- vgcfgrestore mevcut hacim grubunun ayarlarını dosyadan düzenler. # vgcfgrestore vg0 -- "lvcreate" tanımlı mantıksal gruptan disk alanı oluşturur. Örnek : /dev/vg0/lv_name isimli 40Gblık mantıksal sürücü oluşturmak için # lvcreate -n lv_name -L40GB vg0 -- "lvdisplay" mantıksal sürücüleri ekrana listeler. # lvdisplay -- "lvremove" mantıksal sürücüleri kaldırır. # lvremove /dev/vg0/lv_name -- "lvreduce" tanımlı mantıksal sürücülerden blok siler. # lvreduce -L-10GB /dev/vg0/lv_name (10GBlik alanı iptal eder.) -- "lvextend" tanımlanmış mantıksal sürücüye blok ekler. # lvextend -L+10GB /dev/vg0/lv_name (10GBlik alan ekler.) -- "lvmdiskscan" Sistemdeki tüm diskleri listeler. # lvmdiskscan2. Örnek olarak LVM kullanarak disk yapılandırmamızı inceleyelim. Sistemimize atanmış olan bir diski LVM kullanarak önce “Volume Group”, “Pyhcisal Volume” ve “Logical Volume” olmak üzere yapılandıralım.
-- Kullanacağımız diskimizde "partition table" oluşturuyoruz. komut sonrası aşağıdaki girişleri yapıyoruz. -- (n, p, 1, enter, enter, w) # fdisk /dev/sdb Command (m for help): n primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-652, default 1): Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): Command (m for help): w The partition table has been altered! -- Öncelikle disklerimizi listeliyoruz. # ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 Burada gördüğümüz "sda" disklerimiz önceden kullandığımız işletim sistemi ile gelen disklerimizdir. "sdb" ise sistemimize yeni takılmış diskimizdir. Bu diski yapılandırıp kullanabilir hale getireceğiz. -- Öncelikle "Pyhsical Volume" oluşturuyoruz. # pvcreate /dev/sdb Physical volume "/dev/sdb1" successfully created -- Diskimizi bağlayacağımız bir Volume Group oluşturuyoruz. # vgcreate vg_krykey /dev/sdb1 Volume group "vg_krykey" successfully created -- "vg_krykey" volume grup içinde bir tane data1 isimli disk oluşturuyoruz. # lvcreate -n lv_data1 -L1GB vg_krykey Logical volume "lv_data1" created -- Oluşturduğumuz "Volume Group" ları listelemek için aşağıdaki komutu kullanıyoruz. # vgdisplay --- Volume group --- VG Name vg_krykey System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 6 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 5.00 GiB PE Size 4.00 MiB Total PE 1279 Alloc PE / Size 256 / 1.00 GiB Free PE / Size 1023 / 4.00 GiB VG UUID sE5T92-3CCj-2cZO-BWyc-1noM-VkhK-B4Jhnw -- "Volume Group" altındaki disklerimizi göremek için aşağıdaki komutu kullanabiliriz. # pvscan PV /dev/sdb VG vg_krykey lvm2 [5.00 GiB / 4.00 GiB free] -- Oluşturduğumuz diskleri aşağıdaki komutla listeleyebiliriz. # lvscan ACTIVE '/dev/vg_krykey/lv_data1' [1.00 GiB] inherit -- Diskimizi "ext4" file system ile formatlıyoruz. # mkfs.ext4 /dev/vg_krykey/lv_data1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 33 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. -- Formatlamış olduğumuz diskimizi bağlayacak bir dizin yaratıyoruz. # mkdir /data1 -- Diskimizi oluşturduğumuz dizine "mount" ediyoruz. # mount /dev/mapper/vg_krykey-lv_data1 /data1 -- Sistemimiz açıldığında otomatik mount etmesi için "fstab" dosyasına aşağıdaki girdileri yapmalıyız. /dev/mapper/vg_krykey-lv_data1 /data1 ext4 defaults 0 03. Sistemimizde bulunan “Logical Volume”, “Volume Group” ve “Pyhciscal Volume”leri silmek için aşağıdaki adımları izlemeliyiz.
-- Disklerimizi ve "Volume Group" ları kaldırmak için aşağıdaki sırasıyla aşağıdaki adımları izlemeliyiz. -- Öncelikle kaldıracağımız diskimizi "umount" ediyoruz. # umount /data1 -- Logical Volume kaldırmak için (Sadece bir disk kaldıracaksak bu adımı uygulamalıyız.) # lvremove /dev/vg_krykey/lv_data1 Do you really want to remove active logical volume lv_data1? [y/n]: y Logical volume "lv_data1" successfully removed -- Volume Group kaldırmak için (Tüm volume group ve bağlı diskleri kaldıracaksak aşağıdaki adımı uygulamalıyız. # vgremove vg_krykey -- Pyhsical Volume kaldırmak için (Sistemimizdeki diski LVM kullanımı dışına çıkartacaksak bu adımı uygulamalıyız.) # pvremove /dev/sdb Labels on physical volume "/dev/sdb1" successfully wiped -- Kaldırma işlemi tamamlandı. Aşağıdaki komut ile durumu sorgulayabiliriz. # vgdisplay4. Sistemimizde bulunan bir diskle veya yeni takılan bir diskle mevcut alanlarımızı genişletmek için aşağıdaki adımları izlemeliyiz.
-- Öncelikle ekleyeceğimiz diskimizi sorguluyoruz. # ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb -- Burada "sdb" isimli diskimiz mevcut "Volume Group" ekleyeceğimiz disktir. -- "Volume Group" sorguluyoruz. # vgdisplay --- Volume group --- VG Name vg_koraykey System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 99.51 GiB PE Size 4.00 MiB Total PE 25474 Alloc PE / Size 25474 / 99.51 GiB Free PE / Size 0 / 0 VG UUID iBHPHX-4MC0-bvWQ-3sOV-0Rb4-lYcS-3Uac3B -- "vg_koraykey" volume grubumuza yeni takdığımız diskimizi ekleyeceğiz. -- Öncelikle diskimizde "fdisk" komutu ile "partition table" yaratıyoruz. -- (n, p, 1, enter, enter, w) # fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x1c26daf1. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-652, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): Using default value 652 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. -- Disklerimizi yeniden sorguluyoruz. # ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 -- "sdb1" isimli oluşan diskimizi mevcut "vg_koraykey" volume grubumuza ekliyoruz. # vgextend vg_koraykey /dev/sdb1 No physical volume label read from /dev/sdb1 Physical volume "/dev/sdb1" successfully created Volume group "vg_koraykey" successfully extended -- "Volume Group" sorguluyoruz ve "Free" alanımızın 0 dan 4.99 GB çıktığını görüyoruz. # vgdisplay --- Volume group --- VG Name vg_koraykey System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 2 Act PV 2 VG Size 104.50 GiB PE Size 4.00 MiB Total PE 26752 Alloc PE / Size 25474 / 99.51 GiB Free PE / Size 1278 / 4.99 GiB VG UUID iBHPHX-4MC0-bvWQ-3sOV-0Rb4-lYcS-3Uac3B -- Şimdi atadığımız bu diskimizdeki 4.99 GB alanı "lv_root" isimli diskimize ekleyelim. # lvextend -L+4.99GB /dev/vg_koraykey/lv_root Rounding size to boundary between physical extents: 4.99 GiB Extending logical volume lv_root to 100.50 GiB Logical volume lv_root successfully resized -- "Volume Group" sorguluyoruz ve 99.51 GB alanımızın 104.50 GB çıktığını görüyoruz. # vgdisplay --- Volume group --- VG Name vg_koraykey System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 2 Act PV 2 VG Size 104.50 GiB PE Size 4.00 MiB Total PE 26752 Alloc PE / Size 26752 / 104.50 GiB Free PE / Size 0 / 0 VG UUID iBHPHX-4MC0-bvWQ-3sOV-0Rb4-lYcS-3Uac3B5. Sistemimizde bulunan bir diski küçültüp boşa çıkan alanı başka bir diske veya boşa çıkan alanla yeni bir “Logical Volume” oluşturmak istiyorsak aşağıdaki adımları izlemeliyiz.
-- Öncelikle Volume Group sorguluyoruz. # vgdisplay --- Volume group --- VG Name vg_koraykey System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 2 Act PV 2 VG Size 104.50 GiB PE Size 4.00 MiB Total PE 26752 Alloc PE / Size 26752 / 104.50 GiB Free PE / Size 0 / 0 VG UUID iBHPHX-4MC0-bvWQ-3sOV-0Rb4-lYcS-3Uac3B -- Bir "Logical Volume" 4.99 GB alanı boşa çıkartalım. # lvreduce -L-4.99GB /dev/vg_koraykey/lv_root Rounding size to boundary between physical extents: 4.99 GiB WARNING: Reducing active and open logical volume to 95.51 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lv_root? [y/n]: y Reducing logical volume lv_root to 95.51 GiB Logical volume lv_root successfully resized -- Çıkarttığımız 4.98 GB alan ile yeni bir "Logical Volume" oluşturalım. # lvcreate -n lv_data -L4.98GB vg_koraykey Rounding up size to full physical extent 4.98 GiB Logical volume "lv_data" created -- Çıkartığımız 4.98 GB alanı varolan bir "Logical Volume" eklemek için # lvextend -L+4.98GB /dev/vg_koraykey/lv_data Rounding size to boundary between physical extents: 4.98 GiB Extending logical volume lv_data to 100.50 GiB Logical volume lv_data successfully resized6. LVM için yaptığımız ayarları yedeklemek veya geri dönmek için aşağıdaki adımları izlemeliyiz. Burada verileri değil sadece LVM ayarlarını yedekle veya geri dönmektedir.
-- Ayarlarımızı yedeklemek için ( "/etc/lvm/backup" dizini altına yedeklenir.) # vgcfgbackup vg_koraykey Volume group "vg_koraykey" successfully backed up. -- Ayarlarımızı yedekten dönmek için # vgcfgrestore vg_koraykey Restored volume group vg_koraykey7. LVM aracına grafik arayüzden erişmek için “System>Administration>Logical Volume Management” yolunu izleyebiliriz.
Kaynak: http://www.koraykey.com/?cat=8
Yorumlar
Yorum Gönder