Ayrıntılı önyükleme bloğu, süper blok, GDT, vb. İle Linux dosya sisteminin tüm yapısını açıklayın.

Genel Bakış

Bugün esas olarak Linux sisteminin dosya sistemini tanıtıyoruz, bir göz atalım ~

Dosya sistemi bileşimi

İnternette görülen eksiksiz bir dosya sistemi şeması aşağıdaki gibidir:

Her şeyden önce, aşağıda ayrıca tanıtılacak olan çeşitli Boot Block, Super Block, GDT ve Reserver GDT kavramları yer almaktadır.

Daha sonra şekil, blok grubunun her bir parçası tarafından işgal edilen blokların sayısını gösterir 1 bloğu işgal ettiği tespit edilebilen süper blok, bmap ve imap dışında, diğer bölümlerin birkaç bloğu işgal ettiği belirlenemez.

Son olarak, şekil Superblock, GDT ve Reserved GDT'nin aynı anda göründüğünü ve her blok grubunda olması gerekmediğini, ayrıca bmap, imap, inode tablosu ve veri bloklarının her blok grubunda mevcut olduğunu gösterir.

1. Önyükleme bloğu

Yani, yukarıdaki şekilde önyükleme sektörü olarak da bilinen Önyükleme Bloğu bölümü. Bölümdeki ilk blokta bulunur ve 1024 bayt yer kaplar.Bütün bölümlerde bu önyükleme sektörü bulunmaz. Yalnızca işletim sisteminin kurulu olduğu birincil bölüm ve işletim sisteminin kurulu olduğu mantıksal bölüm. Önyükleme yükleyicisi de içinde depolanır Bu önyükleyici, VBR (işletim sistemi ana bölüme yüklendiğinde) veya EBR (işletim sistemi genişletilmiş bölüme yüklendiğinde) olarak adlandırılır. Önyükleyici ve mbr üzerindeki önyükleme yükleyicisi araya eklenir. Başlatma sırasında, önce önyükleyiciyi mbr'ye yükleyin ve ardından işletim sisteminin bulunduğu bölümün önyükleme sunucusunu bulun ve önyükleme yükleyicisini buraya yükleyin. Çoklu sistem ise, işletim sistemi menüsü mbr'deki bootloader yüklendikten sonra listelenecek ve menüdeki işletim sistemleri bulundukları bölümün önyükleme sektörüne işaret edecek.

Ancak, bu şekilde işletim sistemi menüsü uzun süredir terk edilmiştir ve önyükleme menüsünü yönetmek için grub kullanılmaktadır. Bununla birlikte, işletim sistemini kurarken, önyükleyici kurulum konumunu seçmek için hala bir adım vardır.

2. Süper kilit

Bir dosya sistemi birden fazla blok grubuna bölündüğünden, dosya sistemi kaç blok grubunun bölündüğünü nasıl bilir? Her blok grubunda kaç tane blok ve inode numarası vardır? Ayrıca, dosya sisteminin kendisinin öznitelik bilgileri, örneğin çeşitli zaman damgaları, toplam blok sayısı ve serbest sayılar, toplam sayı ve serbest inode sayıları, mevcut dosya sisteminin normal olup olmadığı, kendi kendine kontrol ne zaman olduğu vb. Orada saklanıyor mu?

Hiç şüphe yok ki bu bilgiler blokta saklanmalıdır. Bu bilgilerin depolanması 1024 bayt alır, bu nedenle bir blok da gereklidir.Bu bloğa süper blok denir ve blok numarası 0 veya 1 olabilir. Blok boyutu 1K ise, önyükleme bloğu tam olarak bir blok kaplar. Blok numarası 0'dır, bu nedenle süper blok sayısı 1'dir. Blok boyutu 1K'dan büyükse, önyükleme bloğu ve süper blok aynı bloğa yerleştirilir. 0. Kısaca, süper bloğun başlangıç ve bitiş konumu ikinci 1024 (1024-2047) bayttır.

Her dosya sisteminin süper bloğu, df komutu kullanılarak okunur, bu nedenle istatistikleri çok hızlıdır. Aksine, daha büyük bir dizinin kullanılan alanını görüntülemek için du komutunu kullanmak çok yavaştır, çünkü tüm dizindeki tüm dosyaları taramak kaçınılmazdır.

Süper blok, dosya sistemi için çok önemlidir ve süper bloğun kaybı veya hasarı, kaçınılmaz olarak dosya sisteminin zarar görmesine yol açacaktır.

3. Blok Grup Tanımlayıcı Tablosu (GDT)

Dosya sistemi blok gruplarına bölündüğünden, her blok grubunun bilgileri ve öznitelik meta verileri nerede saklanır?

Ext dosya sisteminin her blok grubu bilgisi 32 bayt ile tanımlanır.Bu 32 bayta blok grup tanımlayıcıları denir.Tüm blok gruplarının blok grup tanımlayıcıları bir grup tanımlayıcı tablosu (GDT) oluşturur.

Her blok grubunun, blok grubunun bilgilerini ve öznitelik meta verilerini kaydetmek için bir blok grubu tanımlayıcısına ihtiyaç duymasına rağmen, blok grubu tanımlayıcısı her blok grubunda depolanmaz. Ext dosya sisteminin depolama yöntemi: onları bir GDT'de oluşturmak ve GDT'yi bazı blok gruplarında depolamaktır.GDT'yi depolayan blok grubu, süper bloğu ve yedek süper bloğu depolayan blok ile aynıdır, yani aynı anda belirli bir blokta görünmeleri anlamına gelir. Bir blok grubunda. Okurken, her zaman Grup0'daki blok grubu tanımlayıcı tablo bilgilerini okuyun.

4KB blok boyutuna sahip bir dosya sistemi 143 blok grubuna bölünürse ve her blok grubu tanımlayıcısı 32 bayt ise, GDT'nin 143 * 32 = 4576 bayta, yani iki bloğa ihtiyacı vardır. Tüm blok gruplarının blok grubu bilgileri bu iki GDT bloğuna kaydedilir ve GDT'yi depolayan blok grubundaki GDT'lerin hepsi aynıdır.

Aşağıdaki şekil bir blok grubu tanımlayıcısının bilgilerini gösterir (dumpe2fs aracılığıyla elde edilir).

4. Ayrılmış GDT (Ayrılmış GDT)

GDT, genişletmeden sonra çok fazla blok grubunu önlemek için dosya sisteminin ileride genişletilmesi için ayrılmıştır, bu da blok grubu tanımlayıcısının GDT'yi depolayan blokları aşmasına neden olur. GDT ve GDT'nin her zaman aynı anda görünmesini sağlayın, elbette süper blok olarak aynı anda da görünür.

Örneğin, ilk 143 blok grubu GDT'yi depolamak için 2 blok kullanıyordu, ancak şu anda ikinci blokta hala çok yer var.Kapasite belirli bir ölçüde genişletildiğinde, 2 blok artık blok grup tanımlayıcılarını kaydedemez, bu yüzden yapmanız gerekir Fazla blok grubu tanımlayıcısını depolamak için bir veya daha fazla ayrılmış GDT bloğu ayırın.

Yeni eklenen GDT bloğu nedeniyle, bu GDT bloğu, GDT'yi aynı anda kaydeden her blok grubuna eklenmelidir, böylece ayrılmış GDT ve GDT'yi aynı blok grubunda depolamak, rezerve edilmiş GDT'yi düşük kullanmadan doğrudan GDT'ye dönüştürebilir. Etkili çoğaltma, GDT'yi depolayan her blok grubuna yedekleme anlamına gelir.

Aynı şekilde, yeni eklenen GDT'nin her blok grubundaki süper bloktaki dosya sistemi özniteliklerini değiştirmesi gerekir, böylece süper blok ve Ayrılmış GDT / GDT'yi bir araya getirmek verimliliği artırabilir.

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

Xinhua Haber Ajansı bir arama motoru başlattı! Baidu'nun sonunda gidecek yeri kalmayacak mı?
önceki
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
Sonraki
Ali 20 milyar yuan yatırım yaptı Merhaba seyahatinin "kara atı" nasıl ortaya çıktı?
On Adım-Bir veritabanı arızasıyla karşılaştıktan sonra DBA'nın yerini hızlı bir şekilde bulma
Jack Ma durup beklesin, el sıkıştı ve teşekkür etti Kim bunlar?
Mysql veritabanının WAL mekanizmasını ayrıntılı olarak açıklayın - önce günlüğü yazın, ardından diske yazın
Memur + iş baskısı! Hebeinin binlerce kişiden oluşan en son işe alımı, kaydolun
Bu teknoloji kötüye kullanımı önlemeli
Oracle veritabanının temelindeki depolamayı keşfedin - dayanıklılık ve karakter kümesi
70 Haziran'da şehir konut fiyatları açıklandı, üç acımasız gerçek bulduk
Üç genç doktor 10 gün içinde aniden öldü, arkasındaki nedenler utanç verici ...
Ayrıntılı mysql veritabanı tablo alanı yönetimi-paylaşılan tablo alanı ve bağımsız tablo alanı
2,9 milyar dolar harcayan Vipshopun hedefleri nihayet açığa çıktı
Rman'ın aynı platform ve Linux tabanlı aynı sürüm veritabanı altında taşınması (Bölüm 2)
To Top