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 ile Linux Disk Yönetimi: Esnek Depolama Rehberi
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.

Disk Storage LVM

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
Storage Management

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
Server Storage

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.

İlgili Yazılar