Logical Volume Manager (LVM)

LVM, Linux'ta esnek disk yönetimi sağlayan bir soyutlama katmanıdır. Dinamik genişletme ve snapshot desteği sunar.

LVM Kavramları

  • Physical Volume (PV): Fiziksel disk veya partition
  • Volume Group (VG): PV'lerin havuzu
  • Logical Volume (LV): VG üzerinde oluşturulan sanal disk

LVM Kurulumu

# Physical Volume oluşturma
pvcreate /dev/sdb
pvcreate /dev/sdc
pvdisplay
pvs

Volume Group oluşturma

vgcreate datavg /dev/sdb /dev/sdc vgdisplay datavg vgs

Logical Volume oluşturma

lvcreate -L 100G -n datalv datavg lvcreate -l 100%FREE -n backuplv datavg lvdisplay lvs

Filesystem oluşturma

mkfs.xfs /dev/datavg/datalv mkfs.ext4 /dev/datavg/backuplv

Mount

mkdir /data /backup mount /dev/datavg/datalv /data mount /dev/datavg/backuplv /backup

/etc/fstab'a ekleme

echo "/dev/datavg/datalv /data xfs defaults 0 0" >> /etc/fstab

LVM Genişletme

# Yeni disk ekle
pvcreate /dev/sdd
vgextend datavg /dev/sdd

Logical Volume genişlet

lvextend -L +50G /dev/datavg/datalv

veya

lvextend -l +100%FREE /dev/datavg/datalv

Filesystem genişlet (XFS - online)

xfs_growfs /data

Filesystem genişlet (ext4 - online)

resize2fs /dev/datavg/backuplv

LVM Snapshot

# Snapshot oluşturma (backup için)
lvcreate -L 10G -s -n datalv_snap /dev/datavg/datalv

Snapshot'tan mount

mkdir /mnt/snapshot mount -o ro /dev/datavg/datalv_snap /mnt/snapshot

Backup al

tar -czvf /backup/data_backup.tar.gz /mnt/snapshot/

Snapshot silme

umount /mnt/snapshot lvremove /dev/datavg/datalv_snap

LVM Thin Provisioning

# Thin pool oluştur
lvcreate -L 500G --thinpool thinpool datavg

Thin volume oluştur (over-provisioned)

lvcreate -V 200G --thin -n thinvol1 datavg/thinpool lvcreate -V 200G --thin -n thinvol2 datavg/thinpool

Thin pool kullanımı izleme

lvs -a

Sonuç

LVM, dinamik disk yönetimi için vazgeçilmez bir araçtır. Thin provisioning ile depolama verimliliği artırılır.