Sunucu üzerinde kullandığımız çoğu servis, sunucunun diski dolu olduğunda duruyor. Acil durumlarda hızla aksiyon almamız gerekiyor. O halde hızlıca işlemlere başlayalım. Gönül isterdi next next ama Linux sunucularda mümkün değil. Disk genişletme için fdisk parametrelerini kullanacağız.
Bu durum Linux masaüstü dağıtımlarında GParted uygulaması ile arayüz üzerinden extend/genişlet butonu ile kolayca yapılabilir. Uygulayacağımız senaryoda aktif çalışan Linux sunucu üzerinde gerekli komutları uygulamak.
Sanallaştırma yazılımınız (Vmware, Xen, HyperV vb.) ile diskin boyutunu arttırarak başlıyoruz. Ben 80 GB alanı 20 GB arttırarak 100 GB yapıyorum. Diski yükselttikten sonra genişletmek için VM’e bağlanalım.
SSH ya da Putty ile oturum açıyoruz.
Disk bölümünü 100 GB çıkardık bunu fdisk ile kontrol edelim.
root@maestropanel:~# fdisk -l Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
20 GB ekleme işleminin sorunsuz olarak Linuxun tanıdığını ve 100 GB disk alanını görüyoruz.
Disk genişletmek için yapmamız gereken işlemler, yeni disk bölümü oluşturma (partition) sonra disk bölümüne ait fiziksel volume oluşturacağız. Sonrasında 80 GB’lik alanımızı yeni disk ile genişleteceğiz.
Disk Katmanları
Volume Group: En üstte yer alan katman, fiziksel ve mantıksal alan bu katmanın altında yer alıyor.
Physical Volume: Fiziksel disk ve disk bölümlerinden oluşan alan.
Logical Volume: Disk ve ya disk bölümlerinin biçimlenmesinden sonra ortaya çıkan dosya sistemi içeren yapı.
Fdisk ile Disk İşlemleri
Fdisk ile kullanacağımız parametreleri açıklayalım. Bu adımları hızlıca sırasıyla uygulayalım.
- fdisk /dev/sda
fdisk ile disk yönetimine erişelim. - p – disk bölüm tablolarını gösterir
disk bölümlerini kontrol edelim. - n – yeni bölüm (partition) ekleme
- p – disk bölüm tablolarını gösterir
eklediğimiz disk bölümünü kontrol edelim. - 4 – sda4 disk bölüm numarası atama
disk bölümüne numara atama varsayılan değer kalabilir. - enter – bölüm alanı belirleme
- enter – bölüm alanı belirleme
- p – disk bölüm tablolarını gösterir
sda4 disk bölümünü kontrol edelim. - w – oluşturulan disk bölümlerini kaydeder ve çıkar.
Eklediğimiz sda4 bölümünün sistemde tanımlanması için sunucuyu yeniden başlatabilir ya da aşağıdaki komutu uygulayabiliriz.
root@maestropanel:~# partx -v -a /dev/sda
Bu işlemlerden sonra “fdisk /dev/sda” çıktımızda yeni oluşturduğumuz sda4 bölümü eklenecek alan boyutu kadar yani bizde 20G olarak görünecek. Oluşturduğumuz yeni sda4 bölümünü fiziksel alana dönüştüreceğiz.
root@maestropanel:~# fdisk /dev/sda > command: p
Sda4 bölümü sistemde görünür duruma getirdik.
Sda4 bölümünü fiziksel olarak ekliyoruz.
root@maestropanel:~# pvcreate /dev/sda4
> Physical volume "/dev/sda4" successfully created
Oluşturduğumuz fiziksel alanı, volume (alan) grubuna ekliyoruz. Volume Group adını vgdisplay ile görebiliriz. vgdisplay çıktısında yer alan FREE PE kısmı diskin serbest kullanılabilir ek alanını gösteriyor.
root@maestropanel:~# vgdisplay > vg name: web-vg > Alloc PE / Size : 80 GiB > Free PE / Size : 0 / 0
Serbest kullanılabilir fiziksel alan (FREE PE / Size) 0 olarak görünüyor. Yani genişletmek için kullanılabilecek alanımız yok. Şimdi sda4’u volume group’a ekleyelim ve tekrar çıktıyı kontrol edelim.
root@maestropanel:~# vgextend web-vg /dev/sda4 > Volume group "web-vg" successfully extended
root@maestropanel:~# vgdisplay > vg name: web--vg > Alloc PE / Size : 80 GiB > Free PE / Size : 2341 / 20 GiB
20 GB görünen serbest fiziksel alanımızı root dizini genişletmek için kullanabiliriz.
root@maestropanel:~# lvextend /dev/web-vg/root /dev/sda4 Extending logical volume lv_root to 95.4 GiB Logical volume lv_root successfully resized
Vgdisplay komutu ile kullanılabilir fiziksel alanı kontrol edelim.
root@maestropanel:~# vgdisplay > vg name: web--vg > Alloc PE / Size : 100 GiB > Free PE / Size : 0 / 0
Disk kullanım alanını “df -h” komutu ile kontrol ettiğimizde eski yani 80 GB olarak görüyoruz. Bunun nedeni root dizinin resize edilmemesinden dolayı. Resize işlemi için resize2fs kullanıyoruz.
root@maestropanel:~# resize2fs /dev/mapper/web--vg-root > resize2fs Filesystem at /dev/mapper/web--vg_root t is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = Performing an on-line resize of /dev/mapper/web--vg_root to blocks. The filesystem on /dev/mapper/web--vg-lv_root is now x blocks long.
Diski kontrol edebiliriz.
root@maestropanel:~# df -h
Disk genişletme işlemi tamamlandı. Doldurmaya başlayabiliriz.