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 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
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
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.
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
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)
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)
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.
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.
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)
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.
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.
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
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.
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.
Çok işime yaradı, teşekkür ederim
Çok başarılı ve bir o kadarda aydınlatıcı teşekkürler
Resmen aydınlandım, teşekkür ederim 🙂
Oldukça teknik, detaylı bir makale olmuş, elinize sağlık