LVM
Ön Koşullar
- OS Ubuntu, Oracle
Bu işlem her ne kadar güvenli olsa da sunucunun yedeğini almanızı öneririm. Herhangi bir hatada veri kaybı yaşanabilir.
Hypervisior Disk Genişletme
Hypervisior üzerinden disk’i genişletelim. Ben disk alanımı 120GB olarak ayarlıyorum.
Makina üzerinde snapshot/checkpoint var ise disk genişletilemez. Silip genişletme işlemini yaptıktan sonra snapshot/checkpoint alabilirsiniz.

Sunucu Disk Genişletme
İlk olarak dosya sistem tipini kontrol edelim.
lsblk -f

Sonra disk adımızı bulalım.
lsblk

Mevcut bir diskin boyutunu değiştirdiyseniz, Linux dağıtımlarında SCSI veri yolunu yeniden tarayana kadar işletim sisteminin yeni disk boyutunu görememektedir. Bunun için sunucuyu yeniden başlatabilir veya manuel tarama yaptırabiliriz. Manuel olarak görmesini sağlayalım.
Bulduğum en kolay yol, belirli cihazı aşağıdaki komutla yeniden taramak. Buradaki sd"a" , artırdığınız ve yeniden taramak istediğiniz cihazdır. (Yukarıdaki görselde nvme0n1 olduğunu görebiliriz)
echo "1" > sudo tee -a /sys/class/block/nvme0n1/device/rescan
Bu işlemden sonra diskimizi kontrol ettiğimizde, disk alanımızın güncellendiğini görebiliyoruz.
lsblk

İşlemlere başlamadan önce biraz LVM yapısından bahsetmekte fayda var. 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. Disk alanının yetersiz kaldığı durumlarda LVM ile oluşturulan disk veri kümesine kolaylıkla yeni disk veya disk bölümleri ilave edebilir, ihtiyaca göre disk alanı şekillendirilebilir.
LVM yapısı, physical partition sonrasında volume group'larından ve logical volume'lerden oluşmaktadır.
Physical Partition (PV): Fiziksel hacim adından da anlaşılacağı üzere fiziksel aygıtlardan (disklerden) veya disk bölümlerinden oluşan kısımdır.
Volume Group(VG): Hacim grubu, fiziksel ve mantıksal hacimleri içine alan üst düzey bir katmandır.
Logical Volume (LV): Disk bölümlerinin karşılığıdır. Dosya sistemi içerir.
Unutmayın bu işlemleri yapmak için bir çok yol vardır. Her zaman en basit ve sade şekliyle anlatmaya çalışıyorum. İlk olarak fiziksel bölümü (sda1,sda2.nvmme. vb) cfdisk aracı ile yeniden boyutlandıracağım.
sudo cfdisk /dev/sda
Ok tuşları ile genişletmek istediğimiz partition üstüne gelelim ve resize kısmına gelip enter tuşuna basalım.

Varsayılan olarak size en yüksek değer seçili olacaktır. Ben 30G olarak ayarlıyorum.

Ardından sağa basarak write üzerine gelip enterleyin ve yes yazıp tekrardan enterleyin. Quit ile çıkış yapıyoruz.

Şimdi ise fiziksel bölümün genişleme durumunu kontrol edelim.
sudo pvdisplay
Herhangi bir değişiklik olmamış bu gayet normaldir. LVM'e fiziksel bölümün değiştini söylemiz gerekir.

Fiziksel bölümün değiştiğini LVM'e söyleyelim. Kontrol ettiğimizde physical volume ve virtual group'un güncellendiğini görebiliriz.
sudo pvresize /dev/nvme0n1p2

Logical Volume Genişletme
Artık son yapmamız gereken mantıksal birimi (Logical Volume) genişletmektir. Bu kısımda ilk olarak sistemde kurulu olan mantıksal birimleri görelim.

Yukarıda mantıksal birimleri görmekteyiz. Buradan örnek olması adına /var kısmını genişletmeye çalışalım. Aynı işlemleri diğer logical volume'ler içinde yapabilirsiniz. İlk olarak yolu bulalım.
lvdisplay
Komutu çalıştırdığım zaman bütün logical volume'ler gelecektir. Bizim ihtiyacımız olan /var olanının yolunu kolaylıkla bulabilyoruz.

Mantıksal birimi istediğiniz kadar arttırabilirsiniz, ben 5GB artacak şekilde genişletiyorum.
sudo lvextend -L+5G /dev/ol/var
Eğer tüm alanı mantıksal sürücüye dahil etmek isterseniz aşağıdaki komut satırını örnek alabilirsiniz.
sudo lvextend -l +100%FREE /dev/ol/var

Dosya sistemini genişletelim. Bu kısımda dosya sisteminize göre genişletme komutları değişmektedir. Benim kullandığım dosya sistemi xfs olduğu için ilgili komutu çalıştıracağım.
Dosya sistemini görmek için.
lsblk -f
xfs dosya sistemi için
xfs_growfs /dev/ol/var

ext4 dosya sistemleri için
sudo resize2fs /dev/ol/var
Şimdi tekrar kontrol edelim.
