LVM ile Linux Disk Yönetimi: Esnek Depolama Rehberi
z
zafer ak
Yazar
28 December 2025
4 dakika okuma
420 görüntülenme
LVM (Logical Volume Manager) ile esnek disk yönetimi. Volume group, logical volume oluşturma, genişletme ve snapshot alma.
LVM (Logical Volume Manager), Linux sistemlerde esnek disk yönetimi sağlayan güçlü bir araçtır. Disk alanını dinamik olarak yönetmenizi sağlar.
LVM Neden Kullanılır?
- Esneklik: Disk boyutunu dinamik değiştirme
- Birden fazla disk: Diskleri birleştirme
- Snapshot: Anlık görüntü alma
- Thin provisioning: Over-commit depolama
- Striping: Performans artışı
- Mirroring: Veri yedekliliği
LVM Mimarisi
# Katmanlar:
┌─────────────────────────────────────┐
│ Logical Volumes (LV) │ ← Dosya sistemi burada
│ /dev/vg01/lv_root, lv_home │
├─────────────────────────────────────┤
│ Volume Groups (VG) │ ← PV'leri birleştirir
│ vg01 │
├─────────────────────────────────────┤
│ Physical Volumes (PV) │ ← Fiziksel diskler
│ /dev/sda1, /dev/sdb1 │
└─────────────────────────────────────┘
LVM Kurulumu
# LVM araçlarını kur
sudo apt install lvm2
# Disk hazırlığı (örnek: /dev/sdb)
sudo fdisk /dev/sdb
# n - new partition
# t - type: 8e (Linux LVM)
# w - write
Physical Volume (PV) Oluşturma
# PV oluştur
sudo pvcreate /dev/sdb1
sudo pvcreate /dev/sdc1
# PV listele
sudo pvs
sudo pvdisplay
Volume Group (VG) Oluşturma
# VG oluştur
sudo vgcreate vg_data /dev/sdb1 /dev/sdc1
# VG listele
sudo vgs
sudo vgdisplay
# VG'ye PV ekle
sudo vgextend vg_data /dev/sdd1
# VG'den PV çıkar
sudo pvmove /dev/sdc1
sudo vgreduce vg_data /dev/sdc1
Logical Volume (LV) Oluşturma
# LV oluştur (boyut belirterek)
sudo lvcreate -L 50G -n lv_data vg_data
# VG'nin %50'sini kullan
sudo lvcreate -l 50%VG -n lv_backup vg_data
# Kalan alanın tamamını kullan
sudo lvcreate -l 100%FREE -n lv_logs vg_data
# LV listele
sudo lvs
sudo lvdisplay
# Dosya sistemi oluştur
sudo mkfs.ext4 /dev/vg_data/lv_data
# Mount et
sudo mkdir /mnt/data
sudo mount /dev/vg_data/lv_data /mnt/data
# fstab'a ekle
/dev/vg_data/lv_data /mnt/data ext4 defaults 0 2
LV Boyutlandırma
# LV genişlet
sudo lvextend -L +10G /dev/vg_data/lv_data
# VG'nin %100'üne genişlet
sudo lvextend -l +100%FREE /dev/vg_data/lv_data
# Dosya sistemini genişlet (ext4)
sudo resize2fs /dev/vg_data/lv_data
# Tek komutla LV + FS genişlet
sudo lvextend -r -L +10G /dev/vg_data/lv_data
# LV küçült (dikkatli!)
sudo umount /mnt/data
sudo e2fsck -f /dev/vg_data/lv_data
sudo resize2fs /dev/vg_data/lv_data 40G
sudo lvreduce -L 40G /dev/vg_data/lv_data
sudo mount /dev/vg_data/lv_data /mnt/data
LVM Snapshot
# Snapshot oluştur
sudo lvcreate -L 5G -s -n lv_data_snap /dev/vg_data/lv_data
# Snapshot mount et (read-only)
sudo mount -o ro /dev/vg_data/lv_data_snap /mnt/snapshot
# Snapshot'tan geri yükle
sudo umount /mnt/data
sudo lvconvert --merge /dev/vg_data/lv_data_snap
sudo mount /dev/vg_data/lv_data /mnt/data
# Snapshot sil
sudo lvremove /dev/vg_data/lv_data_snap
Thin Provisioning
# Thin pool oluştur
sudo lvcreate -L 100G --thinpool thin_pool vg_data
# Thin volume oluştur (over-commit)
sudo lvcreate -V 200G --thin -n thin_vol1 vg_data/thin_pool
sudo lvcreate -V 200G --thin -n thin_vol2 vg_data/thin_pool
# Thin pool durumu
sudo lvs -a
# Thin snapshot (anında, çok az yer)
sudo lvcreate -s -n thin_snap /dev/vg_data/thin_vol1
LVM Sorun Giderme
# LVM cache yenile
sudo vgscan
sudo lvscan
# Eksik PV varsa
sudo vgchange -ay --partial vg_data
# LVM backup/restore
sudo vgcfgbackup vg_data
sudo vgcfgrestore -f /etc/lvm/backup/vg_data vg_data
Sonuç
LVM, Linux sistemlerde esnek ve güçlü disk yönetimi sağlar. Özellikle sunucu ortamlarında disk alanını dinamik yönetmek için vazgeçilmezdir.