lvm
LVM (Mantıksal Birim Yönetimi), Linux'ta disk depolama alanını yönetmek için kullanılan esnek bir katmandır. Geleneksel disk bölümleme (partitioning) yöntemlerinin (örn. MBR, GPT) üzerine bir soyutlama katmanı ekleyerek, disk alanını daha dinamik ve kolay yönetilebilir hale getirir. Özellikle sunucu ortamlarında ve disk alanı ihtiyaçlarının zamanla değişebildiği durumlarda çok kullanışlıdır.
LVM'nin Avantajları
Esnek Alan Yönetimi: Mantıksal birimleri (Logical Volumes - LV'ler) kolayca yeniden boyutlandırma (büyütme ve bazen küçültme) imkanı sunar.
Diskleri Birleştirme: Birden fazla fiziksel diski veya disk bölümünü tek bir büyük depolama havuzunda (Volume Group - VG) birleştirebilir.
Birimleri Yayma (Spanning): Tek bir mantıksal birimi birden fazla fiziksel diske yayabilirsiniz.
Anlık Görüntüler (Snapshots): Bir mantıksal birimin belirli bir andaki durumunun anlık görüntüsünü oluşturabilirsiniz. Bu, veri kaybı riski olmadan yedekleme yapmak veya testler gerçekleştirmek için çok kullanışlıdır.
Thin Provisioning: Gerçekte fiziksel olarak ayrılmamış alanı mantıksal birimlere atayarak disk alanının daha verimli kullanılmasını sağlar (alan sadece ihtiyaç duyulduğunda ayrılır).
Temel Kavramlar
LVM'nin üç ana bileşeni vardır:
Fiziksel Birimler (Physical Volumes - PVs): LVM tarafından kullanılacak olan temel depolama bloklarıdır. Bunlar genellikle tam diskler (
/dev/sda
,/dev/nvme0n1
) veya disk bölümleridir (/dev/sdb1
,/dev/sdc2
). Bir diski veya bölümü LVM için hazırlamak amacıylapvcreate
komutu ile işaretlenirler.Birim Grupları (Volume Groups - VGs): Bir veya daha fazla Fiziksel Birim'in bir araya getirilmesiyle oluşturulan depolama havuzlarıdır (
vgcreate
). Mantıksal Birimler bu havuzdan oluşturulur. Bir VG'ye daha sonra yeni PV'ler eklenerek havuzun boyutu artırılabilir (vgextend
).Mantıksal Birimler (Logical Volumes - LVs): Birim Grubu içindeki boş alandan ayrılan, kullanılabilir "sanal" disk bölümleridir (
lvcreate
). Kullanıcılar ve işletim sistemi, doğrudan LV'ler üzerinde işlem yapar (formatlama, bağlama vb.). LV'ler genellikle/dev/<vg_adı>/<lv_adı>
veya/dev/mapper/<vg_adı>-<lv_adı>
gibi yollarla erişilir. LV'ler, VG'de yeterli boş alan olduğu sürece kolayca büyütülebilir (lvextend
).
LVM, depolama alanını Fiziksel Kapsamlar (Physical Extents - PE) adı verilen küçük, sabit boyutlu bloklara böler. Tüm LVM işlemleri (alan ayırma, taşıma vb.) bu PE'ler üzerinden yapılır.
Temel LVM İş Akışı
Diskleri/Bölümleri Hazırlama: LVM için kullanılacak diskleri (
/dev/sdb
,/dev/sdc
vb.) veya disk bölümlerini (fdisk
,parted
gibi araçlarla) oluşturun. Bölüm tipi olarak "Linux LVM" (ID: 8e) ayarlamak iyi bir pratiktir.Fiziksel Birimleri (PV) Oluşturma: Seçilen diskleri/bölümleri
pvcreate
ile LVM için işaretleyin:Mevcut PV'leri listelemek için:
sudo pvs
veyasudo pvdisplay
.Birim Grubunu (VG) Oluşturma: PV'leri kullanarak bir VG oluşturun:
my_volume_group
: Oluşturulacak VG'nin adı. Mevcut VG'leri listelemek için:sudo vgs
veyasudo vgdisplay
.
Mantıksal Birimleri (LV) Oluşturma: VG içindeki boş alandan LV'ler oluşturun:
-L <boyut>
: LV boyutunu belirtir (örn.10G
,500M
).-l <+/-yüzde>%FREE/VG/PVS
: VG'deki boş alanın yüzdesini kullanır.-n <lv_adı>
: Oluşturulacak LV'nin adını belirtir. Mevcut LV'leri listelemek için:sudo lvs
veyasudo lvdisplay
. LV'ler genellikle/dev/mapper/my_volume_group-data_lv
gibi görünür.
Dosya Sistemini Oluşturma: Oluşturulan LV'leri istediğiniz dosya sistemiyle formatlayın:
Bağlama (Mount): Formatlanan LV'leri sistemdeki dizinlere bağlayın ve kalıcı olması için
/etc/fstab
dosyasına ekleyin:
Yaygın Yönetim İşlemleri
VG'yi Genişletme: Yeni bir PV'yi mevcut bir VG'ye ekleme:
LV'yi Genişletme: Bir LV'nin boyutunu artırma (VG'de yeterli boş alan olmalı):
LV'yi Küçültme: (Daha riskli, dikkatli yapılmalıdır!)
Dosya sistemini bağlı değilken küçültün (
resize2fs
ext4 için, XFS küçültmeyi desteklemez).LV'yi
lvreduce
ile küçültün.Dosya sistemini tekrar bağlayın.
Snapshot Oluşturma: Bir LV'nin anlık görüntüsünü oluşturma (örn. yedekleme öncesi):
Snapshot, oluşturulduğu andaki LV'nin durumunu tutar. Orijinal LV değişmeye devam ederken, snapshot değişmez (veya sadece değişiklikleri depolar - Copy-on-Write). Snapshot üzerinden yedek alınabilir. İş bitince snapshot kaldırılmalıdır (
lvremove
).Kaldırma İşlemleri:
Bu işlemler veri kaybına neden olur, dikkatli kullanılmalıdır!
LVM, disk yönetiminde büyük esneklik sağlar ve özellikle sunucu ortamlarında disk alanını verimli bir şekilde yönetmek için standart bir araç haline gelmiştir.
Last updated