Ce este un Superblock în Linux. Încercați să înțeleagă sistemul de fișiere exemplu ext (2 | 3 | 4), care este utilizat de Linux implicit. Dar, mai întâi, să ne ia în considerare câteva concepte simple
Unitate de sistem de fișiere
După formatarea discului sau partiția pe sectoarele de disc sunt împărțite în grupuri mici. Un astfel de grup de sectoare se numește un bloc. Dimensiunea blocului poate fi diferită și este definită ca o cheie de comandă format parametru. de exemplu
seturi cheie -B mărimea blocului, în octeți, în acest caz, mărimea blocului este 4096 bytes
Dimensiunea blocului poate fi diferit. Aceasta depinde de tipul de sistem de fișiere
- Ext2 - 1KB, 2KB, 4KB, 8KB
- Ext3 - 1KB, 2KB, 4KB, 8KB
- Ext4 - de la 1KB la 64KB
Atunci când alegeți o dimensiune a blocului trebuie să ia în considerare un număr de puncte
- Dimensiunea maximă a fișierului
- Dimensiunea maximă a sistemului de fișiere
- productivitate
Dimensiunea blocului afectează viteza de citire / scriere a discului. Imaginați-vă dimensiunea unui fișier de câteva sute de megabiți, care este citit de pe disc în blocuri de 1KB. Același fișier va fi citit mai repede în cazul în care fișierul mărimea blocului de sistem este 4KB sau 8KB. Asta este clar. Prin urmare, atunci când formatați-l are sens să solicite un bloc mai mare, dacă aveți de gând să utilizați fișiere mari
De asemenea, Reciproca este adevărată. În cazul stocării fișierelor mici, este mai bine să se folosească cantitatea minimă de unități
Linux Kernel funcționează cu mărimea blocului de sistem de fișiere, în loc de o dimensiune de sector de disc (în general 512 octeți). Este important să se înțeleagă că dimensiunea blocului de sistem de fișiere nu poate fi mai mică decât dimensiunea sectorului de disc, și va fi întotdeauna un multiplu de ea. De asemenea, nucleul se așteaptă ca fișier dimensiunea blocului de sistem este mai mică sau egală cu dimensiunea paginii de sistem
dimensiunea paginii de sistem, puteți vedea comanda
Grupuri fișier blocuri de sistem
Blocuri, din care am vorbit mai devreme RESIDENCE JUMEIRAH BEACH păstrează într-un grup de blocuri, care afectează în mod pozitiv operațiile de citire / scriere, astfel încât reduce timpul de citire / scriere a volumelor mari de date
sistem de fișiere EXT împart dospupnoe spațiu în grupuri de blocuri de dimensiuni egale. Aceste grupuri sunt aranjate secvențial, una după alta
Numărul de blocuri dintr-un grup și poate fi consecvent calculată prin formula
Uitați-vă la ieșirea de comandă mke2fs
Trebuie remarcat faptul că, așa cum sa menționat mai sus
- Dimensiunea blocului de 4096 octeți
- 800 grupuri de bloc
- 32.768 de unități din grupul (8 * 4096)
Blocuri pot fi de asemenea observate Superblock în care backup-uri sunt stocate
Deci, ce este superblocul?
Cea mai simplă definiție a superblocul ar fi următoarea declarație
Superbloc - un bloc în care este stocată metadatele sistemului de fișiere
La fel cum i-nod magazin metadate despre magazinele fișiere superblocul metadate ale sitemy fișier. Dacă dintr-o dată superblocul este corupt, nu este posibil să se monteze sistemul de fișiere. De obicei, la pornirea sistemului verifică superblocul și corectează-l, dacă este necesar, ca urmare duce la corect monta sisteme de fișiere
O parte din datele care sunt stocate în superblocul. de exemplu
- Numărul de blocuri în sistemul de fișiere
- Numărul de blocuri libere în sistemul de fișiere
- număr I-nod din grupul de bloc,
- Blocuri din grupul de bloc,
- Numărul de sistem de fișiere începe cu ultima verificare a fsck
- Sistem de fișiere UUID
- Starea sistemului de fișiere (fie corect nemontate, detectate erori, etc.)
- Tipul de sistem de fișiere
- Sistemul de operare în care a fost formatat un sistem de fișiere dat
- ultima dată când o montură
- ultima dată de înregistrare
copie primară a superblocul este stocat în primul bloc grupa. Acesta este numit în principal, deoarece acesta este citit de sistem în timpul monta sistemul de fișiere. Pe măsură ce numărătoarea inversă începe cu grupuri de bloc 0, atunci putem spune că superblocul este stocată la începutul grupului blocului 0
Superblocul este foarte critic pentru sistemul de fișiere. De aceea, în fiecare grupă bloc conține o copie a superblocul. Acest lucru ne dă dreptul să credem că superblocul deteriorat va fi restaurat ori de câte ori este nevoie
Poate părea că prezența în fiecare grup de bloc de backup superblock plumb pentru a consuma cantitati mari de spațiu. În acest scop, cele mai recente versiuni ale sistemelor a fost implementată funcția «sparse_super» scopul pentru care a fost de a crea un bloc de rezervă în grupa 0, 1, 3, 5, 7
Cum pentru a vedea ce este stocat în superblocul?
Pentru aceasta vom folosi comanda dumpe2fs
O altă ieșire a comenzii afișează informații despre superblocul
Cum de a repara Superblock deteriorate?
În primul rând, trebuie să verificați sistemul de fișiere fsck de utilitate
Dacă fsck Superbloc găsit citit de eroare, puteți încerca următoarele:
Pentru a începe cu noi definim unde superblocul de rezervă. Pentru a face acest lucru, efectuați
comutator spune echipa -n nu pentru a crea un sistem de fișiere, dar afișa ieșirea care ar fi în crearea efectivă a sistemului de fișiere
Alte restaurări din Superbloc de rezervă folosind e2fsck
În acest caz, blocul stocat 819200 Superblock de rezervă. După aplicarea echipei încercați să montați din nou sistemul de fișiere. Sau, alternativ, utilizați tasta de comandă sb mount. care indică locația unei copii a superblocul
În acest caz, am citit copia blocului de superblocul 819200
Traducere Alexander Chernykh