Ext (Ext2, Ext3, Ext4) Dosya Sistemi Nedir?

Ext (Extended File System/Genişletilmiş Dosya Sistemi) bir Linux işletim sisteminin ana bileşenlerinden biridir ve hızlı ve son derece güvenlidir. Ext şu anda Ext4 ile değiştirilmesine rağmen, Linux dağıtımlarında en çok kullanılan dosya sistemidir.

Ext (Ext2, Ext3, Ext4) Dosya Sistemi Nedir?

Linux Ext Dosya Sistemleri

Ext (Extended File System/Genişletilmiş Dosya Sistemi)

Ext, Linux çekirdeği için oluşturulan ilk dosya sistemidir ve Unix işletim sisteminin yapısına sahiptir. MINIX sisteminin sınırlamalarından dolayı Nisan 1992’de Rémy Card tarafından tasarlandı.

Ext, genişletilmiş dosya sistemleri serisinde ilkti ve 1993 yılında hem Ext2 hemde Xiafs tarafından kullanıldı. Ext2, Ext’in ilk serisinde meydana gelen inode ve parçalanma gibi temel sorunları çözdüğü için popüler oldu ve uzun süre kullanıldı.

Ext2 (Second Extended File System/İkinci Genişletilmiş Dosya Sistemi)

Ext2, Rémy Card tarafından Linux için genişletilebilir bir sistem olarak tasarlanan ve Linux topluluğundaki en başarılı sistem olan ve mevcut tüm Linux dağıtımları için temel olan İkinci Genişletilmiş dosya sistemidir.

Ext2, dosyalarda bulunan verilerin veri bloklarına kaydedilme stratejisini kullanır.

Bu veri bloklarının tümü aynı uzunluktadır ve bu uzunluk farklı Ext2 dosya sistemleri arasında değişse de, belirli bir Ext2 için blokların boyutuna mke2fs kullanılarak oluşturulduğunda karar verilir.

Her dosyanın boyutu tamsayı blok sayısına yuvarlanır. Blok boyutu 1024 baytsa, 1025 baytlık bir dosya iki 1024 baytlık blok içerecektir.

Tüm dosya sistemi blokları veri içermez, bazıları dosya sisteminin yapısını açıklayan bilgileri korumak için kullanılmalıdır.

Her biri bir inode veri yapısına sahip olarak tanımlayarak dosya sistemi topolojisini tanımlar.

Bir inode, bir dosyanın verilerini hangi blokların işgal ettiğini ve ayrıca dosyanın erişim izinlerini, dosyanın değiştirilme saatlerini ve dosyanın türünü açıklar.

Sistemdeki her dosya benzersiz bir inode tarafından tanımlanır ve her inode, onu tanımlayan benzersiz bir numaraya sahiptir. Dosya sistemi düğümleri inode tablolarında birlikte saklanır.

Ext2 dizinleri, dizin girişlerinizin düğümlerine işaretçiler içeren özel dosyalardır.

Ext2 Veri Yapıları

Ext2’deki boşluk bloklara bölünür ve bloklar, benzer şekilde Unix dosya sisteminin silindir gruplarına gruplar halinde düzenlenir.

Bu, harici parçalanmayı azaltmak ve çok sayıda ardışık veri okurken disk arama sayısını en aza indirmek için yapılır.

Her blok bir süper blok grubu, bitmap blokları grubu, inode bitmap’i ve ardından gerçek veri bloklarını içerir.

Süper blok, işletim sistemini önyüklemek için önemli olan önemli bilgileri içerir, bu nedenle dosya sistemindeki her bloğun her grup bloğunda kopyalar oluşturulur.

Ancak, başlangıçta dosya sisteminin ilk bloğunda bulunan yalnızca ilk kopyası kullanılır.

Tanımlayıcı grup, her grup bloğu için bitmap bloğunun, inode bitmap’in ve inode tablosunun başlangıcını saklar ve bunlar da tablo tanımlayıcı grubunda saklanır.

Her inode içinde aşağıdaki bilgiler vardır:

  • Inode numarası
  • Dosya tipi
  • Adı geçen dosyanın sahibi
  • Dosya izinleri
  • Aynı kuruluş tarihi

Dosya Sistemi Sınırları

Ext2 dosya sistemindeki bazı sınırların nedeni veri dosyası biçimi ve işletim sistemi çekirdeğidir.

Çoğunlukla bu faktörler dosya sistemi oluşturulduğunda bir kez belirlenir. 8 KB’lık blok boyutu yalnızca varsayılan alfa mimarisinde mümkündür.

