DEV Community

Suleyman
Suleyman

Posted on

Linux LVM İşlemleri

Merhaba, bu makalede linux üzerinde lvm yapılandırılmasını ve komutlarını göreceğiz.

LVM Nedir ?

LVM, modüler disk veri kümesi veya kümeleri oluşturulmasını, böylelikle de istenildiğinde mevcut disk alanı üzerinde istenilen boyutlandırmanın yeniden yapabilmesini sağlar. LVM in en büyük avantajlı rahat bir şekilde partitionlar üzerinde boyutlandırma yapabilmemizdir. LVM de sunucu üzerindeki fiziksel diskler ile Volume gruplar oluşturulur. Bu Volume gruplardan ise logical volumelar oluşturulur. Bu logical volumelerda istenilen yere mount edilir.

Image description

Öncelikle sunucu kurulurken nasıl LVM yapılandırabileceğimizi görelim. Biz manuel olarak yapılandıracağız.

İlk olarak disk yapılandırma kısmında “Custom Storage Layout” seçeneğini seçip “Done” butonuna basıyoruz.

Image description

Ardından karşımıza çıkan diski tıklayıp “Add GPT Partition” diyoruz.

Image description

Ben burada /boot ve swap kısmını standart partition , diğer partitionları LVM yapacağım. Siz swap partitionunu da LVM olarak yapılandırabilirsiniz. Boyutu 1G , mount /boot olacak şekilde “Create” tuşuna basıyoruz.

Şimdi tekrar “Add GPT Partition” diyerek bu sefer format kısmında “Leave Unformatted” seçeneğini seçip “Create” butonuna basıyoruz.

Image description

Şimdi “Create volume group (LVM)” diyerek bir LVM grup oluşturalım.

Ben “LVMGroup1” isminde bir LVM grup oluşturdum siz istediğiniz ismi verebilirsiniz. Devices kısmında disklerimizi seçiyoruz. Biz de tane disk var. Eğer birden fazla olsaydı onları da seçebilirdik. Seçip “Create” butonuna basıyoruz.

Image description

Şimdi de bu LVM gruptan bir Logical volume oluşturalım ve / dizinine mount edelim.

Image description

"Done" diyerek disk işlemlerini tamamlayabiliriz.

Şimdi sunucuya sonradan takılan veya mevcut disklerler işlemler yapabilmek için LVM komutlarını kullanalım.

vgs = Bu komut sunucu üzerinden LVM gruplarını listeler.
lvs = Bu komut LVM gruplardan oluşturulmuş logical volumeleri listeler.
pvs = Bu komut fiziksel diskler ile oluşturulmuş LVM groupları gösterir.
Enter fullscreen mode Exit fullscreen mode

Örneğin; aşağıdaki yapılandırmış olduğumuz LVMGroup1 isimli LVM grubu görüyoruz. Burada #PV kısmı bu gruba bağlı fiziksel diskleri , #LV ise bu gruptan oluşturulmuş logical volumelerin sayını gösterir. VFree bu grup üzerinden boş alanı gösterir.

Altaki lvs komutunda da LV , logical volume ismini ; VG bu logical volumenin oluşturulduğu LVM grubu, LSize ise boyutunu gösterir.

Image description

Şimdi sunucuya yeni bir ekleyip lvm komutlarını göreceğiz. Ben şimdi sunucuya 20 GB boyutunda yeni bir taktım.

fdisk -l  --- komutu ile sunucuya bağlı diskleri görebiliriz. Eğer 
              sunucuya taktığınız disk gözükmez ise sunucuda ki 
              diskleri rescan yapmamız gerekir. Sunucuyu reboot da 
              edebilirsiniz. Aşağıdaki komutla sunucudaki tüm 
              diskleri rescan yapabiliriz.


echo "- - -" | tee /sys/class/scsi_host/host*/scan
Enter fullscreen mode Exit fullscreen mode

Taktığımız diski “fdisk -l” komutunu çalıştırdığımızda görüyoruz. Diskin ismi /dev/sdb olmuş. Yapılandırmamızı ona göre yapacağız.

Image description

fdisk /dev/sdb --- ile bu diski yapılandırmaya başlayabiliriz. 

Enter fullscreen mode Exit fullscreen mode

Karşımıza çıkan sorulara aşağıdaki şekilde cevap verebiliriz. “n” ile yeni partition oluşturuyoruz. “p” ile primary partition oluşturuyoruz. Karşımıza gelen diğer sorulara “Enter” tuşuna basarak ilerleyebiliriz. “w” ile kaydedip çıkış yapıyoruz.

Image description

lsblk --- komutunu kullandığımıza bu diskin yapılandırıldığı görebiliriz.

Enter fullscreen mode Exit fullscreen mode

Image description

pvcreate /dev/sdb1 

Komutu ile bu fiziksel disk LVM için hazırlıyoruz diyebiliriz. Aşağıdaki gibi bir çıktı  almalıyız. 
Enter fullscreen mode Exit fullscreen mode

Image description

vgcreate LVMGroup2 /dev/sdb1  --- ile LVMGroup2 isminde LVM grup oluşturup /dev/sdb1 diskini bu LVM grubuna ekledim. Artık "vgs" komutunu çalıştırdığımıza  aşağıdaki gibi bir çıktı almalıyız.Biz burada farklı LVM Group oluşturuyoruz fakat bir LVM grubuna birden fazla fiziksel disk mount edilebilir.
Enter fullscreen mode Exit fullscreen mode

Image description

Şimdi sunucuya 10 GB lık bir disk daha takacağım ve bunu LVMGroup2 ye ekleyeceğim. Önceki fdisk ile partiton oluşturma kısmını yapıyoruz. Siz yaparsınız. Ardından aşağıdaki komutları çalıştırıyoruz.

pvcreate /dev/sdc1 ---- yeni taktığım disk /dev/sdc oldu. Partition bir partition oluşturduğum için /dev/sdc1 oldu.

vgextend LVMGroup2 /dev/sdc1  --- ile bu diski bu LVM grubuna ekledik. 20 GB+ 10 GB = 30 GB lık bir LVM grubumuz  oldu.
Enter fullscreen mode Exit fullscreen mode

Artık bu partitionlardan Logical volumeler oluşturmaya başlayabiliriz. Aşağıdaki komutla oluşturabiliriz.

lvcreate -n lv_data -L12GB LVMGroup2 ---- bu komutla LVMGroup2 isimli LVM  gruptan 12 GB boyutunda lv_data isminde bir Logical volume oluşturduk. Artık vgs komutunu çalıştırığımızda 30 GB - 12 GB = 18 GB boş alan  görmeliyiz.
Enter fullscreen mode Exit fullscreen mode

Image description

lvs --- komutunu çalıştırdığımızda oluşturduğumuz logical volumeleri tekrardan listeleyebiliriz.

lvdisplay --- ile logical volumelar hakkında daha fazla bilgiye ulaşabiliriz. Burada bu logical volumenin tam adresini öğrenebiliriz. Mount ederken işimize yarayacak.

Image description

mkfs.ext4 /dev/LVMGroup2/lv_date --- ile bu logical volumenin disk tipini belirliyoruz. Ben ext4 yaptım.


mount /LVMGroup2/lv_data /veriler  --- bu şekilde bu logical volumeyi /veriler isminde ki dizine mount ettik. Kalıcı olması için yani her reboottan sonra otomotik olarak  mount edilmesini istiyorsak /etc/fstab dosyasını düzenlemeliyiz.


lvreduce -L-2G /dev/LVGroup2/lv_data --- ile lv_data isimli logical volumenin  boyutunu 2 GB azalttık.

lvextend -L+12G /dev/LVGroup2/lv_data --- ile lv_data isimli logical volumenin boyutunu 122 GB arttırdık.
Enter fullscreen mode Exit fullscreen mode

Eğer artırıp azalttıktan sonra "df -h" komutunu kullandığında boyutlar güncellenmediyse "resize2fs /dev/LVGroup2/lv_data" komutunu kullanabilirsiniz.

Aşağıda bazı LVM komutları ve kullanımları görülmektedir.

pvcreate : linux sistemine diski fiziksel olarak tanıtır.  
Örnek kullanım:  pvcreate /dev/sdb1

pvdisplay: fiziksel olarak tanıtılan diskleri listeler.

pvremove: fiziksel tanımlı diski iptal eder.
Örnek kullanım: pvcreate /dev/sdb1

vgcreate: volume grup oluşturur.
Örnek kullanım: vgcreate Volumegrupisim /dev/sdb1

vgextend: volume grup disk ekler.
Örnek kullanım: vgextend Volumegrupisim /dev/sdc1

vgreduce: volume gruptan diski çıkartır.
Örnek kullanım: vgreduce Volumegrupisim /dev/sdc1

vgremove : Volume grup kaldırır.
Örnek kullanım: vgremove Volumegrupisim 

Vgdisplay: volume grupları listeler.

lvdisplay: logical volumeleri listeler.

lvcreate: logical volume oluşturur.
Örnek kullanım: lvcreate -n logicalvolumeismi -L10GB LVMGroupismi

lvremove: logical volume kaldırır.
Örnek kullanım: lvremove /dev/LVMGroupismi/logicalvolumeismi,
öncesinde mount edildiyse umount edilmelidir.

lvreduce: logical volume boyutunu azaltır.
Örnek kullanım:  lvreduce -L-3GB /dev/LVMGroupismi/logicalvolumeismi

lvextend: logical volume boyutunu artıtır.
Örnek kullanım:  lvreduce -L-3GB /dev/LVMGroupismi/logicalvolumeismi

lvmdiskscan: tüm diskleri listeler.
Enter fullscreen mode Exit fullscreen mode

İyi günler.

Top comments (0)