Üzerinde CentOS (RHEL ya da Fedora da olabilir) kurulu olan bilgisayarınıza, yeni bir disk eklemeniz gerekirse duruma göre izleyebileceğiniz iki yol bulunmaktadır. Birincisi; eğer CentOS, LVM (Logical Volume Management) kullanıyorsa, takacağınız yeni diski LVM’ye dahil ederek varolan disk bölümünü genişletmektir. İkinci yol ise, (LVM kullanmamanız ya da partisyon genişletme işlemini tercih etmemeniz durumunda) ilgili diski yeni bir partisyon olarak sisteme eklemektir. |
Bu makale, LVM yapısına yeni bir disk ekleyerek, mevcut disk partisyonlarını değiştirmeksizin online kapasite arttırımının nasıl yapılabileceği ve LVM kullanılmaması durumunda gene ikinci bir diskin, bu sefer yeni bir disk partisyonu olarak eklenerek mount edilmesini anlatan iki ana başlıktan oluşmaktadır.
[Yöntem – 1] LVM Yapısına Yeni Bir Disk Eklemek
Bildiğiniz gibi bir çok Linux dağıtımı (RHEL 4 ve sonrası, CentOS, Fedora, Suse 9 ve sonrası) LVM (Mantıksal Hacim Yönetimi) denilen güzel bir sistem kullanmaktadır; ve LVM çoğu dağıtımın default kurulumunda kullanılmaktadır.
LVM, sistem üzerinde disk kümesi ya da kümeleri oluşturmaya olanak sağlayan bir disk yönetim sistemidir. LVM kullanarak, mevcut disk bölümü üzerinde online olarak yeniden boyutlandırma yapılabilir.
Elinizde default olarak kurulmuş bir CentOS varsa, disk yönetimi LVM üzerinden yapılıyor demektir. Bu durumda, yeni diski halihazırda yapılandırılmış olan LVM’ye dahil edebilir, böylece varolan disk bölümünün genişletilmesini sağlayabilirsiniz.
Örneğin, üzerinde 80GB’lik tek bir disk bulunan bir CentOS’unuz var ve diskin tümü sistemin kök dizini (/) için kullanılan tek bir disk bölümüne ayrılmış olsun (CentOS’u default kurduysanız durum bu olacaktır.) Zaman içinde 80GB’lik alanın yetmemeye başlarsa LVM imdadınıza yetişir ve bilgisayara takılan ikinci bir diskin var olan disk bölümüne eklenmesine olanak sağlar. Böylece daha önceden 80GB olan kök dizininiz ikinci bir 80′lik diskin eklenmesi ile 160GB’ye çıkabilecektir.
Kısaca LVM birden fazla diski tek bir disk bölümü olarak kullanmanıza olanak sağlayacaktır. Bu nedenle LVM disk yönetim işlemlerinde çok büyük kolaylıklar sağlamaktadır.
Uygulama
Bu işlemi aşağıdaki yönergeleri izleyerek kolayca yapabilirsiniz.
UYARI: Disk yapılandırma işlemleri, ne yaptığınızı tam olarak bilmemeniz durumunda, datanızın kaybolması ile sonuçlanabilecek problemlere neden olabilir. Dolayısı ile burada anlatılan işlemleri üretim ortamında çalışan bir sunucu vs. üzerinde denemeden önce test ortamınızda denemenizi tavsiye ederim. |
İşleme başlamadan önce LVM ile ilgili biraz daha teorik bilgi vermek yerinde olacaktır. Zira yazıda LVM ile ilgili bir çok terim geçecektir.
Yukarıda da tekrarladığım gibi disklerin kümelendirilmesine olanak sağlayan bir sistem olan LVM’nin mantığı şu şekildedir.
LVM, Volume Group (VP) denilen bir volüm (hacim) gurubu ve bu guruba dahil edilmiş Physical Volume (PV) denilen fiziksel volumlerden ve Logical Volume (LV) denilen mantksal volümlerden oluşur. Bu terimlerin mealleri şöyledir:
- Volume Group (Hacim Gurubu): En üstte bulunan bu katman, fiziksel ve mantıksal volüm’leri içine almaktadır. Yani fiziksel disklerin kümelendiği alan burasıdır.
- Physical Volume (Fiziksel Hacim): PV ise fiziksel aygıtlardan (disk) ve disk bölümlerinden oluşan kısımdır.
- Logical Volume (Mantıksal Hacim): LV olarak kısaltılan bu terim, disk ve ya disk bölümlerinin formatlanmasından sonra ortaya çıkan dosya sistemi içeren (mesela ext3 ile formatlanmış kök dizini /) yapıya verilen isimdir.
Yani var olan bir LVM’ye yeni bir disk eklemek isterseniz, önce yeni bir disk bölümü (partition) oluşturmalı sonra bu disk bölümü için yeni bir fiziksel volüm oluşturup en tepedeki volüm grubuna dahil etmelisiniz. Sonrasında da var olan mantıksal volümü yeni disk bölümünü kapsayacak şekilde genişletmelisiniz.
Bizim yapacağımız da tam olarak budur.
İşte işlem adımları:
Diski Sisteme Takın ve Durumdan Emin Olun
Öncelikle, diskinizi bilgisayara takıp sistemin bu yeni diski gördüğünden emin olun. Bu iş için dmesg log dosyasına göz atabilirsiniz:
[root@lvm ~]# more /var/log/dmesg
Ben test ortamı olarak üzerinde CentOS 5.2 kurulu ve 15GB’lik tek bir diske sahip bir vmware guest kullandım, bu gueste 10GB boyutunde yeni bir disk ekledikten sonra disklerle ilgili dmesg çıktısı şu şekilde oluştu.
hda: VMware Virtual IDE Hard Drive, ATA DISK drive hdb: VMware Virtual IDE Hard Drive, ATA DISK drive hdc: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive hda: max request size: 128KiB hda: 31457280 sectors (16106 MB) w/32KiB Cache, CHS=33288/15/63, UDMA(33) hda: hda1 hda2 hdb: max request size: 128KiB
hdb: 20971520 sectors (10737 MB) w/32KiB Cache, CHS=22192/15/63, UDMA(33) hdb: unknown partition table
Mavi ile belirtilen satırlarda da görüldüğü gibi, yeni disk hdb ismi ile sistem tarafından tanınmış durumda. Ancak henüz herhangi bir disk bölümleme işlemi yapılmadığı için “unknow partition table” uyarısı verilmiş.
Not: Disklerin SCSI olması durumunda, disk isimleri sda, sdb vs. olarak görüntülenecektir. Dolayısı ile aşağıda verilen komutları kendi disk isminize göre düzenledikten sonra çalıştırın.
Şimdi pvscan komutunu çalıştırarak halihazırdaki fiziksel volume durumuna bakalım.
[root@lvm ~]# pvscan PV /dev/hda1 VG VolGroup00 lvm2 [14.88 GB / 0 free] Total: 1 [14.88 GB] / in use: 1 [14.88 GB] / in no VG: 0 [0 ]
Görüldüğü gibi VolGroup00 isimli volume grubuna (VG), fiziksel volume (PV) olarak sadece 1. disk olan hda diski dahil durumda.
Buradaki VG disk ya da disklerden oluşan Volüm Grubunu Temsil ediyor, PV olarak geçen fiziksel volüm ise fiziksel disk ya da disk bölümlerini temsil ediyor. Benim örneğimde 15GB’lik 1. diskin hepsi fiziksel volume olarak eklenmiş durumda.
df çıktısı ise şöyle:
[root@lvm ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00 14G 1.1G 13G 8% /
/dev/hda1 99M 18M 77M 19% /boot
tmpfs 125M 0 125M 0% /dev/shm
Default bir CentOS kurulumunda oluşan bir disk bölümleme yapısında, kök dizini (/) VolGroup00 volüm grubuna dahil LogVol00 isimli bir Logical (Mantıksal) Volüm’e atanmış.
Fdisk ile Yeni bir Disk Bölümü (Partition) oluşturmak
Takip edilecek ikinci adım, yeni takılan disk için fdisk kullanarak bir disk bölümü oluşturmaktır. Yeni diskin sadece bir kısmını disk bölümü olarak tanımlayabileceğiniz gibi, bu örnekte yapıldığı şekli ile diskin hepsini tek bir bölüm olarak tanımlayabilirsiniz.
Sistemin hdb olarak gördüğü disk için bir disk bölümü oluşturalım:
[root@lvm ~]# fdisk /dev/hdb
Açılan komut satırında takip etmeniz gereken adımlar şunlar.
- Önce “add new partition” anlamına gelen n tuşuna basın.
- İkinci adımda, bölümün primary mi extended mi olacağı sorulacaktır. p diyin.
(Aslında extended olması için e tuşuna da basabilirsiniz.) - Bölüm numarasını 1 olarak belirleyin. (2, 3, 4 de diyebilirsiniz.)
- Bu adımda, diskin başlangıç ve biriş noktalarının ne olmasını istediğiniz sorulacaktır, enter diyerek default değerlerle devam edin.
- Bölüm oluşturulduktan sonra t tuşuna basıp ilgili disk bölümünün tipini LVM olarak set etmek için 8e yazıp enter’a basın.
- En son olarak w tuşuna basıp yapılan değişikliğin partisyon tablosuna kaydedilmesini sağlayarak çıkın.
Disk bölümü oluşturuldu. İlgili disk bölümünü /dev dizini altında görebilirsiniz. Çıktı şuna benzer olarak görüntülenmelidir.
[root@lvm ~]# ls -l /dev/hdb*
brw-r----- 1 root disk 22, 65 May 14 15:10 /dev/hdb
brw-r----- 1 root disk 22, 66 May 14 15:10 /dev/hdb1
Görüldüğü gibi disk bölümü hdb1 ismi ile oluşturulmuş durumda. Dolayısı ile bir sonraki adıma geçebiliriz.
Physical Volume (Fiziksel Hacim) Oluşturma
Şimdi /dev altında bulunan hdb1 disk bölümünü fiziksel bir volüme çeviriyoruz.
[root@lvm ~]# pvcreate /dev/hdb1
Böylece, volüm grubuna eklenebilecek bir fiziksel volüm elde ettik.
Sıradaki adıma geçebiliriz.
Yeni Physical Volumü, Volüm Grubuna Eklemek
Benim test için kullandığım vm guest’in üzerindeki CentOS tamamen default kuruluma sahip, daha önce default kurulumlarda disk yapılandırması için LVM kullanıldığını söylemiştim. İişte bu tip kurulumlarda, Volum Group’un ismi VolGroup00 olarak veriliyor. Ancak volüm grubunuzun ismi değişik olabilir, bu nedenle vgdisplay komutundan yararlanım, tam ismi öğrenebilirsiniz.
[root@lvm ~]# vgdisplay
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 14.88 GB
PE Size 32.00 MB
Total PE 476
Alloc PE / Size 476 / 14.88 GB
Free PE / Size 0 / 0
VG UUID Z3jhaS-XzOJ-py5H-KofF-qnZV-ZAcN-VcPwm2
Görüldüğü gibi volüm grubunun ismi VolGroup00 olarak geçiyor ve VG size 1. diskimizin total boyutu olan 15GB, bu durumda aşağıdaki komut ile hdb1 fiziksel volum’u VolGroup00 dölümüne ekleyeceğiz:
[root@lvm ~]# vgextend VolGroup00 /dev/hdb1
Artık volume group’u iki adet disk dahil olmalı. Durumu kontrol etmek için pvscan komutunu kullanalım.
[root@lvm ~]# pvscan PV /dev/hda1 VG VolGroup00 lvm2 [14.88 GB / 0 free] PV /dev/hdb1 VG VolGroup00 lvm2 [9.97 GB / 9.97 GB free] Total: 2 [24.84 GB] / in use: 2 [24.84 GB] / in no VG: 0 [0 ]
Komutun çıktısında da görüldüğü üzere, VolGroup00′a iki adet PV (fiziksel volüm) dahil durumda.
Yeni disk bölümüni volüm gruba dahil ettiğimize göre artık bu yeni disk alanını (PV) eski disk alanıyla birleştirebiliriz.
Yeni Disk Alanını, Logical Volüm’e Dahil Etmek
Şimdi elimizde, volum gruba dahil edilmiş 10GB ( tam olarak 9.97 GB) büyüklüğünde bir disk space var. Bu disk space’i bilgisayarın kök dizinini (/) barındıran Logical Volüm’e dahil edeceğiz. Bu işi yapabilmek için Logical Volüm’ün ismini bilmeniz gerekir. Daha önceden yukarıda verilmiş olan df çıktısına tekrar bakarsak bu ismi öğrenebiliriz.
[root@lvm ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00 14G 1.1G 13G 8% /
/dev/hda1 99M 18M 77M 19% /boot
tmpfs 125M 0 125M 0% /dev/shm
Mavi olarak işaretlenen ibarede görüldüğü üzere root (/) dizinini tutan logical volumü’ün ismi LogVol00 (default isim).
İsmi öğrendiğimize göre, yeni disk alanını buraya ekleyebiliriz.
[root@lvm ~]# lvextend -L+9.97G /dev/VolGroup00/LogVol00
Not: Dikkat ettiysenize 10GB’lik disk alanım olmasına rağmen logical volüm’e ekleme işleminde 9.97GB ibaresini kullandım. (pvscan komutunun çıktısında hdb1 diski için 9.97GB belirtiliyordu.) Bunun nedeni disk blocklarından yola çıkılarak yapılan hesaptır. Dolayısı ile sisteminize 40GB disk ekleyip extend işlemini tam 40GB olacak şekilde yapamayabilirsiniz. Kendi diskinizin tam size’ını öğrenmek için pvscan komutunun çıktısını inceleyiniz.
Artık, son adıma geçebiliriz.
Dosya Sisteminin Online Olarak Yeniden Boyutlandırılması
Son olarak yapılması gereken iş, hali hazırda 15GB olarak görünen root (/) dizinine ait logical volüm’ü yeni eklediğimiz diski de kullanabilmesi için yeniden boyutlandırmaktan ibaret.
Dosya sistemini yeniden boyutlandırmak için kullanılması gereken komut, hangi dosya sisteminin kullanıldığı ile alakalıdır. Eğer ext3 dosya sistemi kullanıyorsanız, resize2fs ya da ext2online komutlarından biri ile yapabilirsiniz. Örneğin eğer sisteminiz reiserfs ise de resize_reiserfs komutunu kullanabilirsiniz. Dediğim gibi ben default kurulmuş bir CentOS 5.2 kullanıyorum ve bunun için resize2fs kullanacağım.
Komut şu şekilde:
[root@lvm ~]# resize2fs /dev/VolGroup00/LogVol00
Bu komut ile dosya sistemi online olarak yeniden boyutlandırılır ve sonuç olarak aşağıdaki gibi bir çıktı alırsınız.
resize2fs 1.39 (29-May-2006) Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required Performing an on-line resize of /dev/VolGroup00/LogVol00 to 6258688 (4k) blocks. The filesystem on /dev/VolGroup00/LogVol00 is now 6258688 blocks long.
İşlem tamamlandı; şimdi tekrar df komutu ile disk durumunu kontrol edelim.
[root@lvm ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 24G 1.1G 21G 5% / /dev/hda1 99M 18M 77M 19% /boot tmpfs 125M 0 125M 0% /dev/shm
Evet görüldüğü gibi root dizini artık toplamda 24GB. Böylece LVM sayesinde iki adet fiziksel diski tek bir disk bölümü için kullanmış olduk.
LVM yapısı gerçekten de yüksek disk kapasitesi gerektiren her türlü durumda, epey kullanışlı bir sistem.
Son olarak LVM olmaksızın izleyebileceğiniz diğer bir yöntemden bahsedeceğim.
[Yöntem – 2] Diski Ayrı Bir Bölüm Olarak Mount Etmek
Yeni diski sisteminize LVM’ye dahil etmeden, yeni bir disk bölümü olarak da kullanmak isteyebilirsiniz. Örneğin, yeni diski sacece backup amaçlı kullanmak istiyor ve bu diski yedekleme işleminden sonra bilgisayardan çıkartmak istiyor olabilirsiniz ya da işletim sisteminizin LVM desteği yoktur. İşte böyle durumlar için basitçe, yeni diski yeni bir disk bölümü olarak sisteme ekleyerek mount etme yolunu seçebilirsiniz.
Bu yöntemde, basitçe, fdisk ile yeni bir disk bölümü oluşturacağız ve ext3 dosya sistemi kullanacak şekilde formatladıktan sonra /mnt altında disk2 ismi ile mount edeceğiz ve sistem açılışlarında otomatik mount edilmesi için bu disk partisyonunu fstab dosyasına ekleyeceğiz.
UYARI: Disk yapılandırma işlemleri, ne yaptığınızı tam olarak bilmemeniz durumunda, datanızın kaybolması ile sonuçlanabilecek problemlere neden olabilir. Dolayısı ile burada anlatılan işlemleri üretim ortamında çalışan bir sunucu vs. üzerinde denemeden önce test ortamınızda denemenizi tavsiye ederim. |
İşe başlamadan önce, diski taktıktan sonra diskin sistem tarafından algılandığına emin olun. Bu işlem için, yukarıda anlatılan birinci yöntemin ilk maddesine bakabilirsiniz.
Fdisk ile Disk Bölümü (Partition) Oluşturmak
Benim test makinamda yeni IDE diskin ismi hdb olarak geçmekte ve bu diskin hepsini kullanarak tek bir partition oluşturacağım bu nedenle komutu şu şekilde çalıştırıyorum:
[root@lvm ~]# fdisk /dev/hdb
Açılan komut satırında takip etmeniz gereken adımlar şunlar.
- Önce “add new partition” anlamına gelen n tuşuna basın.
- Bölümün primary olacağını belirtmek için p tuşuna basın. (Aslında extended olması için e tuşuna da basabilirsiniz.)
- Bölüm numarasını 1 olarak belirleyin.
- Diskin başlangıç ve biriş noktalarının ne olmasını istediğinizi belirtir soruya, enter diyerek default değerleri verin.
- En son olarak w tuşuna basıp yapılan değişikliğin partisyon tablosuna kaydedilmesini sağlayarak çıkın.
İşlem tamamlandıktan sonra. yeni disk bölümünü /dev dizini altında şu şekilde görebilirsiniz:
[root@lvm ~]# ls -l /dev/hdb*
brw-r----- 1 root disk 22, 65 May 14 15:10 /dev/hdb
brw-r----- 1 root disk 22, 66 May 14 15:10 /dev/hdb1
Görüldüğü gibi bölüm hdb1 olarak durmakta.
Disk Bölümünün Formatlanması
Ben diski ext3 dosya sistemine göre formatlayacağım; bu nedenle mkfs.ext3 komutunu kullanıyorum:
[root@lvm ~]# mkfs.ext3 /dev/hdb1
İşlem sorunsuz olarak tamamlandıysa bu disk bölümünü mount edebiliriz.
Diskin Mount Edilmesi
Mount işlemini disk2 ismi ile yapacağımı belirtmiştim, bu nedenle ilgili dizini açıyorum:
[root@lvm ~]# mkdir /mnt/disk2
Sonrasında da mount ediyorum.
[root@lvm ~]# mount /dev/hdb1 /mnt/disk2
İşlem tamamlandığına göre df komutu ile kontrol ettiğiniz de yeni diski /mnt/disk2 dizinine mount edilmiş olarak göremeniz gerekir.
Son olarak fstab dosyasına bu diski ekleyelim ve açılışlarda otomatik mount edilsin.
Yeni Disk Bölümünün fstab’a Eklenmesi
/etc altında duran fstab dosyanı editleyip en altına aşağıdaki satırı ekliyorum.
/dev/hdb1 /mnt/disk2 ext3 defaults 0 0
Bu adımdan sonra işimiz bitmiş oluyor. Böylece ikinci bir diski, sisteme yeni bir dizin altında mount etmiş olduk. Bu yöntem LVM yöntemi gibi esneklikler sağlamasa da insanın işi herzaman düşebilir.
One Reply to “CentOS ’a Yeni Bir Disk Eklemek Örnekler”
Merhabalar,
Oldukça detaylı ve güzel bir makale anlatımınız için gerçekten çok teşekkür ederim.