Ö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ğersda2
’nin hemen arkasındasda3
başlıyorsa,sda2
bölümü genişletilmek istendiğindesda3
’e taşma yapar. Yanisda2
ilesda3
fiziksel olarak yan yana vesda3
hemensda2
’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
veyasda3
). - 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 veyes
yazarak ENTER'a basınQuit
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.