Linux İşletim Sistemlerinde LVM Disk ve Dosya Sistemi Yapılandırması

LinuxAllBu makalemizde Linux İşletim sistemlerinde Disk ve Dosya sistemi yönetimini inceleyeceğiz. Bu makalemizde disk yönetimi için “Logical Volume Manager” kullanacağız. Ayrıca dosya sistemi ve disk yönetimi için çeşitli uygulamaları inceleyeceğiz.

Logical Volume Management (LVM) Nedir ?

LVM, modüler disk veri kümesi veya kümeleri oluşturulmasını, böylelikle de istenildiğinde mevcut disk alanı üzerinde  istenilen boyutlandırmanın yeniden yapabilmesini sağlar. Disk alanının yetersiz kaldığı durumlarda LVM ile oluşturulan disk veri kümesine kolaylıkla yeni disk veya disk bölümleri ilave edebilir, ihtiyaca göre disk alanı şekillendirilebilir. Özellikle büyük disk alanı ihtiyacı olan sistemlerde LVM ile disk veri kümeleri oluşturularak ya da sisteme yeni bir disk daha eklenerek toplam disk boyutu arttırılabilir veya sistemde pasif durumda olan bir disk bölümü aktif disk kümesine dahil edilebilir. Aynı zamanda mevcut disk bölümlerinin boyutları değiştirilebilir. Yapılacak fiziksel veri alanı değişikliklerinden sistemin mevcut haritası hiçbir şekilde etkilenmez ve yeni tanımlar yapmaya gerek kalmaz. Bir örnek ile ifade edilirse; sistemde /home için ayrılmış 100 GB’lık ve /var için ayrılmış 2GB’lık alanlar olsun. Zamanla /var için ayrılan disk alanın yetersiz gelmeye başladığı düşünülsün. Bu durumda  /home alanında kullanılmayan yeterli boş alan varsa bu alan /var bölümüne aktarılabilir ve mevcut alan kolayca yeniden boyutlandırılabilir. Aynı şekilde /home için ayrılan alan yetmemeye başladığı zaman da sisteme eklenecek yeni bir disk ile bu bölüm için kullanılabilir veri alanı arttırabilir. Yedekleme (Mirror) yapılan sistemlerde kullanılan disk veri alanları genelde birden fazla diskin LVM veya aynı işi yapan başka yapılarla birleştirilerek veri kümesi oluşturulması ile sağlanır.

LVM, hacim grubu (vp) ve bu grubun içinde fiziksel hacim (pv) ve mantıksal hacimlerden (lv) oluşur.

Volume Group (VG)

Hacim grubu, fiziksel ve mantıksal hacimleri içine alan üst düzey bir katmandır.

Physical Volume (PV)

Fiziksel hacim adından da anlaşılacağı üzere fiziksel aygıtlardan (disklerden) veya 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.

LVM’nin Limitleri

LVM  bir takım limitler içerir. Ancak bu limitler günümüzde bile kolay aşılabilecek ve problem oluşturabilecek limitler değildirler. Ayrıca bu limitler çekirdeğin sınırlarına, fiziksel ve mantıksal birim boyutlarına göre de sistemden sisteme farklılık gösterebilir.

Makine başına oluşturulabilecek maksimum hacim grubu (VG) sayısı 99 ‘dur.

Her hacim grubu içinde olabilecek maksimum fizisel hacim sayısı 256 dır. Tek bir LVM boyutu varsayılan 4 MB fiziksel birim değeri ile maksimum 255.99 GB olabilir. Bu değer kullanılan sistemin özelliğine göre 2 TB hatta istenildiğinde 1 Petabyte ‘a kadar çıkabilir.

Her fiziksel hacim grubu yine varsayılan 4 MB’lık fiziksel birim değeri ile maksimum 262 GB olabilir. Yani her fiziksel hacim grubu maksimum 65534 tane fiziksel birim içerebilir bu da varsayılan 4 MB’lık değer ile 65534*4 = 262 GB ‘a denk gelir.

Dosya Sistemi Nedir ? (File System)

Disk üzerindeki dosyaların düzenlenmesini ve bir işletim sisteminde dosyaların izlerinin bulunmasını sağlayan yapıya Dosya Sistemi (File System) denir. Bir disk üzerinde dosya sistemi oluşturmadan önce, o disk eski haline döndürülmeli ve gereken bilgiler diske yazılmalıdır. Bu işleme dosya oluşturma denir.

Superblock : Dosya sisteminin boyutu gibi, bütünü hakkında bilgiler içeren bölüm. Dosya sisteminin büyüklüğü, başlangıç ve bitiş adresleri, inode tablosu, boş blok tablosu, veri bloklarının başlangıç adresleri gibi bilgileri saklar. Superblock aynı zamanda dosya sisteminin düzgün olarak kalmasını sağlar, yapısı herhangi bir nedenle bozulursa bozukluğu giderebilecek yazılımların çalışmasını sağlar.

Inode : Dosyanın ismi dışında bütün bilgilerini içeren bölümdür. Dosyanın ismi, dosya düğümünün numarasıyla birlikte bulunur. Dosya düğümü, veri bloklarının da numaralarını içerir. Bir dosya düğümünde belli sayıda veri bloğu için yer vardır. Daha fazla alana ihtiyaç duyulması durumunda dosya düğümünde dinamik olarak yeni bir yer ayrılır.

Veri Bloğu : Dosyalardaki bilgilerin depolanmasını sağlayan kısımdır.

  • Logical Volume Management (LVM)

1. “LVM” de kullanılan komutlar ve görevleri aşağıdaki gibidir.

-- LVM'de Kullanılan Komutlar ve Görevleri

-- "pvcreate" sisteme diski veya bölümü fiziksel olarak tanıtır.
Genellikle  fdisk'ten sonra kullanılır.

# pvcreate /dev/sdb1

-- "pvdisplay" fiziksel tanımlı diskleri ve bölümleri ekrana listeler.

# pvdisplay 

-- "pvremove" fiziksel tanımlı diskin veya bölümün tanımını iptal eder.

# pvremove /dev/sdb1

-- "vgcreate" hacim grubu oluşturur.

# vgcreate vg0 /dev/sdb1 /dev/sdb2

-- "vgextend" hacim grubuna disk veya bölüm ekler.

# vgextend vg0 /dev/sdc

-- "vgreduce" hacim grubundan disk veya bölüm çıkartır.

# vgreduce vg0 /dev/sdc
-- "vgremove" hacim grubununu kaldırır.

# vgreduce vg0

-- "vgdisplay" hacim grubunu listeler.

# vgdisplay vg0

-- "vgcfgbackup" mevcut hacim grubunun ayarlarını bir dosyaya yedekler.

# vgcfgbackup vg0

(Ayarlar /etc/lvm/backup dizini altına yedeklenir.) 

-- vgcfgrestore mevcut hacim grubunun ayarlarını dosyadan düzenler.

# vgcfgrestore vg0

-- "lvcreate" tanımlı mantıksal gruptan disk alanı oluşturur.

Örnek : /dev/vg0/lv_name isimli 40Gblık mantıksal sürücü oluşturmak için

# lvcreate -n lv_name -L40GB vg0

-- "lvdisplay" mantıksal sürücüleri ekrana listeler.

# lvdisplay

-- "lvremove" mantıksal sürücüleri kaldırır. 

# lvremove /dev/vg0/lv_name

-- "lvreduce" tanımlı mantıksal sürücülerden blok siler.

# lvreduce -L-10GB /dev/vg0/lv_name

(10GBlik alanı iptal eder.) 

-- "lvextend" tanımlanmış mantıksal sürücüye blok ekler.

# lvextend -L+10GB /dev/vg0/lv_name

(10GBlik alan ekler.) 

-- "lvmdiskscan" Sistemdeki tüm diskleri listeler.

# lvmdiskscan

2. Örnek olarak LVM kullanarak disk yapılandırmamızı inceleyelim. Sistemimize atanmış olan bir diski LVM kullanarak önce “Volume Group”, “Pyhcisal Volume” ve “Logical Volume” olmak üzere yapılandıralım.

-- Kullanacağımız diskimizde "partition table" oluşturuyoruz. komut sonrası aşağıdaki
girişleri yapıyoruz.

-- (n, p, 1, enter, enter, w)

# fdisk /dev/sdb

Command (m for help): n

primary partition (1-4) p

Partition number (1-4): 1

First cylinder (1-652, default 1): 

Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): 

Command (m for help): w
The partition table has been altered!

-- Öncelikle disklerimizi listeliyoruz.

# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1

Burada gördüğümüz "sda" disklerimiz önceden kullandığımız işletim sistemi
ile gelen disklerimizdir. "sdb" ise sistemimize yeni takılmış diskimizdir.
Bu diski yapılandırıp kullanabilir hale getireceğiz.

-- Öncelikle "Pyhsical Volume" oluşturuyoruz.

# pvcreate /dev/sdb
Physical volume "/dev/sdb1" successfully created

-- Diskimizi bağlayacağımız bir Volume Group oluşturuyoruz.

# vgcreate vg_krykey /dev/sdb1
Volume group "vg_krykey" successfully created

-- "vg_krykey" volume grup içinde bir tane data1 isimli disk oluşturuyoruz.

# lvcreate -n lv_data1 -L1GB vg_krykey
Logical volume "lv_data1" created

-- Oluşturduğumuz "Volume Group" ları listelemek için aşağıdaki komutu 
kullanıyoruz.

# vgdisplay
  --- Volume group ---
  VG Name               vg_krykey
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               5.00 GiB
  PE Size               4.00 MiB
  Total PE              1279
  Alloc PE / Size       256 / 1.00 GiB
  Free  PE / Size       1023 / 4.00 GiB
  VG UUID               sE5T92-3CCj-2cZO-BWyc-1noM-VkhK-B4Jhnw

-- "Volume Group" altındaki disklerimizi göremek için aşağıdaki komutu
kullanabiliriz.

# pvscan
PV /dev/sdb    VG vg_krykey     lvm2 [5.00 GiB / 4.00 GiB free]

-- Oluşturduğumuz diskleri aşağıdaki komutla listeleyebiliriz.

# lvscan
  ACTIVE            '/dev/vg_krykey/lv_data1' [1.00 GiB] inherit

-- Diskimizi "ext4" file system ile formatlıyoruz.

# mkfs.ext4 /dev/vg_krykey/lv_data1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376

Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

-- Formatlamış olduğumuz diskimizi bağlayacak bir dizin yaratıyoruz.

# mkdir /data1

-- Diskimizi oluşturduğumuz dizine "mount" ediyoruz.

# mount /dev/mapper/vg_krykey-lv_data1 /data1

-- Sistemimiz açıldığında otomatik mount etmesi için "fstab" dosyasına
aşağıdaki girdileri yapmalıyız.

/dev/mapper/vg_krykey-lv_data1 /data1                 ext4    defaults        0 0

3. Sistemimizde bulunan “Logical Volume”, “Volume Group” ve “Pyhciscal Volume”leri silmek için aşağıdaki adımları izlemeliyiz.

-- Disklerimizi ve "Volume Group" ları kaldırmak için aşağıdaki sırasıyla aşağıdaki
adımları izlemeliyiz.

-- Öncelikle kaldıracağımız diskimizi "umount" ediyoruz.
# umount /data1

-- Logical Volume kaldırmak için 
(Sadece bir disk kaldıracaksak bu adımı uygulamalıyız.)

# lvremove /dev/vg_krykey/lv_data1
Do you really want to remove active logical volume lv_data1? [y/n]: y
Logical volume "lv_data1" successfully removed

-- Volume Group kaldırmak için (Tüm volume group ve bağlı diskleri kaldıracaksak
aşağıdaki adımı uygulamalıyız.

# vgremove vg_krykey

-- Pyhsical Volume kaldırmak için
(Sistemimizdeki diski LVM kullanımı dışına çıkartacaksak bu adımı uygulamalıyız.)

# pvremove /dev/sdb
Labels on physical volume "/dev/sdb1" successfully wiped

-- Kaldırma işlemi tamamlandı. Aşağıdaki komut ile durumu sorgulayabiliriz.

# vgdisplay

4. Sistemimizde bulunan bir diskle veya yeni takılan bir diskle mevcut alanlarımızı genişletmek için aşağıdaki adımları izlemeliyiz.

-- Öncelikle ekleyeceğimiz diskimizi sorguluyoruz.

# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb

-- Burada "sdb" isimli diskimiz mevcut "Volume Group" ekleyeceğimiz disktir.

-- "Volume Group" sorguluyoruz.

# vgdisplay
  --- Volume group ---
  VG Name               vg_koraykey
  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               99.51 GiB
  PE Size               4.00 MiB
  Total PE              25474
  Alloc PE / Size       25474 / 99.51 GiB
  Free  PE / Size       0 / 0   
  VG UUID               iBHPHX-4MC0-bvWQ-3sOV-0Rb4-lYcS-3Uac3B

-- "vg_koraykey" volume grubumuza yeni takdığımız diskimizi ekleyeceğiz.

-- Öncelikle diskimizde "fdisk" komutu ile "partition table" yaratıyoruz.

-- (n, p, 1, enter, enter, w)

# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x1c26daf1.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-652, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): 
Using default value 652

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

-- Disklerimizi yeniden sorguluyoruz.

# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1

-- "sdb1" isimli oluşan diskimizi mevcut "vg_koraykey" volume grubumuza
ekliyoruz.

# vgextend vg_koraykey /dev/sdb1
No physical volume label read from /dev/sdb1
Physical volume "/dev/sdb1" successfully created
Volume group "vg_koraykey" successfully extended

-- "Volume Group" sorguluyoruz ve "Free" alanımızın 0 dan 4.99 GB çıktığını
görüyoruz.

# vgdisplay
  --- Volume group ---
  VG Name               vg_koraykey
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               104.50 GiB
  PE Size               4.00 MiB
  Total PE              26752
  Alloc PE / Size       25474 / 99.51 GiB
  Free  PE / Size       1278 / 4.99 GiB
  VG UUID               iBHPHX-4MC0-bvWQ-3sOV-0Rb4-lYcS-3Uac3B

-- Şimdi atadığımız bu diskimizdeki 4.99 GB alanı "lv_root" isimli diskimize
ekleyelim.

# lvextend -L+4.99GB /dev/vg_koraykey/lv_root
  Rounding size to boundary between physical extents: 4.99 GiB
  Extending logical volume lv_root to 100.50 GiB
  Logical volume lv_root successfully resized

-- "Volume Group" sorguluyoruz ve 99.51 GB alanımızın 104.50 GB çıktığını görüyoruz.
# vgdisplay
  --- Volume group ---
  VG Name               vg_koraykey
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               104.50 GiB
  PE Size               4.00 MiB
  Total PE              26752
  Alloc PE / Size       26752 / 104.50 GiB
  Free  PE / Size       0 / 0   
  VG UUID               iBHPHX-4MC0-bvWQ-3sOV-0Rb4-lYcS-3Uac3B

5. Sistemimizde bulunan bir diski küçültüp boşa çıkan alanı başka bir diske veya boşa çıkan alanla yeni bir “Logical Volume” oluşturmak istiyorsak aşağıdaki adımları izlemeliyiz.

-- Öncelikle Volume Group sorguluyoruz.

# vgdisplay
  --- Volume group ---
  VG Name               vg_koraykey
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               104.50 GiB
  PE Size               4.00 MiB
  Total PE              26752
  Alloc PE / Size       26752 / 104.50 GiB
  Free  PE / Size       0 / 0   
  VG UUID               iBHPHX-4MC0-bvWQ-3sOV-0Rb4-lYcS-3Uac3B

-- Bir "Logical Volume" 4.99 GB alanı boşa çıkartalım.

# lvreduce -L-4.99GB /dev/vg_koraykey/lv_root

  Rounding size to boundary between physical extents: 4.99 GiB
  WARNING: Reducing active and open logical volume to 95.51 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_root? [y/n]: y
  Reducing logical volume lv_root to 95.51 GiB
  Logical volume lv_root successfully resized

-- Çıkarttığımız 4.98 GB alan ile yeni bir "Logical Volume" oluşturalım.

# lvcreate -n lv_data -L4.98GB vg_koraykey
  Rounding up size to full physical extent 4.98 GiB
  Logical volume "lv_data" created

-- Çıkartığımız 4.98 GB alanı varolan bir "Logical Volume" eklemek için

# lvextend -L+4.98GB /dev/vg_koraykey/lv_data
  Rounding size to boundary between physical extents: 4.98 GiB
  Extending logical volume lv_data to 100.50 GiB
  Logical volume lv_data successfully resized

6. LVM için yaptığımız ayarları yedeklemek veya geri dönmek için aşağıdaki adımları izlemeliyiz. Burada verileri değil sadece LVM ayarlarını yedekle veya geri dönmektedir.

-- Ayarlarımızı yedeklemek için
( "/etc/lvm/backup" dizini altına yedeklenir.)

# vgcfgbackup vg_koraykey
  Volume group "vg_koraykey" successfully backed up.

-- Ayarlarımızı yedekten dönmek için

# vgcfgrestore vg_koraykey
  Restored volume group vg_koraykey

7. LVM ile diskimizi değilde “swap” alanımızı genişletmek istiyorsak “Linux İşletim Sistemlerinde Swap Alanı Yönetimi” yazımızın “C” başlığından faydalanabilirsiniz.  Ayrıca LVM aracına grafik arayüzden erişmek için “System>Administration>Logical Volume Management” yolunu izleyebiliriz.

  • Dosya Sistemi (File System)

1. Dosya sisteminde genel olarak en çok kullandığımız “ext4” dosya sistemini inceleyeceğiz.

Ext4 ile Gelen Yenilikler

Ext4 dosya sisteminin; sabitdisk, dosya boyutu, dosya ve klasör sayısı büyük olan sistemleri desteklemesi en büyük avantajıdır. Gelişen teknoloji ile veri boyutları hızla artmakta, sosyal ağlar, veri tabanları ve birçok alt yapı terabayt büyüklüğünde verilerle uğraşmaktadır. Ext4 dosya sistemi bu yönden geleceğin dosya sistemi olarak görülmektedir.

Uyumluluk (Compatibility)
Tüm ext3 dosya sistemleri ext4 dosya sistemine birkaç komut satırı ile geçirilebilmektedir. Tekrar biçimlendirme yapmaya veya işletim sistemini yedeklemeye gerek yoktur. Fakat bölüm eşleme işlemi sırası haricinde ext4 dosya sistemi ext3 dosya sistemine dönüştürülemez.

Büyük Dosya/Sistemleri (Bigger File System/File Sizes)
Ext3 kullanıcıya, dosya sistemleri için en fazla 16 terabayt, dosya boyutunda ise en fazla 2 terabaytlık bir izin verir. Ext4 dosya sistemi ile 24 bitlik blok adres kayıtları 48 bite çıkarılmıştır. Ext4, ext3’e göre daha geniş dosya tutma kapasitesine sahiptir.

Ölçeklendirilebilir Alt Klasör Desteği (Subdirectory Scalability)
Ext3 dosya sisteminde tek bir klasör 32000 adet alt klasöre sahip olabilir iken, ext4 ile bu limit 64000’e çıkarılmıştır. Ayrıca komut yardımıyla bu sınırın arttırılmasına imkan sağlanmıştır. Böylece büyük boyutlu yapılarda dosyalama için klasör sayısı engeli esnetilmiştir.

Yazma Belleği Kaydı (Extents)
Ext3 gibi görece eski Unix türevli dosya sistemlerinde verinin yazıldığı bellek alanları düzensiz ve karmaşık bir yapıdadır, dosyalar sıralanmadan bir şekilde tekli bellek gözlerine yazılmaktadır. Bu durum büyük boyutlu dosyalar için kullanışsızlık teşkil etmektedir. Çünkü büyüyen dosya boyutu, dosyanın yazımı için gereken bellek gözlerinin de çoğalmasına sebep olacaktır. Ext4 ile kullanılan yeni bellek kayıt (data mapping) sisteminde veri sıralı bellek bloklarında tutulur. Örneğin 300 MB’lık yeni bir verinin kaydı için 300MB’lık verinin sığacağı tek bir göz ayrılır. Bu işlem; okuma, yazma ve aramada performans artışı sağlar.

Çok Sayıda Bellek Ayırma (Multi Block Allocation)
“Mballoc” mekanizması çok sayıda bellek alanının (disk bloklarını) tek bir işlemde yazma için ayrılmasıdır. Ext3 dosya sisteminde yazma işlemi, boş bellek bloklarının teker teker bulunup yazılacak dosya için ayrılması işlemi, işlemci (CPU) üzerinde çok fazla iş demektir. “mballoc” mekanizması ile dosya bellek ayırma ve dosya yazma işlemlerinde işlemcinin aşırı kullanımı önlenir.

Ertelemeli Bellek Ayırma (Delayed Allocation)
Bu tip bellek ayırma işleminde büyük boyutta olan veriler geçici bir tampon belleğe alınarak verilerin dosya sistemine kaydı için bellek ayırma işlemi kısa bir süre ertelenir. Doğru alan bulunduğunda bellek ayrılarak, tampon bellekte tutulan bu veriler sisteme yazılır. Çekirdek bu geçici (düzensiz) dosyaları daha sonra silecektir. Yüksek boyuttaki verileri kümelerinin anlık olarak tampon belleğe  alınması işlemci yükünü azaltır. Böylece bellekleme daha hızlı bir şekilde ve kesintisiz olarak gerçekleşir.

Nanosaniyede Bir Dosya Bilgisi Kaydı (Nanosecond Inode Timestamps)
Klasörlerin tipi, o klasöre ait kullanıcı ve grup hakları, klasöre ait bağlantıların (hard link) bilgisi, klasöre ait son erişim zamani ve son değişiklik zamanı, diskte tuttuğu alan gibi bilgileri kaydeden dosya işaretçisi (inode) saniyenin milyarda biri hassaslığında kayıt tutar hale getirilmiştir.

Günlük Dosya Değişiklik Kaydı (Journal Checksumming)
Daha önceden kaydedilen günlük (journal) dosyaları kontrol edilerek dosya sisteminin güvenilirliği ölçülür. Zarar görmüş veya hatalı işlem sonucu bozulan dosyaların tespiti yapılır. Değiştirilen dosyalar ve bağlantılar tekrar kayda alınır.

Hızlı Dosya Kontrolü (Fast Fsck)
Dosya sisteminde bulunan dosya işaretçileri (inodes) fazlalaştığında açılma işlemini ve dosya sisteminin kullanımını yavaşlatır. Ext3 dosya sisteminin aksine ext4 dosya sistemi bu işaretçilerin fazla, gereksiz veya aynı yere işaret eden biribirinin kopyası işaretçileri temizler. Böylece bir sonraki dosya sistemi kontrolünde (fsck) ve dosya işlemlerinde hız artışı sağlanır.

Hızlı Açılma (Fast Boot) İşlemi
Ext3 dosya sistemine göre daha hızlı açılır. AMD 64bit işlemci, 2 GB DDR 400 RAM, 160 GB 7200 RPM sabitdisk üzerinde ext3 dosya sistemi ile 27.7 saniyede, aynı makina üzerinde sadece dosya sistemi ext4 yapıldığında ise 24.68 saniyede açılmaktadır.

2. Mevcut bir diskimizi “ext4” dosya sistemi ile formatlamak için aşağıdaki komutları kullanmalıyız.

-- Diskimizi "ext4" dosya sistemi ile formatlamak için

# mkfs.ext4 /dev/vg_koraykey/lv_data
(# mkfs.ext4 /dev/sdb1) şeklinde kullanılabilir. Kullandığımız disk yapısına göre 
karar verebiliriz.

mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1308672 blocks
65433 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

3. Mevcut bir diskimizi “ext3” dosya sisteminden “ext4” dosya sistemine yükseltme yapmak için aşağıdaki adımları uygulamalıyız.

-- Diskimizde bulunan "ext3" dosya sistemine "ext4" dosya sistemine yükseltmek için

# tune2fs -O extents,uninit_bg,dir_index /dev/vg_koraykey/lv_data
tune2fs 1.41.12 (17-May-2010)
Please run e2fsck on the filesystem.

-- Yükseltme işlemi sonrası dosya sistemimizi kontrol etmemiz gerekmektedir.
Kontrol işlemi için

# e2fsck /dev/vg_koraykey/lv_data
e2fsck 1.41.12 (17-May-2010)
One or more block group descriptor checksums are invalid.  Fix<y>? yes

4. Dosya sistemimizi kontrol etmek için aşağıdaki adımları izlemeliyiz. Bu adımdaki işlemlerimizi mount edilmemiş disklerde yapabiliriz.

# umount /lv_data
# e2fsck /dev/vg_koraykey/lv_data
e2fsck 1.41.12 (17-May-2010)
One or more block group descriptor checksums are invalid. Fix<y>? yes

5. Sistemimizde bulunan bir diski bir dosya sistemine “mount” veya “umount” etmek için aşağıdaki adımları izlemeliyiz.

-- Mount edeceğimzi dizini yaratıyoruz.

# mkdir /data

-- Yarattığımız dizine diskimizi mount ediyoruz.

# mount /dev/mapper/vg_koraykey-lv_data /data

-- umount etmek için aşağıdaki komutu kullanıyoruz.

# umount /data

-- Bir cdrom sürücü vb. mount etmek için aşağıdaki komutu kullanıyoruz.

# mount /media/cdrom

-- Sistemimiz açıldığında otomatik mount etmesi için "fstab" dosyasına aşağıdaki 
girdileri yapmalıyız. 

/dev/mapper/vg_koraykey-lv_data /data ext4 defaults 0 0

Bu makalemizde “Linux İşletim Sistemlerinde LVM Disk ve Dosya Sistemi Yapılandırması”nı inceledik. Ayrıca disklerimizde “header” vb. yapılandırma işlemleri için “Linux İşletim Sistemlerinde Disk Header ve ASM Disk Header Yapılandırması” makalemizi inceleyebilirsiniz.

Başka bir makalede görüşmek üzere…

Bu yazı Unix / Linux kategorisine gönderilmiş ve , , , , , , , , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.