LVM ile çalışma

LVM, fiziksel katmandan ek bir soyutlama derecesine sahip bir disk alanı yönetim sistemidir. Disk alanının esnek ve verimli yönetimine, veri hata toleransına izin verir ve ayrıca veri yedekleme, sanallaştırma ortamları için depolama sistemlerinin dağıtımı vb. çeşitli görevlerin çözülmesine yardımcı olur.

Bu makalede Linux'ta LVM'nin nasıl kurulacağını ve kullanılacağını göreceğiz.

Kurulum

LVM genellikle Linux işletim sisteminizle birlikte yüklenir, ancak yüklenmemişse, Linux dağıtımınızın paket yöneticisini kullanarak yükleyebilirsiniz. Çoğu dağıtım için, LVM'yi yükleme komutu aşağıdaki gibi görünecektir:

Debian ya da Ubuntu için:

sudo apt-get install lvm2

CentOS, Fedora ve RHEL için:

sudo yum install lvm2

Fiziksel birimler oluşturma

Mantıksal birimler oluşturmadan önce fiziksel birimler (pv) oluşturmanız gerekir. Fiziksel birim, LVM'nin mantıksal birimler oluşturmak için kullandığı sabit disk veya disk bölümü gibi sanal bir aygıttır.

Not: Bölümleme kullanmadan sabit diskin üstünde fiziksel birimler oluşturmanız önerilir, aksi takdirde dinamik lvm yeniden boyutlandırma işlemi uzun vadede daha karmaşık hale gelir.

Fiziksel birim oluşturmak için aşağıdaki adımları izleyin:

Fiziksel birim oluşturmak için pvcreate komutunu kullanın:

sudo pvcreate /dev/sdb

Burada /dev/sdb fiziksel aygıtın yoludur.

2. pvdisplay komutunu kullanarak oluşturulan fiziksel birimi kontrol edin:

sudo pvdisplay

Çıktıda, oluşturulan fiziksel birim hakkında bilgi göreceksiniz.

Fiziksel birim grubu oluşturma

Fiziksel birim grubu (vg), birkaç fiziksel birimi ortak bir grupta birleştirebilen mantıksal bir kapsayıcıdır. Ancak, tek bir fiziksel birim içinde kullanılmasını engelleyen hiçbir şey yoktur. Fiziksel birim grubu oluşturmak için aşağıdaki adımları izleyin:

1. Fiziksel birim grubu oluşturmak için vgcreate komutunu kullanın:

sudo vgcreate vg0 /dev/sdb
# либо для нескольких pv
sudo vgcreate vg0 /dev/sdb /dev/sdc

Mantıksal birim oluşturma

Artık geleneksel olarak bir sabit diskteki bölümler olarak temsil edilebilen mantıksal birimler oluşturabilirsiniz.

1. lvcreate komutunu kullanarak fiziksel birim grubunda bir mantıksal birim oluşturun:

sudo lvcreate -n lv0 -L 10G vg0   # Создание логического тома lv0 размером 10 ГБ в группе физических томов vg0

Burada -n mantıksal birimin adı, -L ise mantıksal birimin boyutudur.

2. lvdisplay komutunu kullanarak oluşturulan mantıksal birimi kontrol edin:

sudo lvdisplay

Oluşturulan mantıksal birim hakkında bilgi göreceksiniz.

3. mkfs komutunu kullanarak mantıksal birim üzerinde bir dosya sistemi oluşturun:

sudo mkfs.ext4 /dev/vg0/lv0

4. mkdir komutunu kullanarak yeni dosya sistemi için bir bağlama noktası oluşturun:

sudo mkdir /mnt/lv0

5. mount komutunu kullanarak yeni dosya sistemini bağlama noktasına bağlayın:

sudo mount /dev/vg0/lv0 /mnt/lv0

Artık mantıksal birim üzerinde bulunan yeni dosya sistemini kullanabilirsiniz.

LVM Kullanımı