Ayrıca 2 GB’den büyük dosyaları işleyemeyen birçok program vardır.

Dizin alt düzey sınırı yaklaşık 32768’dir. Bir dizindeki dosya sayısı 10.000 ila 15.000 dosyayı aşıyorsa, kullanıcı normalde işlemlerin uzun sürebileceği konusunda uyarılır.

Bir dizindeki dosya sayısı için teorik sınır 1.3 × 1020’dir, ancak bu pratik durumlarda ilgili değildir.

Ext3 (Third Extended File System/Üçüncü Genişletilmiş Dosya Sistemi)

Ext3, günlük kaydı olan üçüncü genişletilmiş bir dosya sistemidir. Şu anda yerini alan Ext4 ile değiştirilmesine rağmen, Linux dağıtımlarında en çok kullanılan dosya sistemidir.

Ext2 ile temel fark günlük kaydıdır. Bir Ext3 sistemi monte edilebilir ve bir ext2 sistemi olarak kullanılabilir.

Bir başka önemli fark Ext3’ün dengeli bir ikili ağaç (AVL tree) kullanması ve Orlov disk blok eşleştiricisini içermesidir.

Ext3 bölümleri Ext2’den farklı bir dosya yapısına sahip değildir, bu nedenle sadece Ext2’den Ext3’e geçiş yapmakla kalmaz, bunun tersi de işe yarar, özellikle bazı durumlarda kayıt defteri örneğin diskin bozuk sektörleri nedeniyle yanlışlıkla bozulursa yararlıdır.

Yani, Ext2 ve Ext3 arasında tam uyumluluk vardır, bir Ext2’yi Ext3’e veya tam tersine dönüştürebilirsiniz. Diskin biçimi aynı olduğundan Ext3 sistemini Ext2 olarak kolayca yapılandırabilirsiniz.

   Avantajları

Hızı ve ölçeklenebilirliği JFS, ReiserFS veya XFS gibi rakiplerinden daha düşük olsa da, saklanan verileri kaybetmeden veya diski biçimlendirmek zorunda kalmadan ext2’den ext3’e yükseltmenize izin verme avantajına sahiptir.

CPU tüketimi daha düşüktür ve göreceli sadeliği ve daha uzun test süresi nedeniyle diğer Linux dosya sistemlerinden daha güvenli kabul edilir.

Ext3, Ext2’ye günlük kaydı, birden çok bloğa yayılan dizinler için ağaç dizinlerini ve çevrimiçi büyümeyi ekler.

   Boyut Sınırları

Ext3, biri dosyalar ve diğeri tüm dosya sisteminin boyutu için olmak üzere iki farklı boyut sınırına sahiptir ve boyut sınırı 231−1 bloktur.

Journal/Günlük Kaydı Düzeyleri

   Journal/Günlük (Düşük Riskli)

Meta veri ve içerik dosyaları ana dosya sistemine alınmadan önce günlüğe kopyalanır. Dergi sürekli diskte olduğundan belirli durumlarda performansı artırabilir.

Diğer zamanlarda performans daha kötüdür çünkü veriler iki kez, bir kez dergiye ve bir kez de dosya sisteminin ana kısmına yazılmalıdır.

   Ordered/Düzen (Orta Risk)

Günlükte yalnızca meta veriler kaydedilir, içerik kaydedilmez, ancak ilişkili meta veriler günlükte kopyalanmış olarak işaretlenmeden önce dosya içeriğinin diske yazılması sağlanır.

Çoğu Linux dağıtımında varsayılan sistemdir. Dosya yazılırken veya başlatılırken bir voltaj düşüşü veya Panik çekirdeği varsa, günlük yeni dosyanın veya denemenin geçilmediğini belirtir, bu nedenle temizleme işlemi tarafından temizlenir.

   Writeback/Yeniden Yazma (Yüksek Risk)

Sadece meta veriler günlüğe kaydedilir ve dosyaların içeriği kaydedilmez. İçerikler, günlük güncellenmeden önce veya sonra yazılabilir.

Sonuç olarak, bir aradan önce başarıyla değiştirilen dosyalar bozulabilir. Örneğin, günlüğe kaydetmeyi bekleyen dosya şu anda olduğundan daha büyüktür ve denetimin sonunda çöp kutusuna gönderilir.

Günlük kurtarma işleminden sonra dosyaların eski sürümleri beklenmedik şekilde görünebilir. Veri ve günlük kaydı arasındaki senkronizasyon eksikliği birçok durumda hızla çözülür. JFS bu düzeyde günlük kaydı kullanır, ancak yeniden başlatma sırasında tüm gereksiz öğelerin temizlenmesini sağlar.

Dezavantajları

   İşlevsellik

Ext3, Ext2 uyumlu olduğu için, çoğu arşiv yapısı Ext2’ye benzerdir. Bu nedenle Ext3, uzantılar, dinamik inode lokalizasyonu ve blok alt konumu gibi daha yeni tasarımların birçok özelliğinden yoksundur.

Her dizin için inode başına 32 bağlantı sınırından türetilen 31998 alt dizin sınırı vardır.

Ext3, çoğu mevcut Linux dosya sistemi gibi, dosya sistemi yazmak için monte edilirken fsck tarafından kontrol edilemez.

Takılı bir dosya sistemini kontrol etmeye çalışmak, verilerin henüz diske dökülmediği yerlerde yanlış hataları algılayabilir ve bu hataları düzeltmeye çalışarak dosya sistemini bozabilir.

   Fragmentation/Parçalanma

Ext3 için dosya düzeyinde çalışan çevrimiçi bir birleştirme aracı yoktur.

E2defrag için çevrimdışı bir birleştirici var, ancak başlamadan önce Ext3’ün Ext2’ye dönüştürülmesini gerektiriyor.

Ancak sistemde açılan bitlere bağlı olarak, e2defrag verileri yok edebilir. Shake ve Defrag gibi birleştirmek için kullanıcı araçları vardır.

Shake, tüm dosyayı bir işlem olarak bularak çalışır ve bu da genellikle konumlandırıcının sürekli disk alanı bulmasına neden olur.

Ayrıca kullanılmış dosyaları diğerleriyle aynı anda yazmaya çalışır. Defrag, her dosyayı kendi üzerine kopyalayarak çalışır. Yalnızca dosya sistemi boşsa çalışırlar ve bu jenerasyon için gerçek bir birleştirme aracı yoktur.

Ext3 gibi bazı dosya sistemleri, dosyadaki diğerlerine en yakın boş blokları etkili bir şekilde bulur.

Bu yüzden bir Linux sisteminde parçalanma konusunda endişelenmenize gerek yok. Ext3, daha fazla parçalanmaya karşı dirençli olsa da, Ext3 sistemlerinin zaman içinde parçalanmasına engel olan hiçbir şey yoktur.

Sonuç olarak Ext3, Ext4’ün ardılı, bir birleştirme yardımcı programı ve dosyanın bitişik bölgelerinin uzantıları için destek içerir.

   Compression/Sıkıştırma

Sıkıştırma desteği ext3 için resmi olmayan bir yama olarak mevcuttur. Bu yama doğrudan bir e2compr portudur, ancak günlük kaydı henüz uygulanmadığından daha fazla geliştirilmesi gerekmektedir.

   Kontrol

Ext3 günlük kaydı sırasında sağlama toplamı yapmaz.

Bariyer = 1 bir montaj seçeneği olarak etkinleştirilmezse ve donanım bozuksa, ani bir donanım arızası durumunda çok kapsamlı dosya sistemi bozulması riski vardır.

Windows ve Ext3

Windows’un Ext2 veya Ext3 için yerel desteği olmamasına rağmen, bu tür dosya sistemlerine erişmek için sürücüler yüklenebilir. X86 mimarisine sahip tüm Windows sistemlerine kurulabilir.

Bu sürücü, ayrı programlar kullanmadan bölümlerin monte edilmesini mümkün kılar. Bize dosya sistemini sanki pencerelerin içindeki başka bir bölümmiş gibi gösterir.

Başka bir seçenek, Ext3 ve Ext2 içeren bir bölümdeki dosyaları görüntülemek ve kopyalamak için bir program kullanmaktır, ancak bölümü mount etmez.

Windows sisteminizde Ext dosya sistemine erişmek için kullanabileceğiniz programlar şunlardır;

  1. Ext2explore (Ext2Read)
  2. DiskInternals Linux Reader
  3. Ext2Fsd

Ext4 (Fourth Extended File System/Dördüncü Genişletilmiş Dosya Sistemi)

Bir Ext4 dosya sistemi, dosyaların meta bilgilerindeki değişiklikler ilk olarak bir günlüğe kaydedildiğinden verilerin bütünlüğünü sağlandığı için hataya dayanıklıdır.

Linux 2.6.28’den beri çekirdek yeni Ext4 dosya sistemini resmi olarak destekliyor.

Ext4 çıkış tarihi 2008’dir. Ext4, Ext2 ve Ext3’ün geliştirilmiş bir sürümüdür ve bazı önemli veri yapıları değiştirilmiştir. Ek olarak, buna sadece kayıt defteri işlevi eklenmiştir.

Ext4 daha iyi performans ve güvenilirliğin yanı sıra daha zengin özellikler de sağlayabilir.

Birkaç komut uygulayarak, diski biçimlendirmek veya sistemi yeniden yüklemek zorunda kalmadan Ext2 ve Ext3’ten Ext4’e geçiş yapabilirsiniz. Ext4 hala orijinal veri yapısını ve Ext4’ün yeni verilerdeki rolünü korumaktadır.

Ext3 şu anda 2 TB maksimum dosya boyutunun 16 TB’sini desteklerken, Ext4 1 EB (1024 TB) dosya sistemini ve 16 TB maksimum dosya boyutunu desteklemektedir.

Ext3 şu anda yalnızca 32.000 alt dizini desteklemektedir. Ext4 sınırsız sayıda alt dizini destekler.

Ext3 dosya sistemine veri yazarken, Ext3 blok eşleyicisi verileri her eşlediğinde yalnızca 4 Kb’lik bir blok ayırabilir, 100 Mb’lik bir dosya yazmak veri bloğu eşleyicisini 25.600 kez çağırır. Ve birden çok veri bloğunu eşlemek için bir MBALLOC (Multi-Block Mapper/Çok Bloklu Eşleyici) kullanır.

Gecikme Dağılımı

Ext3, mümkün olan en kısa sürede tahsis edilen blok tahsis veri stratejisini kullanır.

Ext4 ve diğer modern dosya stratejileri, blokların dağıtımında başlayan dosya bitene ve diske yazana kadar önbellekteki tahsisi mümkün olduğunca geciktirir.

Böylece veri bloklarının tüm dosya dağılımını ve performansı önemli ölçüde artırabilecek ilk iki özelliği optimize edebilirsiniz.

Hızlı Disk Kontrolü

Fsck, ilk önce çok yavaş olacaktır çünkü tüm dosya indeksini (inode) kontrol etmek zorundadır. Ext4 ise her grubun inode tablosuna, kullanılmayan inode listesi ekler.

Doğrulama Kaydı

Kayıt defterinin bir kısmı en yaygın olanıdır, ancak aynı zamanda kolayca donanım diski hatasına neden olur ve kayıt defteri veri hasarından kurtulmak daha fazla veri bozulmasına neden olur.

Ext4 kayıt fonksiyonu, performansı arttırırken güvenliği de artırmak için Damage (Hasar) ve Ext3 iki aşamalı sistemin tek bir aşamada kaydedilip kaydedilmeyeceğini belirlemek için veri kaydını kolayca doğrulayabilir.

Kayıt Defteri Kapatma

Kayıt defteri her zaman aşırı yüklenebilir. Ext4 kayıt defterini kapatmanıza izin verir, bu nedenle özel ihtiyaçları olan bazı kullanıcılar performansı iyileştirebilir.

Çevrimiçi Birleştirme

Dağıtımdaki gecikmeye rağmen, birden fazla kategori ve sınıf atamak dosya sistemi parçalanmasını azaltabilir, ancak parçalanma kaçınılmaz olarak sonuçlanır.

Ext4 birleştirme çevrimiçi olarak desteklenir ve tek tek dosyalar veya tüm birleştirme için e4defrag aracını sağlar.

Inode Özellikleri

Ext4 en büyük inode’u destekler. Ayrıca, genişletilmiş inode özniteliklerine daha fazla uyum sağlamak için düzenlenir. Ext4 ayrıca özelliklerin ve inode stoğunun hızlı bir şekilde genişlemesini destekler.

Dahili Önbellek

Performansı optimize etmek için miktarları ayarlamak üzere verileri yeniden yazmak için diske dahili önbellek ile donatılmıştır, bu nedenle dosya sistemi onay günlüğü yazmak için günlük verisinden sonra diske yazılmalıdır, önce kayıt onayı yazılırsa, kayıt defteri bozulabilir ve verilerin bütünlüğü etkilenebilir.

Ext4 varsayılan olarak bariyer tarafından etkinleştirilir, ancak tüm veriler diske yazılmadan önceki bariyer olduğunda, veriler bariyerden sonra yazılabilir.

   İlgili Yazılar


Binary Digit
Byte Nedir?
ASCII Nedir?
NTFS Dosya Sistemi
ZFS Dosya Sistemi

Add a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir