CentOS 9 LVM Disk Genişletme: Terminal Üzerinden Adımlar
CentOS 9'da disk genişletme işlemi, genellikle bir disk alanını artırmak veya mevcut bir bölümün boyutunu genişletmek için gerçekleştirilir. Bu işlem, genellikle depolama alanı yetersizliği, sanal makinelerde disk kapasitesini artırma, yeni disk ekleme veya mevcut diskleri birleştirme gibi ihtiyaçlar için yapılır. Disk genişletme işlemi uygulamaların düzgün çalışması, sistem performansının artırılması ve kaynakların verimli kullanılması için önemlidir. Özellikle log dosyaları, yedekleme, sanal sunucuların yönetimi ve RAID/LVM yapılandırmaları gibi durumlarda diski genişletmek, veri kaybı veya kesinti yaşanmadan depolama kapasitesini artırmanın ve sistemin sağlıklı çalışmasını sağlamanın etkili bir yoludur.
Depolama alanının yanlızca sanal makine ile genişletme durumunun yanında komutlarla genişletme yapılmasının sebebi, sanal makine yazılımında yapılan disk boyutu değişikliğinin işletim sistemi içinde otomatik olarak yansıtılmamasıdır. Sanal makine yönetim arayüzünden diski genişletme işlemi gerçekleştirildiğinde, fiziksel olarak disk kapasitesini artırma işlemi gerçekleştirilmektedir, ancak bu değişiklik işletim sisteminde tanınmaz ve kullanılabilir hale gelmez. İşletim sistemi seviyesinde bu alanı kullanabilmek için aşağıdaki adımları izlemek gerekir:
Disk Alanını Tanımlama ve Bölümleme: Yeni eklenen veya genişletilen disk alanının işletim sistemi tarafından tanınması ve bölümlenmesi gerekir. Bu, fdisk veya parted gibi komutlarla yapılır.
Dosya Sistemi Genişletme: Bölümleme işlemi tamamlandıktan sonra dosya sistemini (örneğin ext4 veya XFS) genişletmek gerekir. Bu, diskteki yeni alanın mevcut dosya sistemine dahil edilmesi ve kullanılabilir hale getirilmesi için resize2fs veya xfs_growfs gibi komutlarla kullanılır.
Bu işlemler, sanal makinenin disk alanını verimli bir şekilde kullanmak, veri kaybını önlemek ve disk yapısını optimize etmek için gereklidir. Yani, sanal makine üzerinden fiziksel alanı artırdıktan sonra, bu alanın işletim sisteminde doğru şekilde tanımlanması ve kullanılabilir hale getirilmesi için komutlar kullanılır.
Ön Gereksinimler:
- CentOS 9 sistemine kök erişimi.
- Disk yönetim komutları ve mantıksal hacim yönetimi (LVM) konusunda yeterli bilgi düzeyi.
- Yeterli depolama alanı.
- Veri kaybını önlemek için önemli verilerin yedeği alınmalıdır.
Not: Centos9 işletim sistemi üzerinde belirlenen işlemleri gerçekleştirebilmek için ilk olarak VMware üzerinden ‘ayarlar’ üzerinden disk ekleme işlemi gerçekleştirilir. Disk ekleme işleminden sonra işletim sisteminin tekrar başlatılması gerekmektedir. İşlemlerin devamında komut satırı kullanılacaktır.
Disk Ekleme
Disk ekleme işlemi için aşağıda gösterilen adımlar sırasıyla uygulanabilir:





Adım 1: Mevcut disk kullanımını görüntüleme ve blok aygıt bilgilerini görüntüleme
- Komut: df –h: Bu komut, dosya sisteminin disk kullanımını insan okuyabilir formatta gösterir. Hangi disklerin ne kadar alan kullandığını ve ne kadar boş alan kaldığını gösterir.
- Komut: lsblk: Bu komut, linux sistemlerinde bağlı olan blok cihazlarını (diskler ve bölümler) listeleyerek, bu cihazların boyutları, türleri ve dosya sistemleri hakkında bilgi verir. Hiyerarşik bir yapı sunması, diskler ve alt bölümler arasındaki ilişkileri görselleştirmesi disk yönetimi ve kaynak kullanımını izleme konusunda yardımcı olur.

Adım 2: /dev/sdb diskini extend için fiziksel birimler olarak hazırlama ve volume grubuna ekleme
- Komut pvcreate /dev/sdb : Belirtilen hacmi (/dev/sdb) bir fiziksel hacim (physical volume) olarak yapılandırır. Bu işlem, LVM (Logical Volume Manager) kullanarak disk alanını yönetmek için gereken ilk adımdır.
- Komut vgextend /dev/sdb : Cs isimli bir hacim grubu (volume group) üzerine belirtilen fiziksel hacmi (/dev/sdb) ekler. Bu işlem, hacim grubunun toplam kapasitesini artırarak daha fazla mantıksal birim (logical volume) oluşturma veya mevcut birimleri genişletme imkanı sağlar.

Adım 3: volume grubuna eklenen diski extend etme ve dizin alanını yeniden biçimlendirme
- Komut lvextend –l +100%FREE /dev/mapper/cs-home : Mantıksal birim olan /dev/mapper/cs-home’u genişletmek için kullanılır. Burada -l +100%FREE, mevcut fiziksel hacim üzerindeki tüm boş alanı mantıksal birime ekleyeceğini belirtir. Bu işlem, disk alanını artırır ve daha fazla veri depolamak için kullanılabilir hale getirir.
- Komut xfs_growfs /dev/mapper/cs-home: Belirtilen XFS dosya sistemini genişletir. Bu komutu kullanarak, dosya sisteminin daha önce genişletilmiş bir mantıksal birime (logical volume) veya fiziksel hacme (physical volume) göre büyütülmesi sağlanır.

Adım 4: blok id öğrenme ve /etc/fstab içerisine ekleme
- Komut blkid /dev/sdb: Belirtilen blok aygıtının (bu durumda /dev/sdb) dosya sistemine ait bilgilerini gösterir. Bu bilgiler arasında dosya sistemi tipi, UUID (benzersiz tanımlayıcı) ve etiket gibi detaylar yer alır.
- Komut nano /etc/fstab (yazdıktan sonra ctr+x): /etc/fstab dosyasını açarak içeriklerini düzenlemek için kullanılır. Burada disk ve bölümlerin hangi dizinlere monte edileceği, dosya sistemi türleri ve diğer seçenekler tanımlanır.
(Blkid ile uuid öğrenilip /etc/fstab içerisine uuid ve eklenen dizinin tanımı eklenmelidir( Uuid=id /Home xfs defaults 0 0 gibi)
- Komut reboot: Bu komut, tüm çalışan süreçleri kapatır ve sistemi yeniden başlatır.

Adım 5: /home bölümünü kaldırma
- Komut : umount /home: /home dizinindeki dosya sistemini ayırır. Eğer dizin hala kullanılmakta ise (örneğin, o dizindeki bir dosya açıkken), işlem başarısız olur ve hata mesajı alınır.
- Komut : umount -l /home: “l”, "Lazy unmount" anlamına gelir. Bu seçenek, dosya sistemini ayırır fakat işlemi hemen gerçekleştirmeyebilir. Eğer dosya sistemi hala kullanılıyorsa, ayırmayı tamamlayamaz. Aktif bağlantılar sona erdiğinde dosya sistemi güvenli bir şekilde ayrılacaktır.
- Komut : umount -f /home: komutundaki “f”, "Force" anlamına gelir. Bu seçenek, dosya sistemini zorla ayırır. Eğer dizin hala aktif olarak kullanılıyorsa, bu komut, açık dosyalar veya bağlantılar olmasına rağmen ayırma işlemini gerçekleştirmeye çalışır.

Adım 6: /home için aktif mantıksal hacmi kaldırma ve process kontrolü
- Komut ps aux : Sistemlerinde çalışan tüm süreçleri listelemek için kullanılır.
- Komut: lvremove /dev/mapper/cs-home: Belirli bir mantıksal birimi (logical volume) siler. Bu komut, /dev/mapper/cs-home yolundaki mantıksal birimi kaldırarak, üzerindeki verilerin de kaybolmasına neden olur.
- Fuser –k /-l: fuser -k komutu, belirli bir dosya veya soket üzerinde çalışan tüm süreçleri sonlandırmak için kullanılır. fuser -l ise, belirtilen dosyanın veya soketin hangi süreçler tarafından kullanıldığını gösterir. Bu komutlar, dosya veya kaynakların serbest bırakılması gerektiğinde faydalıdır.


Not: Bu adımdan sonra lsblk ile kontrol edildiğinde /home silinmiş ve sdb boşta görünmektedir:

Adım 7: Kök bölümünü genişletme
Komut: lvextend -l +100%FREE /dev/mapper/cs-root: Mantıksal birim olan /dev/mapper/cs-root'u genişletmek için kullanılır. Burada -l +100%FREE, mevcut fiziksel hacim üzerindeki tüm boş alanı mantıksal birime ekleyeceğini belirtir. Bu işlem, disk alanını artırır ve daha fazla veri depolamak için kullanılabilir hale getirilmektedir.

Adım 8 : dizin alanını yeniden biçimlendirilmesi
Komut : xfs_growfs /dev/mapper/cs-root: Belirtilen XFS dosya sistemini genişletir. Bu komutu kullanarak, dosya sisteminin daha önce genişletilmiş bir mantıksal birime (logical volume) veya fiziksel hacme (physical volume) göre büyütülmesi sağlanır.
NOT: Bu işlemler sonucunda cihaz reboot olduğu takdirde GUI erişimi olmayacaktır. Erişim kaybı yaşanmaması için aşağıdaki işlemler yukarıda verilen Adım 5’den itibaren uygulanabilir.
1.Komut : umount /home: /home dizinindeki dosya sistemini ayırır. Eğer dizin hala kullanılmakta ise (örneğin, o dizindeki bir dosya açıkken veya bir proces yürütülüyorken), işlem başarısız olur ve hata mesajı alınır.

2.Komut: lvremove /dev/cs/home: Belirli bir mantıksal birimi (logical volume) siler. Bu komut, /dev/cs/home yolundaki mantıksal birimi kaldırarak, üzerindeki verilerin de kaybolmasına neden olur.

3.Komut: mkfs.xfs /dev/cs : XFS dosya sistemini belirtilen cihaz üzerinde (bu durumda /dev/cs) oluşturur. Bu işlem, hedef cihazdaki mevcut verileri siler ve XFS formatında yeni bir dosya sistemi oluşturur.

4.Komut: lvcreate -L 20G –n /dev/mapper/cs-home cs: LVM (Logical Volume Manager) kullanarak cs adlı bir volume group (VG) içinde 20 gigabayt boyutunda bir mantıksal birim (logical volume) oluşturur. Burada "-n" parametresi ile mantıksal birime "home" adı verilmektedir.
5.Komut: lsblk : Komutunu kullanarak bu cihazların boyutları, türleri ve dosya sistemleri hakkındaki son durum bilgisini elde etmeye imkan sağlar.

6.Komut lvextend –l +100%FREE /dev/mapper/cs-root : Mantıksal birim olan /dev/mapper/cs-root’u genişletmek için kullanılır. Burada -l +100%FREE, mevcut fiziksel hacim üzerindeki tüm boş alanı mantıksal birime ekleyeceğini belirtir. Bu işlem, disk alanını artırır ve daha fazla veri depolamak için kullanılabilir hale getirir.

7.Komut xfs_growfs /dev/mapper/cs-home: /dev/mapper/cs-home üzerindeki XFS dosya sistemini büyüterek, daha fazla veri depolamak için alan sağlamaktadır.
8.Komut xfs_growfs /dev/mapper/cs-root: /dev/mapper/cs-root üzerindeki XFS dosya sistemini genişleterek, "/" için mevcut alanı artırır ve sistemin daha fazla veri ve uygulama depolamasına imkan verir.

Özetle her iki komut (7 ve 8), ilgili dosya sistemlerinin boyutunu artırarak, depolama alanını daha verimli kullanılmasına imkan sağlar.

Sonuç
/home bölümü başarıyla kaldırılmış ve kök bölümüne tahsis edilmiştir. Güncellenen disk kullanım ve blok aygıt bilgileri yapılan değişiklikleri doğrulamaktadır. Bu işlem, CentOS sistemlerinde standart disk yönetimi prosedürü olup, LVM komutları kullanılarak disk alanını etkili bir şekilde yönetmeye imkan sunmaktadır.
İşlemlerin son hali ve disklerin yeni görünümü:
