Linux dosya sistemi-EXT4 dosya sisteminin ayrıntılı açıklaması, toplamaya değer

Genel Bakış

Linux sisteminin ext2 ve ext3 dosya sistemlerinin depolama formatı, depolama birimi olarak blok kullanır ve her blok, bmap'teki biti ücretsiz olup olmadığını işaretlemek için kullanır.Blok gruplarını bölme yöntemi verimliliği artırmak için optimize edilmiş olsa da, bmap hala bir blok grubu içinde kullanılmaktadır Blok grubundaki blokları işaretlemek için. Büyük bir dosya için, tüm bmap'i taramak büyük bir proje olacaktır. Ek olarak, inode adreslemede ext2 / 3, doğrudan ve dolaylı adresleme yöntemlerini kullanır.Üç seviyeli dolaylı işaretçiler için, üzerinden geçilebilecek işaretçilerin sayısı çok çok büyüktür. Peki ext4 dosya sisteminde ne değişti?

1. EXT4 dosya sisteminin özellikleri

Ext4 dosya sisteminin en büyük özelliği ext3'e dayanıyor Yönetmek için kapsam (veya segment) kavramını kullanın. Bir ölçü, mümkün olduğunca fiziksel olarak sürekli bloklar içerir. Inode adresleme de bölüm ağacı kullanılarak geliştirildi.

Dosya sistemi kısıtlama tablosu

Varsayılan olarak, EXT4 artık EXT3'ün blok eşleme ayırma yöntemini kullanmaz, bunun yerine Kapsam tahsis yöntemini kullanır.

Aşağıda ext4 dosya sistemindeki bir dosyanın inode özniteliğine bir örnek verilmiştir: Son iki satırdaki EXTENTS'e dikkat edin.

Inode: 12 Tür: normal Mod: 0644 Bayraklar: 0x80000 Nesil: 476513974 Sürüm: 0x00000000: 00000001 Kullanıcı: 0 Grup: 0 Boyut: 11 Dosya ACL: 0 Dizin ACL: 0 Bağlantılar: 1 Blok Sayısı: 8 Parça: Adres: 0 Numara: 0 Boyut: 0 ctime: 0x5b628ca0: 491d6224 - 2 Ağu 2 Per 12:46:242018 atime: 0x5b628ca0: 491d6224 - 2 Ağu Ağu 12:46:242018 mtime: 0x5b628ca0: 491d6224 - 2 Ağu Ağu 12:46:242018 crtime: 0x5b628ca0: 491d6224 - 2 Ağu Ağu 12:46:242018 Ekstra inode alanlarının boyutu: 28 KAPSAMLAR: (0): 33409

2, Disk düzeni

Ext4 dosya sisteminin standart disk düzeni aşağıdaki gibidir:

Ext4 dosya sistemi esas olarak blok grubu 0'daki süper blok ve blok grubu tanımlayıcı tablosunu kullanır ve diğer bazı özel blok gruplarında süper bloğun ve blok grubu tanımlayıcı tablosunun fazlalık yedekleri vardır. Blok grubunda artık yedekleme yoksa, blok grubu veri bloğu bit eşlemi ile başlar. Biçimlendirilmiş disk bir Ext4 dosya sistemi haline geldiğinde, mkfs, dosya sisteminin gelecekteki genişlemesi için blok grubu tanımlayıcı tablosunun arkasına ayrılmış GDT tablo veri bloklarını ("Yedek GDT blokları") tahsis edecektir. Ayrılmış GDT tablosu veri bloğunun veri bloğu bitmap ve inode tablosu bitmap olmasından hemen sonra, bu iki bitmap sırasıyla blok grubundaki veri bloğu ve inode tablosunun kullanımını temsil eder ve inode tablosu veri bloğu depolama dosyasıdır. Veri bloğu.

Bu çeşitli bloklar arasında süper blok, GDT, blok bitmap ve Inode bitmap tüm dosya sisteminin meta verileridir.Elbette, inode tablosu aynı zamanda dosya sisteminin meta verileridir, ancak inode tablosu dosyaya bire bir karşılık gelir. Evet, inode'u dosyanın meta verisi olarak ele almayı tercih ederim, çünkü dosya sistemi gerçekten biçimlendirildiğinde, diğer inode tablolarında, karşılık gelen veriye kadar halihazırda kullanılan on veya daha fazlası dışında hiçbir veri yoktur. Dosya, inode tablosunu tahsis edecek ve dosya sistemi, dosya ile ilgili inode bilgilerini inode tablosuna yazacaktır.

3. EXT4 dosya sisteminin yapısal özellikleri

EXT4, genel yapıda EXT3'e benzer Büyük tahsis yönü aynı büyüklükteki blok grubuna dayalıdır, her blok grubuna sabit sayıda inode, olası süper bloklar (veya yedeklemeler) ve GDT tahsis edilir.

EXT4'ün inode yapısı büyük değişikliklere uğradı.Yeni bilgi eklemek için, boyut EXT3'te 128 bayttan varsayılan 256 bayta yükseltildi. Aynı zamanda, inode adresleme indeksi artık "12 doğrudan adresleme bloğu + 1 EXT3'te" kullanmıyor Birinci seviye dolaylı adresleme bloğu + 1 ikinci seviye dolaylı adresleme bloğu + 1 üçüncü seviye dolaylı adresleme bloğu "indeks modu, 4 Kapsam segment akışı yerine, her segment akışı segmentin başlangıç blok numarasını ayarlar Ve ardışık blokların sayısı (doğrudan veri alanını işaret edebilir veya indeks blok alanını işaret edebilir).

Parça akışı, aşağıdaki şeklin de düğüm bloğu kısmındaki yeşil alandır, her biri 15 bayt, toplam 60 bayttır.

EXT4 verileri sildikten sonra, dosya sistemi bitmap alanı bitlerini serbest bırakır, dizin yapısını günceller ve sırayla inode alanı bitlerini serbest bırakır.

4. EXT4, çok bloklu bir tahsis yöntemi kullanır.

Verileri depolarken, ext3'teki blok ayırıcı, bir seferde yalnızca 4KB blokları tahsis edebilir ve bir bloğu depolamadan önce bir bmap'i işaretler. Bir 1G dosyası depolandıysa ve blok boyutu 4KB ise, o zaman blok ayırıcı bir blok depolandığında bir kez çağrılacaktır, yani çağrı sayısı 1024 * 1024 / 4KB = 262144 kez ve bmap'i işaretleme sayısı da 1024 * 1024/4 = 262144 kez.

Ext4'te tahsis, blok ayırıcıyı bir kez çağırarak bir grup bitişik bloğu tahsis edebilen ve blok grubunu depolamadan önce karşılık gelen bmap'i bir kez işaretleyebilen bölüme dayanmaktadır. Bu, büyük dosyalar için depolama verimliliğini büyük ölçüde artırır.

20 yıldan fazla bir süredir, EXT dosya sistemi birçok Linux dağıtımı için varsayılan dosya sistemi olmuştur. Kararlılık, yüksek kapasite, güvenilirlik ve performans sağlamak için az miktarda bakım gerektirirler. Başka bir dosya sistemi kullanmak için zorlayıcı bir neden olmadıkça, EXT4 dosya sisteminin çoğu Linux sisteminde kullanılması gerektiğine şüphe yoktur.

Daha sonra daha fazla devop ve DBA içeriği paylaşacağım ve ilgilenen arkadaşlar buna dikkat edebilir ~

SF Wangwei: Arenada bunu kendiniz yapabilirsiniz
önceki
Ma Yunun son sözleri, öğretmen önceliği eğitim önceliğidir
Sonraki
Yurt dışı tahvil ihracı ile ilgili yeni düzenlemeler, yeni borsada işlem gören şirketlerin "başarı olmadan geri dönmesine" izin verebilir
Xianyu'da bir rapçi olarak bir ayda ne kadar kazanabilirim?
Linux sistemi inode-hard link, soft link, innodb boyutu ve bölünmesi vb. İlkelerini açıklayın.
2019 Çin (Xinji) Uluslararası Deri ve Kürk Moda Haftası açılıyor
Ali Jingdong Tigerın ağzından yiyecek almaya cesaret edin, bu dört kelimeye dayanarak her gün milyonlar kazanıyor
MySQL veritabanı JSON türünü ayrıntılı kullanım, yani yerleşik işlevlerle açıklayın
Huawei TV'yi yeniden tanımlıyor! Xiaomi'den korkuyor musunuz?
Linux komutunu açıklayın - diğer ad gelişmiş kullanımı
Xinhua Haber Ajansı bir arama motoru başlattı! Baidu'nun sonunda gidecek yeri kalmayacak mı?
Ayrıntılı önyükleme bloğu, süper blok, GDT, vb. İle Linux dosya sisteminin tüm yapısını açıklayın.
Kapanıyor! Xiamen Doğu Sporları Kongre ve Sergisi Yeni Şehri'nin en son planı ortaya çıktı! Büyük bir güzel resim dalgası geliyor
Ali 20 milyar yuan yatırım yaptı Merhaba seyahatinin "kara atı" nasıl ortaya çıktı?
To Top