Önceden KVM üstünde ubuntu 22.04 20 GB disk alanına sahip bir VM oluşturdum. Sizin kullanıdığınız sanallaştırma ortamına göre bu işlem değişiklik gösterebilir. KVM için disk genişletme adımları Tecmint.com bu site üzerinden bakabilirsiniz.

Disk genişletme işlemi aslında iki türlü yapabilirsiniz;

1. Contiguous Allocation (Bitişik Alan Ayrımı)

Bu kavram, geleneksel disk bölümlerinin çalışma yapısını ifade eder. Contiguous Allocation’da, bir bölümü genişletmek istediğinizde bu bölümün arkasında yer alan alanın boş ve aynı zamanda bitişik olması gerekir. Bölümler fiziksel olarak diskin belli bölgelerinde sabit alanlara ayrıldığı için genişletilmek istenen bölüm, ancak bitişiğindeki alan boşsa genişletilebilir.

Örneğin:

  • Diyelim ki sda2 bölümü disk üzerinde bir yerde başlıyor ve belli bir alanda sona eriyor. Eğer sda2’nin hemen arkasında sda3 başlıyorsa, sda2 bölümü genişletilmek istendiğinde sda3’e taşma yapar. Yani sda2 ile sda3 fiziksel olarak yan yana ve sda3 hemen sda2’nin sınırını takip ediyor.
  • Bu durumda, sda2 genişletilemez çünkü disk yapısında bölümlerin sürekli (contiguous) olması zorunluluğu var. Bitişik bir boş alan yoksa, bölüm genişletme işlemi yapılamaz.

Contiguous Allocation, disk bölümlerinin fiziksel sınırlarına sıkı sıkıya bağlı kalır. Bu yüzden, büyük disk alanları veya esnek alan yönetimi gereken durumlarda yeterli esnekliği sunmaz.

2. LVM (Logical Volume Manager) ve Volume Group

LVM, disk yapısında bu fiziksel sınırlamaları aşmak için kullanılan bir yönetim sistemidir. Mantık olarak, birden fazla fiziksel disk bölümünü (örneğin, sda2 ve sda3) tek bir mantıksal hacim (volume) olarak birleştirir. Bu sayede disk bölümlerinin fiziksel olarak bitişik olup olmalarına bağlı kalmadan genişletilebilir bir yapı oluşturur.

LVM Nasıl Çalışır?

  • Physical Volume (PV): Disk üzerinde LVM’ye dahil edilen fiziksel birimlerdir (örneğin, sda2 veya sda3).
  • Volume Group (VG): LVM’de birden fazla PV’nin birleşiminden oluşur ve LVM’nin temel çalışma alanıdır.
  • Logical Volume (LV): Volume Group içindeki alanlardan istediğiniz gibi mantıksal hacimler yaratabilirsiniz. Bu mantıksal hacimler gerçek disk bölümlerinin bir araya getirilmiş, bir mantıksal bütün haline getirilmiş halidir.

LVM’nin en önemli avantajı, disk alanı eklemek veya mevcut alanı genişletmek istediğinizde fiziksel düzenlemelerle uğraşmadan mantıksal seviyede genişletme imkanı sağlamasıdır. Yani, sda2 ve sda3 arka arkaya olmak zorunda değil, LVM ile bir araya getirilip tek bir hacim gibi kullanılabilirler.

Volume Group

Bu işlemler, vda3 ve vda4 bölümlerini tek bir LVM grubuna dahil ederek tek bir büyük disk alanı olarak kullanmanızı sağladı.

Burada gördüğünüz gibi disk 120GB fakat işletim sistemi 18.2G diğer kısımı dahil edeceğiz


murat@ubuntu:~$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0 111.9M  1 loop /snap/lxd/24322
loop1                       7:1    0  63.4M  1 loop /snap/core20/1974
loop2                       7:2    0  53.3M  1 loop /snap/snapd/19457
loop3                       7:3    0  38.8M  1 loop /snap/snapd/21759
loop4                       7:4    0  63.7M  1 loop /snap/core20/2434
loop5                       7:5    0    87M  1 loop /snap/lxd/29351
sr0                        11:0    1  1024M  0 rom
vda                       252:0    0   120G  0 disk
├─vda1                    252:1    0     1M  0 part
├─vda2                    252:2    0   1.8G  0 part /boot
└─vda3                    252:3    0  18.2G  0 part
└─ubuntu--vg-ubuntu--lv 253:0    0  18.2G  0 lvm

Partition Table Güncelleme
Öncelikle, vda diskine eklenen yeni alanı ayırmamız gerekiyor. Bunun için fdisk aracını kullanacağız:


sudo fdisk /dev/vda

fdisk açıldıktan sonra aşağıdaki adımları izleyin:

  • p tuşuna basarak mevcut bölümleri listeleyin.
  • n tuşuna basarak yeni bir bölüm oluşturun.
  • Bölüm tipi olarak primary seçin (genellikle varsayılan).
  • Yeni alanı kullanarak bölümü tamamlayın.
  • w tuşuna basarak değişiklikleri yazdırın ve çıkın.

LVM'e Yeni Bölümü Eklemek
Yeni bölümü LVM yapısına dahil etmek için yeni partisyonu fiziksel hacim (PV) olarak ayarlamanız gerekecek.


sudo pvcreate /dev/vda4

Yeni PV'yi VG'ye Eklemek
Yeni PV’yi mevcut volume group (VG) ubuntu-vg içerisine ekleyin:


sudo vgextend ubuntu-vg /dev/vda4

Logical Volume (LV) Boyutunu Artırma
Şimdi ubuntu-lv adlı logical volume’ün boyutunu artırabilirsiniz. Tüm kullanılabilir alanı eklemek için şu komutu kullanın:


sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

Dosya Sistemini Genişletme
Son olarak, ubuntu-lv üzerinde kullanılan dosya sistemini genişletmeniz gerekiyor. Eğer ext4 dosya sistemi kullanıyorsanız:


sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

Lvextend

Bu işlemlede ise fazladan eklediğimiz disk alanını mevcut filesystem bölümüne dahil etmemiz sonucunda diski genişletiyor.

Disk alanını genişletme
Öncelikle, vda diskine eklenen yeni alanı ayırmamız gerekiyor. Bunun için fdisk aracını kullanacağız:


sudo cfdisk /dev/vda

cfdisk açıldıktan sonra aşağıdaki adımları izleyin:

  • /dev/vda3 seçerek Resize seçeneğini seçin ve ENTER'a basın. Direkt Free alanı üstüne eklecektir.
  • Write seçeneğini seçin ve yes yazarak ENTER'a basın
  • Quit tuşuna basarak çıkın.

Artık vda3 bölümü 118.2G oldu


murat@ubuntu:~$ lsblk
murat@ubuntu:~$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0  38.8M  1 loop /snap/snapd/21759
loop1                       7:1    0  63.4M  1 loop /snap/core20/1974
loop2                       7:2    0    87M  1 loop /snap/lxd/29351
loop3                       7:3    0  63.7M  1 loop /snap/core20/2434
loop4                       7:4    0 111.9M  1 loop /snap/lxd/24322
loop5                       7:5    0  53.3M  1 loop /snap/snapd/19457
sr0                        11:0    1  1024M  0 rom
vda                       252:0    0   120G  0 disk
├─vda1                    252:1    0     1M  0 part
├─vda2                    252:2    0   1.8G  0 part /boot
└─vda3                    252:3    0 118.2G  0 part
└─ubuntu--vg-ubuntu--lv 253:0    0  18.2G  0 lvm  /

Bölüm Tablosunu ve LVM'yi Yeniden Tarayın

Eğer pvresize işe yaramazsa, sistemde bölüm tablosunu ve LVM'yi yeniden taratmak faydalı olabilir:


sudo partprobe

vgdisplay ile baktığımızda Free alana 100 GB geldiğini göreceğiz şimdi bu alanı genişletme işi kaldı.


murat@ubuntu:~$ sudo vgdisplay
--- Volume group ---
VG Name               ubuntu-vg
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  4
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                1
Open LV               1
Max PV                0
Cur PV                1
Act PV                1
VG Size               118.22 GiB
PE Size               4.00 MiB
Total PE              30265
Alloc PE / Size       4665 / 18.22 GiB
Free  PE / Size       25600 / 100.00 GiB
VG UUID               6fWVCi-MLdn-QYau-d5xk-CnET-0xZO-eJvl5N

Logical Volume’u Genişletme

Mevcut logical volume ubuntu-lv'yi tüm boş alanı kullanacak şekilde genişletmek için şu komutu çalıştırın:


murat@ubuntu:~$ sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from 18.22 GiB (4665 extents) to 118.22 GiB (30265 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.

Kategori: