Linux OS olan sistemlerde disk yapısı Windows disk yapısına göre biraz daha karmaşık görünebilir. Aslında görünenin aksine daha elastik ve daha kullanışlı bir yapıdadır. Linux sistemlerde temel disk komutlarının başında fdisk gelir. Varolan diskler üzerinde kontrol yapmak istiyorsak fdisk komutu kullanılır. Fdisk –l ile genel yapıyı görmek için, İşlem yapmak istediğimiz bir partition için ise fdisk –l /dev/sdb gibi bir komut ile veriler kontrol edilir.
Eğer fdisk komutunu parametresiz kullanırsak fdisk /dev/sda şeklinde bizden komut bekleyen bir ekran ile karşılaşırız.
Burda m tuşlanarak yardım menüsüne ulaşılır (İlk kullanım için tavsiye edilir)
m: yardım menüsü
p: disk bölüm tablosu
n: yeni disk bölümü oluşturmak için
a:boot bölümünün olduğu sistem disk bölümü oluşturmak için
d: bölüm silmek için
l:disk bölümlerini listelemek için
q: çıkış yapmak için
w: değişiklikleri kaydedip çıkmak için
Badblocks
Disk üzerinde hatalı blokları denetlemek ve tespit etmek için kullanılır
Hatalı bloklar var ise bu fsck ile onarılır, Örnek olarak
Fdisk –l ile diskler listelenir fsck komutu ile denetlenir onarılır
Fsck komutu kullanılmadan önce dikkat edilmesi gereken önemli nokta
Disk umount edilmelidir.
Logical Volume Management (LVM) Nedir ?
LVM yapısı ise disk veri kümesi veya kümeleri oluşturulmasını sağlayan istenildiğinde disk alanı üzerinde istenilen boyutlandırmayı rahatlıkla yapılabilmesini sağlayan bir yapıdır.
Linux işletim sistemleri için mantıksal hacim yöneticisidir. LVM sayesinde birden fazla diski tek bir disk bölümü olarak kullanabiliriz. Bu disk yönetimi işlerinde bize çok büyük yarar sağlar. Örneğin;
/etc için ayrılmış 50 gb olsun /var için ayrılmış 20 gb olsun /var için ayrılmış olan 20 gb kapasitesi dolduğunda /etc için ayrılmış olan 50gblık alanın boş kısmından ekleme yapılabilir. Bu gibi esneklik sayesinde mevcut disk yapıları değiştirilebilir swap edilebilir.İşte bunların hepsi LVM disk yapısı sayesinde olmaktadır.
LVM volume group(VG) ve bu grup veya grupların içinde bulunan fiziksel hacim(pv) ve mantıksal hacimlerden(lv) oluşmaktadır
Volume group – hacimsel grup(VG)
Fiziksel ve mantıksal hacimleri (pv – lv) içeren üst düzey katman
Makine başına oluşturabilecek maximum hacim grubu (VG) 99
Pysical Volume –fiziksel hacim(PV)
Fiziksel disk bölümlerinden oluşan kısımdır.
Logical Volume (LV)
Disk bölümlerinin karşılığıdır. Dosya sistemi içerir
File System –Dosya Sistemi
Disk üzerindeki dosyaların düzenlenmesi ve izinlerinin bulunmasını sağlayan yapıdır.
Bazı Komutlar
pvcreate
Linux sistemine diski fiziksel olarak tanıtma komutu
Örnek ;
pvcreate /dev/sdc2
pvdisplay
Fiziksel tanıtılan diskleri listeler
pvremove
Fiziksel tanımlı diski iptal eder
Vgcreate
Volume group oluşturur
Vgextend
Volume group disk ekler
Vgreduce
Volume group ‘tan disk çıkartır
Vgremove
Volume group kaldırır
Vgdisplay
Volume groupları listeler
Lvdisplay
Mantıksal sürücüleri listeler
Lvcreate
Tanımlı mantıksal alandan disk oluşturur
Örnek; 40gb mantıksal sürücü oluşturmak için /dev/centos/unify
Lvcreate –n unify –L40Gb centos
Lvremove
Mantıksal sürücüleri kaldırır
Lvreduce
Mantıksal sürücülerden blok siler
Lvreduce –L-20GB /dev/centos/unify
(20 gblık alanı iptal eder)
Lvextend
Tanımlı mantıksal sürücüye blok ekler
Lvextend –L+10Gb /dev/centoss/unify
Lvmdiskscan
Tüm diskleri listeler
Şimdi bu komutlar doğrultusunda sunucumuza bir disk ekleyelim ve bunu sistemi kapatmadan tanıtalım
Bu extend işlemini Vmware Workstation Üstünde göstereceğim o yüzden çalışan bir sistemin kapanmaması için varolan disk üstünden değil yeni bir disk ekleyerek yapacağım bu işlemi
ESX 5.5 ve üzerinde siz bu işlemi aynı disk üzerinde yapabilirsiniz.
Birinci adım sistemi kontrol edelim. Canlı bir sistemde bu işlemi yapıyorsak snapshot ve gerekli yedeklemeleri yapalım.
Gördüğünüz gibi /dev/sda1 ve /dev/sda2 olarak 2 partition gözükmektedir
Devam ediyoruz 20 Gb bir disk daha ekledim
Şu an sistemde yeni bir disk gözükmemektedir.
Sistemi yeniden başlatmadan diskin görünmesi için aşağıdaki komutu giriyoruz
echo "- – -" > /sys/class/scsi_host/host0/scan
Ardından fdisk –l komutu ile gördüğünüz gibi /dev/sdb 21.5 gb alan gözükmektedir,
Diski kullanılabilir hale getirmemiz lazım.
fdisk /dev/sdb
ardından n basılır
ardından p basılır primary seçilir
partition numarası için 1 seçilir örneğin sdb1
bu aşamada sector seçilmektedir başlangıç sectoru default seçilmeli Enter basılır
bitiş sektörü default seçmek için yine Enter basılır
disk kullanılabilir halde
Ls /dev/sd* komutu ile diskler görüntülenir
Ama burda unuttuğumuz bir nokta var disk yapısını lvmye dahil edeceğimiz için bölüm tipini belirlememiz gerekiyor
Yeniden fdisk /dev/sdb yapıyoruz
Ardından bölüm tipi için t ye basıyoruz
Tüm Hex kodları için L ye basalım
Linux LVM Hex kodu 8e olduğu için 8e yazıyoruz
W basıp kaydet diyip çıkıyoruz
Fdisk –l ile kontrol edelim
Yeni eklediğimiz disk yapısı artık LVM yapısına uygun hale getirildi.
Diskimizi bağlayacağımız bir Volume group oluşturacağız.
vgcreate vg_unify /dev/sdb1
Vgdisplay ile oluşturulan grupları görebiliriz
Vg_unify grubu içinde birkan isimli 2 gb bir disk oluşturalım
Lvcreate –n lv_birkan –L2GB vg_unify
lvdisplay ile kontrol edelim
Fdisk komutu ilede genel özete bakalım
Volume grup altındaki disklerimizi görmek için ise pvscan komutunu kullanalım
Gördüğünüz gibi vg_unify 18gb free alana sahip halen
Volume group altında ise disk oluşturmayı gördük ve bu diski formatlayalım ext4 olarak formatlamayı seçtim ben
mkfs.ext4 /dev/vg_unify/lv_birkan
Formatladığımız diski bağlayacağımız bir dizin yaratıyoruz
Unutmayın Linux sistemlerde herşey bir dosya yapısıdır.
mkdir /birkan
mount /dev/vg_unify/lv_birkan birkan
Başlangıçta otomatik mount olması için /etc/fstab ‘a aşağıdaki gibi girdiyi girmeliyiz
nano /etc/fstab
/dev/vg_unify/lv_birkan birkan ext4 defaults 0 0
Kaydet diyip çıkalım.
Burdaki işlemde yeni bir volume group oluşturduk içinde yeni bir disk oluşturduk o diski sisteme mount ettik ve kalıcı olmasını sağladık.
Geri kalan Linux disk yapısını verimli bir biçimde kullanalım.
Vgdisplay komutu ile kontrol sağlayalım
Oluşturdugumuz lv grubundan 1 gb azaltalım olayı daha kavramak için.
lvreduce -L-1GB /dev/vg_unify/lv_birkan
Şu an 1 gb kapasiteye düştü
Eklediğimiz diski aynı volume group altında extend işlemi için aşağıdaki adımları uygulayalım
Öncelikle eklediğimiz diskleri umount edelim
umount birkan/
lvremove /dev/vg_unify/lv_birkan
Vg_unify silelim
vgremove vg_unify
Centos adlı Vgyi ikinci eklediğimiz /dev/sdb1 ile extend edelim
vgextend centos /dev/sdb1
Ardından root Lv sini extend edelim
lvextend -l +100%FREE /dev/centos/root (boşta kalan tüm alanı kullandırmak içi +100%FREE yazılır)
LVM yapısında diskler ile istediğimiz gibi ekleme çıkartma yapabiliyoruz.
df –kh yaptığımızda diskin kullanılabilir alanını tamamen göremiyoruz
Bunun için ise df –hT komutu ile disk tipini görüntüleyelim
Gördüğünüz gibi xfs tipinde bir lv görülmektedir.
xfs_growfs /dev/mapper/centos-root komutuyla kullanılabilir alanın tamamını ekleyelim
Görmüş olduğunuz gibi diskin tamamı kullanılabilir haldedir.
Özetle bu makalede
· Fdisk kullanımı
· Yeni disk ekleme ve fiziksel disk olarak tanıtma
· Yeni bir diski sunucuyu restart etmeden tanıtma
· Yeni eklenen disk türünü LVM yapısına uygun hale getirme
· Logical Volume Management(LVM) yapısı ve LVM komutları
· Yeni bir Volume Group (VG) oluşturma
· Logical Volume(LV) oluşturma
· İsteğe bağlı boyutta Logical Volume oluşturma
· İsteğe bağlı Logical Volume kapasite düşürme
· Oluşturulan Logical Volume disk türünü değiştirme
· Oluşturulan Logical Volume mount etme başlangıçta otomatik mount durumuna getirme
· Oluşturduğumuz Logical Volume ve Volume Group silme
· Eklediğimiz diski varolan Volumegroup ekleme ve extend etme
Faydalı olması dileğiyle.