LVM fiziksel birimleri, fiziksel birim gruplarını ve mantıksal birimleri yönetmek için birçok komut sağlar. En sık kullanılan komutlardan bazıları aşağıda listelenmiştir:

  • pvcreate: Yeni bir fiziksel birim oluşturur.
  • pvdisplay: Fiziksel birimler hakkındaki bilgileri görüntüler.
  • vgcreate: Yeni bir fiziksel birim grubu oluşturur.
  • vgextend: Bir fiziksel birim grubuna bir fiziksel birim ekler.
  • vgdisplay: Fiziksel birim grupları hakkındaki bilgileri görüntüler.
  • lvcreate: Yeni bir mantıksal birim oluşturur.
  • lvextend: Mantıksal birimin boyutunu artırır.
  • lvdisplay: Mantıksal birimler hakkındaki bilgileri görüntüler.

LVM ayrıca sistem çalışırken fiziksel birimlerin, fiziksel birim gruplarının ve mantıksal birimlerin boyutunu artırmak için kullanmanıza izin verir. Bu amaç için ilgili komutlar vardır:

  • pvresize: Bir fiziksel birimi yeniden boyutlandırır.
  • vgresize: Bir fiziksel birim grubunu yeniden boyutlandırır.
  • lvresize: Mantıksal birimin boyutunu değiştirir.

Yukarıdaki komutlardan herhangi birini --help parametresiyle çalıştırarak, komut argümanlarının ek parametrelerine aşina olabilirsiniz.

Mantıksal birimin boyutunu kontrol edin:

Örneğin, vg0 fiziksel birim grubundaki lv0 mantıksal biriminin boyutunu 5 GB artırmak için şu komutu kullanın:

sudo lvresize -L +5G /dev/vg0/lv0

veya fiziksel birim üzerinde kalan tüm boş alanı kullanın:

sudo lvresize -l +100%FREE /dev/vg0/lv0
Son örnekte büyük harf l kullanılırken, önceki örnekte büyük harf L kullanıldığına dikkat edin.
Bu formatta, fiziksel birimdeki kalan alandan mantıksal birime ne kadar boş alan ekleneceğini yüzde olarak belirleme esnekliğine sahip olursunuz.

Daha sonra resize2fs komutunu kullanarak dosya sistemini anında yeniden boyutlandırabilirsiniz:

sudo resize2fs /dev/vg0/lv0

LVM Anlık Görüntüleri

Linux'taki LVM, zamanın belirli bir noktasında mantıksal birimlerin tam kopyalarını oluşturmanıza olanak tanıyan bir anlık görüntü mekanizmasını destekler. Bu, zamanın belirli bir noktasındaki verilerin durumunu kaydetmenize ve gerektiğinde bu duruma geri yüklemenize olanak tanıyan kullanışlı bir özelliktir.

LVM anlık görüntü teknolojisi şu şekilde çalışır: anlık görüntünün oluşturulduğu andaki mantıksal birimin durumu kaydedilerek bir anlık görüntü oluşturulur. Anlık görüntü oluşturulduktan sonra, orijinal mantıksal birimde meydana gelen tüm değişiklikler ek diferansiyel disk alanında saklanır. Bu, anlık görüntünün oluşturulduğu andaki verilerin yedeklenmesine ve geri yüklenmesine yardımcı olabilir.

LVM anlık görüntü mekanizmasının nasıl oluşturulacağına ve kullanılacağına bir göz atalım.

LVM anlık görüntüsü oluşturma

Bir LVM anlık görüntüsü oluşturmak lvcreate komutu kullanılarak gerçekleştirilir. Örneğin, myvg birim grubundaki myvolume mantıksal biriminin anlık görüntüsünü oluşturmak için aşağıdaki komutu kullanın:

sudo lvcreate --snapshot --name myvolume_snap --size 1G /dev/myvg/myvolume

Bu komut myvolume mantıksal biriminin myvolume_snap adında 1 GB boyutunda bir anlık görüntüsünü oluşturacaktır.

Bir anlık görüntü oluşturmak için anlık görüntü boyutunu belirtmeniz gerektiğini unutmayın.

LVM anlık görüntüsünü kullanma

Bir anlık görüntü oluşturduktan sonra, bunu çeşitli görevleri gerçekleştirmek için kullanabilirsiniz. Örneğin, anlık görüntüyü verileri geri yüklemek veya bir yedek oluşturmak için kullanabilirsiniz. Anlık görüntüyü dosya sistemine bağlamak için aşağıdaki komutu kullanın:

sudo mount /dev/myvg/myvolume_snap /mnt/snapshot

Burada /mnt/snapshot anlık görüntünün bağlanacağı bağlama noktasıdır. Anlık görüntü bağlandıktan sonra, ondan veri kopyalayabilir veya veri kurtarma için kullanabilirsiniz.

Bir LVM anlık görüntüsünü silme

Bir anlık görüntü kullanıldıktan sonra silinebilir. Bir anlık görüntüyü silmek için lvremove komutunu kullanın. Örneğin, myvg birim grubundaki myvolume_snapshot'ı kaldırmak için aşağıdaki komutu kullanın:

sudo lvremove /dev/myvg/myvolume_snap

Bir anlık görüntüyü silerseniz, anlık görüntü oluşturulduktan sonra değiştirilen tüm verilerin kaybolacağını unutmayın.

İnce havuzlar

İnce havuz, fiziksel disk aygıtlarının yalnızca gerçekten veri içeren bölümünü kullanan mantıksal bir birim oluşturmanıza olanak tanıyan bir LVM mekanizmasıdır. Bu, disk alanı tüketimini azaltmanıza ve disk alanını daha verimli yönetmenize olanak tanır. LVM'nin bu özelliği, sanal makineler ve konteynerler için disk alanı ayırmaya yönelik kullanışlı ve ekonomik bir çözüm olarak sanallaştırma sistemlerinde en yaygın hale gelmiştir. LVM'de nasıl ince havuz oluşturulacağına bir göz atalım.

İnce havuz LVM oluşturma

İnce havuz, bilinen lvcreate komutu kullanılarak oluşturulur. Örneğin, /dev/sdb ve /dev/sdc fiziksel birimlerindeki myvg birim grubunda bir ince havuz mythinpool oluşturmak için aşağıdaki komutu kullanın:

sudo lvcreate -L 50G -T myvg/mythinpool /dev/sdb /dev/sdc

Burada -L ince havuzun boyutunu gigabayt cinsinden belirtir ve -T ince havuz oluşturduğumuzu belirtir. Bu komut 50 GB'lık bir ince havuz mythinpool oluşturacaktır.

İnce birim LVM oluşturma

İnce birim, ince bir havuz içinde oluşturulan mantıksal bir birimdir. İnce birimler lvcreate komutu kullanılarak oluşturulabilir. Örneğin, myvg birim grubundaki ince havuz mythinpool 'da 10 GB boyutunda bir ince birim mythinvolume oluşturmak için aşağıdaki komutu kullanın:

sudo lvcreate -V 10G -T myvg/mythinpool -n mythinvolume

Burada -V ince birimin gigabayt cinsinden boyutunu ve -n ince birimin adını belirtir. Bu komut, ince havuz mythinpool içinde 10 GB'lık bir ince birim mythinvolume oluşturacaktır.

İnce birim LVM kullanma

İnce birim normal bir mantıksal birim olarak kullanılabilir. Örneğin, ince birim mythinvolume üzerinde bir ext4 dosya sistemi oluşturmak için aşağıdaki komutu kullanın:

sudo mkfs.ext4 /dev/myvg/mythinvolume

İnce birim dosya sistemi oluşturulduktan sonra, normal bir mantıksal birim olarak bağlanabilir ve kullanılabilir.

Thin pool, Linux'ta daha esnek ve verimli depolama yapılandırmaları oluşturmanıza olanak tanır. Thin pool, optimum disk alanı kullanımı için thin volume ile birlikte kullanılır.