Linux Server Disk Partitioning ve Yeni Disk Yapılandırma

Merhabalar,

Bu makalede, Linux sunuculara eklediğiniz veya ekleyeceğiniz diskleri, kullanılabilir  hale nasıl getirebileceğinize dair bilgiler aktaracağım. Linux sunucular üzerindeki önemli konulardan biri de disk işlemleridir. Muhtelif zamanlarda kapasite planlaması ya da kapasite arttırımı gibi işlemler gündeminize gelecektir. Bu durumda yeni kapasiteyi nasıl kullanılabilir hale getirebileceğinize, burada aktaracağım bilgiler ışığında karar verebilirsiniz.

Makalede yapacağımız işlemler, sırasıyla şu başlıklarda olacaktır.

  1. Yeni Disk Ekleme
  2. Yeni Partition Oluşturma
  3. Yeni Partition Üzerinde Dosya Sistemi Oluşturma
  4. Yeni Partition-Dosya Sistemlerinin Mount Edilmesi
  5. Yeni Partition’lar ve Dosya Sistemleri Üzerine Yazma Testi
  6. Yeni Partition ve Dosya Sistemlerinin Kalıcı Olarak Mount Edilmesi

Kullanacağımız komut, fdisk komutu olacaktır. Partition işlemlerimizde bu komutu kullanarak bölümlerimizi oluşturacağız. Burada aktaracağım bilgiler LVM yapılarından farklı olacaktır. İlerleyen paylaşımlarımda, LVM konusuyla ilgili de yararlı bilgileri aktaracağım. O konu biraz daha ileri seviye oluyor buradaki işlemlere göre…

Öncelikle sistemimizin disk durumunu kontrol edelim. Kaç disk var, disk kapasiteleri neler bunları bir görelim. Aşağıdaki komutla, sistem üzerindeki diskleri görebiliriz.

fdisk -l

Bakınız bu listede, sadece tek disk olduğunu ve bu donanımın /dev/sda olduğunu, kapasitesinin de 16 GB olduğunu görmekteyiz. 2 partition yapılmış, /dev/sda1 boot partition ve /dev/sdsa2 LVM olarak görünmekte. Bir de LVM altında swap partition var. LVM şu anın konusu değil.

Biz burada, sisteme yeni bir disk ekleyeceğiz ve bölümler oluşturup, formatlayıp, mount işlemlerini yapacağız.

1.   Yeni Disk Ekleme

Şimdi sisteme 30GB boyutunda yeni bir disk ekliyorum. Sistem açıkken bunu yaptım.

Aşağıdaki komutla, tekrar disk bilgilerimize bakalım.

fdisk -l

Bakınız yeni disk algılandı ve /dev/sdb olarak isimlendirildi. Şimdi bu diski yapılandırmaya başlayalım.

2.   Yeni Partition Oluşturma

Aşağıdaki komut, disk yapılandırma ara birimine giriş sağlayacak.

fdisk /dev/sdb

Eğer fdisk aracını kullanmayı bilmiyorsanız, m tuşuna basarak yardım seçeneklerini görebilirsiniz. Bu liste, size oldukça kolaylık sağlayan ve işlemlerin ne kadar basit olduğunu gösteren bir seçenekler listesi olacaktır.

Gördüğünüz gibi hangi tuşa bastığınızda, hangi işlemin yapılacağını kolaylıkla görebiliyorsunuz. Örneğin GPT tipinde bir partition table oluşturmak isterseniz, g tuşuna basmanız gerekiyor. Ben burada GPT formatlı olmasını istedim örneğin.

GPT partition table oluşturuldu.

Şimdi ne yapacağız? Yeni bir  disk bölümü oluşturalım. Belki diskin tamamını kullanmak istemiyorsunuz şu an. O yüzden, 2 bölüm oluşturarak örneklemek istiyorum.

Yukarıdaki seçeneklere baktığınızda, yeni bir partition için n tuşuna basmanız gerektiğini göreceksiniz.

Partition number enter tuşu ile geçebilirsiniz. Sırasıyla bu numaraları verecektir size sistem.

First sector olarak, sistemin size verdiği default değeri kullanın ve enter tuşuna basın.

Last sector kısmında ise, sistemin size verdiği değer için enter tuşuna basarsanız, diskin tamamını kullanmış ve tek partition yapmış olacaksınız. Biz burada 2 partition yapacağız demiştik.

Bu yüzden, sector olarak değil de istediğim bir boyut olacak şekilde +10G yazarak devam ettim. Böylesi daha kolay olacaktır. İlk partition, 10GB boyutunda bir partition olacak.

İlk partition oluşturuldu.

Şimdi ikinciyi oluşturmak üzere tekrar n tuşuna basıyoruz. Partition numarası, otomatik olarak sıradaki numara olacak. Bunu da enter tuşuyla geçebilirsiniz.

First sector enter tuşuyla devam edelim.

Last sector kısmında ise bu partition boyutunun da 5 GB olmasını istediğim için +5G olarak tanımlıyorum.

Şimdilik bunları yeterli görüyorum ve son adım olarak, bu değişiklikleri kalıcı hale getirmemiz gerekiyor. Bunun için w tuşuna basıp, bu yaptığımız ayarları kaydediyoruz.

w

fdisk -l komutuyla tekrar bakalım. Sistemde ne gibi değişiklikler olmuş görelim.

fdisk -l

Bakınız bu listede, /dev/sdb diskini ve üzerindeki partition’ların neler olduğunu, boyutlarıyla birlikte görebiliyor durumdayız.

Sistemdeki disklerin, mount edilip edilmediğini, edilmişse nereye mount edildiğini aşağıdaki komutla görebilirsiniz.

lsblk

3.   Yeni Partition Üzerinde Dosya Sistemi Oluşturma

/dev/sdb partition’larının mount point’leri görünmüyor, çünkü henüz formatlanıp mount edilmediler. Buraya kadar yaptığımız iş, sadece partition oluşturmaktı. Sıradaki işlemimiz, bir dosya sistemi oluşturmak. Yani kısacası, bu bölümleri formatlamak…

/dev/sdb1 üzerinde xfs dosya sistemi oluşturmak istiyorum. Aşağıdaki komutu kullanıyoruz.

mkfs.xfs /dev/sdb1

İşlem tamam. /dev/sdb2 üzerinde ise örneğin ext4 dosya sistemi oluşturalım.

mkfs.ext4 /dev/sdb2

4.   Yeni Partition-Dosya Sistemlerinin Mount Edilmesi

Partition oluşturuldu, her partition için dosya sistemi oluşturuldu, yani formatlandı. Şimdi bu bölümleri, sistem üzerinde istediğimiz mount point’lere mount edeceğiz.

Bunun için /mnt dizini altında örneğin data1 ve data2 adında dizinler oluşturalım. -p parametresini isterseniz kullanmayabilirsiniz. Çünkü /mnt dizini zaten sistemde var. Sistemde olmayan bir dizin belirtseydiniz -p parametresiyle komutu kullanmanız gerekiyordu. Onu da belirtmek üzere bu şekilde kullandım.

mkdir -p /mnt/data1

mkdir -p /mnt/data2

Şimdi formatladığımız /dev/sdb1 bölümünü data1 dizinine, sdb2 bölümünü ise data2 dizinine mount edelim.

mount /dev/sdb1 /mnt/data1

mount /dev/sdb2 /mnt/data2

Lsblk komutumuzla şimdi yeniden son durumun ne olduğunu gözlemleyelim.

lsblk

Artık disklerle işimiz kalmadı, mount edildikleri dizinlerin isimleri olacak şekilde kullanabiliriz. İçeriklerini görebilir olacağız.

ls -l /mnt/data1

ls -l /mnt/data2

5.   Yeni Partition’lar ve Dosya Sistemleri Üzerine Yazma Testi

Disklerin kullanım durumlarını ise aşağıdaki komutla görebiliriz.

df -h

data1 ve data2 üzerinde, yazma testi yapalım ve gerçekten kullanılabiliyor mu görelim. Bunun için dd komutlarını kullanacağım ve bir test.img dosyası oluşturacağım. Yaklaşık 4GB boyutunda zero basıyoruz bu dizinlere…

dd if=/dev/zero of=/mnt/data1/test.img bs=1024M count=4

dd if=/dev/zero of=/mnt/data2/test1.img bs=1024M count=4

Şimdi tekrar içeriklerini listeleyelim.

ls -l /mnt/data1

ls -l /mnt/data2

Kullanabilir durumdayız ve sorun yok.

6.   Yeni Partition ve Dosya Sistemlerinin Kalıcı Olarak Mount Edilmesi

Buraya kadar yaptığımız işlemler, mount işlemi dışında kalıcı işlemlerdir. Sistem reboot edildiğinde, otomatik şekilde mount durumda gelmeyecek bu partition’lar. İster manual isterseniz de otomatik mount edebilirsiniz. Bu senaryoda, özel bir nedeniniz yoksa, otomatik mount gelmesini tercih etmelisiniz.

Bunun için de fstab dosyası Üzerinde işlem yapacağız. Fstab dosyası, sistemde bulunan ve otomatik mount edilecek disklerin bilgisini tutar. Buna göre açılışta bu diskler okunur ve mount edilerek hazır hale getirilir. Yanlış bir kayıt girdiğinizde, sistem boot olamaz ve maintenance mode’a giriş için root bilgisini girmenizi ister.

Buradaki önereceğim işlem şu olur : disklerin isimlerini belirtmek yerine (/dev/sdb1 veya /dev/sdb2), bu disklerin UUID numaralarının fstab dosyasında tanımlanmasıdır. Çünkü başka bir zamanda sisteme yeni diskler eklerseniz ve disklerin sıralaması değişirse, sdb2 olarak göreceğiniz disk bölümü aynı olmayabilir bu isimlendirme değiştiği için. Dolayısıyla UUID numarasının kullanılması, nokta atışı işlem sağlar ve benzersiz bir numara olduğu için (diske özel numaradır) yanlış yapma ihtimalinizi ortadan kaldırır.

Disklerin UUID bilgisini görmek için blkid komutunu kullanıyoruz. sdb1 ve sdb2 için UUID bilgilerini not ediyoruz.

blkid

/dev/sdb1: UUID=2d2c19ca-4ca6-44bb-b3b5-0b69d41b97d5

/dev/sdb2: UUID=8c301439-acef-4fae-a15f-e4cf711c5fdc

Şimdi ise /etc/fstab dosyasını düzenleyelim.

nano /etc/fstab

Otomatik mount gelmesini istediğiniz her disk için, yukarıdaki formatta tanım yapmalısınız. Dosya sistemi tipine göre bu tanımı yapmanız gerektiğini de eklemek isterim. Sonrasında dosyayı kaydedip çıkın.

Tekrar disklerin mount point’lerini görelim.

lsblk

Bakınız artık mount point olarak, nereye mount edildiğini de görebiliyoruz. Sunucuyu reboot edip otomatik mount olup olmadığını da test edebilirsiniz.

Bu makalede, fdisk aracını kullanarak yeni partition yapılandırma işlemini inceledik. fdisk aracıyla, partition silme, partition tipini değiştirme, kullanılmayan alanları görme gibi ek işleri de yapabileceğinizi ayrıca belirtmek istiyorum. Başka bir makalede de bu konuları inceleyebiliriz.

Ek olarak, eğer disk genişletme ihtiyacı olursa, daha önce yayınlamış olduğum ve aşağıdaki linkte paylaştığım detaylı makalemi de kullanabilirsiniz. Linkteki makalede, gparted yardımcı programı ile linux sunucularınızda disk kapasitesini nasıl genişletebileceğinizi detaylıca inceledim.

Yararlı olması dileğiyle.

Yusuf İşleyen