Linux

Linux Sistemler Üzerinde LVM Disk Genişletme

10 Dakika Okuma Süresi.

LVM (Logical Volume Manager) Linux sistemler için kullanılan mantıksal alan yöneticisidir. Fiziksel disk alanlarını (Physical Volumes), mantıksal alanlara (Logical Volumes) bölümlenmesi konusunda yapıları oluşturmamıza olanak sağlar. Yüksek boyutlu disk yapıları rahatlıkla yönetebilmemizi, akabinde dinamik olarak işlemleri gerçekleştirebilmemize imkan tanımaktadır.

Linux Sistemler Üzerinde LVM Disk Genişletme

Linux Sistemler Üzerinde LVM Disk Genişletme Nasıl Yapılır?

Linux sistemler üzerinde LVM disk genişletme işlemini aşağıdaki adımları takip ederek gerçekleştirebilirsiniz.

Önemli Hatırlatma: Aşağıda uygulanan adımların oldukça kritik bir işlem olduğu, herhangi bir yanlış işlemde tüm dataların silinebilmesine sebep olabilecektir. Bu nedenle işlemlere başlamadan önce snapshot veya clone gibi yöntemleri kullanarak verilerinizi yedeklemenizi öneririm.

Adım 1:  LVM Yapısını Doğrulayın

Odaklanılan yöntem LVM türündeki disk yapılarında geçerli olacağından, öncelikli olarak “Linux LVM” olarak listelendiğini teyit etmemiz gereklidir.

fdisk -l
Linux Sistemler Üzerinde LVM Disk Genişletme

Yukarıdaki resimde görüldüğü gibi /dev/sda2 “Linux LVM” olarak işaretlendiği ve “8e” ID’sine sahip olduğu görülmektedir. 8e bölümün Linux LVM olduğunu gösteren hex kodundaki karşılığıdır. Bir üst satırda bulunan 83 ise yerel linux bölümü olduğunu göstermektedir. Sonuç itibariyle işlem yapacağımız /dev/sda2 bölümünün LVM olduğunu doğrulayabildiğimiz için işlemlere devam edebiliriz.

Mevcut durumdaki mantıksal birimlerimizin durumlarını kontrol edebilmemiz için aşağıda belirtilen komutu çalıştırabiliriz. Şu anda işlem yapacak olduğumuz /dev/mapper/centos-root mantıksal birimin 14GB’lik bir kapasitesi olduğunu görüntülüyoruz.

df -h
Linux Sistemler Üzerinde LVM Disk Genişletme

Adım 2:  VM’in Disk Alanını Genişletin

Hali hazırda sanal sunucu üzerindeki tanımlanan disk alanını arttırılması gereklidir. Bu işlem için en sık kullanılan sanallaştırma teknolojisi olan VMware vSphere ESXi üzerinde ilgili VM üzerine sağ tıklayarak, “Edit Virtual Settings” seçeneği seçilir. Ardından açılan pencerede “Virtual Hardware” sekmesi altında konumlanan “Hard disk 1” ifadesinin karşılığında bulundan değeri arttırabilirsiniz. Akabinde işlemlerinizi tamamladığınızda “OK” butonuna basarak değişiklikleri kaydedebilirsiniz.

Linux Sistemler Üzerinde LVM Disk Genişletme

Eğer disk alanını değiştireceğiniz alan disable konumda ise, sanal sunucu üzerinde snapshot olabilir veya vm aktif konumda iken bu işleme izin vermiyor olabilir, bu yönde kontrollerinizi sağlayabilirsiniz.

Adım 3:  Yeni Disk Boyutunu Kontrol Edin

Eklenen bu diski işletim sistemi üzerinde görüntülüyor olabilmemiz gereklidir, bunun için “fdisk -l” komutu uygulanır ve “Disk /dev/sda: XX.X GB” alanı kontrol edilir. Eğer yükseltme öncesi disk boyutu ile aynı ise aşağıdaki komut yardımıyla yeniden disk yapısı rescan işlemi uygulanır, herhangi bir yükselme olmaz ise vm’i yeniden başlatmayı deneyebilirsiniz.

echo "- - -" > /sys/class/scsi_host/host0/scan
Linux Sistemler Üzerinde LVM Disk Genişletme

Adım 4:  Yeni Disk Alanını Bölümlere Ayırın

Üzerinde çalışmış olduğumuz /dev/sda yapısında yeni bir birincil bölüm oluşturmak için “fdisk” komutunu kullanıyoruz. Mevcut durumda 4 birincil bölümünüz olmadığını ve bu yöntemin çalışmayacağını hatırlatırım.

fdisk /dev/sda

Yeni bir bölüm oluşturmak için bazı girişlerin yapılması gereklidir, Command’ın hizasında bulunan harfler elle girilmektedir. fdisk komutlarının kullanımı için “m” tuşuna basark tam listeyi görüntüleyebilirsiniz.

Yeni bir bölüm oluşturmak için “n” yazılıp, enter tuşuna basılır. (n = new anlamını taşır)

Linux Sistemler Üzerinde LVM Disk Genişletme

Oluşturulacak olan bölümün tipini seçmemiz gerekir bunun için ilk olarak “p” yazılıp, enter tuşuna basılır. (p = primary anlamını taşır)

Linux Sistemler Üzerinde LVM Disk Genişletme

Daha önceki görsellerde de görebileceğiniz gibi daha önceden /dev/sda1 ve /dev/sda2 oluşmuş olması nedeni ile, yeni bir şekilde /dev/sda3 oluşturuyor olacağız; “3” yazılıp, enter tuşuna basılır.

Linux Sistemler Üzerinde LVM Disk Genişletme

Bölümün kimliğini oluşturabilmek için aşağıdaki gibi sırasıyla “t” yazılıp, enter tuşuna basılır. Partition number alanına “3” yazılarak enter tuşuna basılır, Hex code ise “8e” yazılarak enter tuşuna basılır.

Linux Sistemler Üzerinde LVM Disk Genişletme

Yukarıdaki işlem sayesinde oluşturulan bölümün “Linux LVM” yapısına dönüştürdük. Buraya kadar yaptığımız işlemlerin geçerli olabilmesi için “w” yazılıp, enter tuşuna basılır. (w = write anlamını taşır)

Linux Sistemler Üzerinde LVM Disk Genişletme

Değişiklikleri kayıt ettikten sonra, yeni tablo üzerine bu veriler yazılır ve işletim sistemini yeniden başlatmanız konusunda bir uyarı çıkacaktır. Bu uyarıyı görüntüledikten sonra sıradaki işlemlerimize sağlıklı bir şekilde ilerlenebilmesi için sisteminizi yeniden başlatabilirsiniz.

Yeniden başlatma işleminiz tamamlandıktan sonra, “fdisk -l” komutunu girdiğinizde /dev/sda3’ün geldiğini ve boyutun ayarlandığını görüntülemiş olursunuz. Bölümleme işlemi tamamlandığına göre VMware tarafındaki arttırılan disk kapasitesini artık işletim sistemimizin tanıdığı anlamına gelir.

Linux Sistemler Üzerinde LVM Disk Genişletme

Adım 5:  Fiziksel ve Mantıksal alanları arttırma

LVM tarafında daha sonra kullanılmak üzere “pvcreate” komutunu kullanarak fiziksel alan oluşturmamız gereklidir. Bu durumda yeni fiziksel bölümümüz /dev/sda3 olacaktır.

[root@mertkarakulak ~]# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created.

NOT: Eğer alan bulunamadı şekliden hata alır iseniz, yeniden başlatmayı deneyebilir veya partprobe/partx kullanabilirsiniz.

Hemen ardından, “vgdisplay” komutunu kullanarak mevcut birim grubunun adını öğrenmemiz gereklidir. Bunun için çıktı üzerinde yer alan “VG Name” karşısında bulunan bizim sunucumuz için “centos”dir. Ancak bu sizin işlem yaptığınız sunucu üzerinde değişiklik gösterebilir buradan itibaren “centos” olarak yazılan her alanı kendi VG adınıza göre düzenlemeniz gerektirir.

Linux Sistemler Üzerinde LVM Disk Genişletme

Oluşturmuş olduğumuz fiziksel alanı volume group üzerindeki ile genişletmemiz gereklidir bunun için aşağıdaki komutu uyguluyoruz.

[root@mertkarakulak ~]# vgextend centos /dev/sda3
  Volume group "centos" successfully extended

Yukarıdaki işlem tamamlandıktan sonra “pvscan” komutu yardımıyla fiziksel alanları tekrardan tarıyoruz. Aşağıda gördüğünüz gibi fiziksel alanımız olan /dev/sda3’ün centos VG adı ile boyutunun arttığını görüyoruz.

[root@mertkarakulak ~]# pvscan
  PV /dev/sda2   VG centos          lvm2 [<15.00 GiB / 0    free]
  PV /dev/sda3   VG centos          lvm2 [<48.00 GiB / <48.00 GiB free]
  Total: 2 [62.99 GiB] / in use: 2 [62.99 GiB] / in no VG: 0 [0   ]

Sıradaki işlem ise fiziksel katmandaki alan kapasitesini -> mantıksal alan kapasitesine bölümlenmesi gereklidir bunun için öncelikli olarak “lvdisplay” komutu yardımıyla mevcut mantıksal alanları listeliyoruz.

Aşağıda görüldüğü gibi root dizini için işlem yapılacak LV Path yer almaktadır bu alanı not almakta fayda var.

[root@mertkarakulak ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                00000-0000-0000-0000-0000-0000-00000
  LV Write Access        read/write
  LV Creation host, time mertkarakulak.local, 2021-11-28 10:41:00 +0300
  LV Status              available
  # open                 1
  LV Size                13.39 GiB
  Current LE             3429
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                11111-1111-1111-1111-1111-1111-11111
  LV Write Access        read/write
  LV Creation host, time mertkarakulak.local, 2021-11-28 10:41:00 +0300
  LV Status              available
  # open                 2
  LV Size                1.60 GiB
  Current LE             410
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

Mantıksal alanı -> fiziksel alan kadar genişletmek için “lvextend” komutunu kullanıyoruz.

[root@mertkarakulak ~]# lvextend /dev/centos/root /dev/sda3
  Size of logical volume centos/root changed from 13.39 GiB (3429 extents) to 61.39 GiB (15716 extents).
  Logical volume centos/root successfully resized.

Yukarıda görmüş olduğunuz gibi 14GB kapasiteden 62GB kapasiteye kadar genişletilmiş durumdadır.

Ancak genişletilen bu alanın kullanılabilmesi için, dosya sistemi üzerinde yeniden boyutlandırma yaparak görünür konuma getirilmesi gereklidir. Bu işlem EXT tabanlı dosya sistemlerinde “resize2fs” komutu yardımı ile gerçekleştirilir. Disk hızlarınıza göre süren bu işlem 15-60sn kadar sürebilmektedir.

[root@mertkarakulak ~]# resize2fs /dev/centos/root
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/centos/root
Couldn't find valid filesystem superblock.

Yukarıdaki gibi “resize2fs” kullandığınızda superblock filesystem doğrulanamadığında alternatif olarak “xfs_growfs” komutunu kullanarak genişletebilirsiniz.

xfs_growfs /dev/centos/root
Linux Sistemler Üzerinde LVM Disk Genişletme

Adım 6:  LVM Disk Genişletme İşleminizi Doğrulayın

Bu aşamaya kadar herhangi bir hata almadan gelebildiyseniz, sorunsuz bir şekilde disk genişletmenizi tamamladığınız anlaşılır. Bu işlemi doğrulayabilmek için “df -h” komutu yardımıyla yeni disk boyutunuzu görüntüleyebilirsiniz.

Linux Sistemler Üzerinde LVM Disk Genişletme

Kullandığınız linux dağıtımının resmi web sitesi üzerinde ilgili teknik dökümanlara ulaşabilir veya işlem sırasında bir problem ile karşılaşırsanız yorumlardan, iletişim alanından bana ulaşabilirsiniz.

Veya

Linux dağıtımına ait forumlar aracılığıyla topluluk ve yetkililer ile iletişim kurabilirsiniz.

4 Yorumlar

  1. MFA

    Çok işime yaradı, teşekkür ederim

  2. Halit KARABUDAK

    Çok başarılı ve bir o kadarda aydınlatıcı teşekkürler

  3. Mahsun

    Resmen aydınlandım, teşekkür ederim 🙂

  4. Harun Demir

    Oldukça teknik, detaylı bir makale olmuş, elinize sağlık

Bir yanıt yazın