Ext3
| ext3 | ||
|---|---|---|
| dezvoltator | stephen tweedie | |
| Numele complet | Al treilea sistem de fișiere extins | |
| Sisteme de operare acceptate | Linux , BSD , Windows (prin IFS ) | |
| Introducere | Noiembrie 2001 ( Linux 2.4.15 ) | |
| identificatorul partiției |
0x83 ( MBR ) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT) | |
| structurilor | ||
| conținutul directorului | Tabel, Arborele HTree | |
| locația fișierului | bitmap (spațiu liber), tabel (metadate) | |
| blocuri proaste | Masa | |
| Limite | ||
| Dimensiunea maximă a numelui fișierului | 255 de octeți | |
| Caracteristică | ||
| datele înregistrate | modificare (mtime), modificare atribut (ctime), acces (atime) | |
| Interval de date | 14 decembrie 1901 – 18 ianuarie 2038 | |
| furci | da | |
| atribute | Fără timp, numai adăugare, scriere sincronă, fără dump, arbore h (director), imuabil, jurnal, ștergere securizată, top (director), permite anulare ștergere | |
| Permisiuni de acces la fișiere | Permisiuni Unix , ACL -uri și atribute de securitate arbitrare ( Linux 2.6 și versiuni ulterioare) | |
| compresie transparentă | nu | |
| criptare transparentă | Nu (setat la nivel de bloc de dispozitiv) | |
ext3 ( al treilea sistem de fișiere extins sau „al treilea sistem de fișiere extins”) este un sistem de fișiere de jurnal . A fost cel mai folosit sistem de fișiere în distribuțiile Linux , deși acum a fost înlocuit de succesorul său, ext4 .
Principala diferență față de ext2 este jurnalizarea . Un sistem de fișiere ext3 poate fi montat și utilizat ca sistem de fișiere ext2 . O altă diferență importantă este că ext3 folosește o variantă b-tree , arborele HTree , și încorporează alocatorul de blocuri de disc Orlov .
Avantaje
Deși viteza și scalabilitatea sa este mai mică decât concurenții săi, precum JFS , ReiserFS sau XFS , acesta are avantajul de a vă permite să faceți upgrade de la ext2 la ext3 fără a pierde datele stocate sau a fi nevoie să formatați discul. Consumă mai puțin CPU și este considerat mai sigur decât alte sisteme de fișiere Linux datorită simplității sale relative și timpului mai lung de utilizare.
Sistemul de fișiere ext3 adaugă următoarele la ext2 :
- Intrare în jurnal .
- Indexuri arborescente pentru directoare care se întind pe mai multe blocuri.
- Creștere liniară.
Limite de dimensiune
Ext3 are două limite de dimensiune diferite. Unul pentru fișiere și unul pentru dimensiunea întregului sistem de fișiere. Limita de dimensiune a sistemului de fișiere este de 2 32 de blocuri
| dimensiunea blocului | Dimensiunea maximă a fișierului | Dimensiunea maximă a sistemului de fișiere |
|---|---|---|
| 1 KiB | 16 GiB | 2TiB _ |
| 2 KiB | 256 GiB | 8TiB _ |
| 4KB _ | 2TiB _ | 16TiB _ |
| 8 KiB [ limite 1 ] | 2TiB _ | 32TiB _ |
- ↑ Dimensiunea blocului de 8 KiB este disponibilă numai pe arhitecturile care permit 8 KiB, cum ar fi Alpha .
Niveluri de jurnal
Există trei niveluri posibile de jurnalizare .
- Zilnic (risc scăzut)
- Metadatele și fișierele de conținut sunt copiate în jurnal înainte de a fi trimise în sistemul de fișiere principal. Deoarece jurnalul este continuu pe disc, uneori poate îmbunătăți performanța. Alteori performanța este mai slabă deoarece datele trebuie scrise de două ori, o dată în jurnal și o dată în partea principală a sistemului de fișiere.
- Comanda (risc mediu)
- Numai metadatele sunt înregistrate în jurnal, conținutul nu, dar este asigurat că conținutul fișierului este scris pe disc înainte ca metadatele asociate să fie marcate ca transcrise în jurnal. Este sistemul implicit în majoritatea distribuțiilor Linux. Dacă există o întrerupere a alimentării sau o panică a nucleului când fișierul este scris sau pornit, jurnalul va indica că noul fișier sau încercarea nu a trecut, așa că va fi curățat de procesul de curățare.
- Rescrie (risc ridicat)
- Numai metadatele sunt înregistrate în jurnal, conținutul fișierului nu. Conținutul poate fi scris înainte sau după actualizarea jurnalului. Ca rezultat, fișierele care au fost modificate cu succes înainte de o pauză pot deveni corupte. De exemplu, un fișier care așteaptă să fie înregistrat în jurnal este mai mare decât este în prezent, devenind gunoi la sfârșitul verificării. Versiunile vechi ale fișierelor pot apărea în mod neașteptat după recuperarea unui jurnal. Lipsa de sincronizare între date și jurnal este remediată rapid în multe cazuri. JFS folosește acest nivel de jurnalizare, dar se asigură că orice gunoi este șters la repornire.
Dezavantaje
Functionalitate
Deoarece ext3 este făcut pentru a fi compatibil cu ext2, majoritatea structurilor de arhivă sunt similare cu ext2. Din această cauză, ext3 nu are multe caracteristici ale modelelor mai noi, cum ar fi extensii, alocarea dinamică a inodelor și subalocarea blocurilor. Există o limită de 31.998 de subdirectoare per director, care decurge din limita dvs. de 32.000 de link-uri per inod . Ext3, ca majoritatea sistemelor de fișiere Linux actuale, nu poate fi verificat de fsck în timp ce sistemul de fișiere este montat pentru scriere. Încercarea de a verifica un sistem de fișiere care este montat poate detecta erori false în cazul în care datele nu au fost încă șters pe disc și poate deteriora sistemul de fișiere atunci când încearcă să remedieze acele erori.
Fragmentare
Nu există un instrument de defragmentare online pentru ext3 care să funcționeze la nivel de sistem de fișiere. Există un defragmentator offline pentru ext2, e2defragdar necesită ca sistemul de fișiere ext3 să fie convertit înapoi în ext2 înainte de a începe. De asemenea, în funcție de biții activați în sistem, e2defragpoate distruge datele. Nu știi cum să faci față majorității noilor funcții ale ext3. Există instrumente de defragmentare pentru utilizatori precum Shake și Defrag. Shake funcționează prin localizarea întregului fișier ca o singură operație, ceea ce determină, în general, locatorul să găsească spațiu continuu pe disc. De asemenea, încearcă să scrie fișiere folosite în același timp cu altele. Defragmentarea funcționează prin copierea fiecărui fișier pe el însuși. Cu toate acestea, ele funcționează numai dacă sistemul de fișiere este suficient de gol. Nu există un instrument real de defragmentare pentru ext3. După cum s-a spus, ghidul de administrare Linux spune: „Sistemele de fișiere Linux moderne mențin fragmentarea la un nivel minim, menținând blocurile unui fișier împreună, chiar dacă este posibil să nu fie stocate în sectoare consecutive. Unele sisteme de fișiere, cum ar fi ext3 , ele localizați în mod eficient cele mai apropiate blocuri gratuite de altele din fișier. Deci nu este nevoie să vă faceți griji cu privire la fragmentarea pe un sistem Linux" În timp ce ext3 este mai rezistent la fragmentare decât Fat, nimic nu împiedică sistemele ext3 să fie fragmentate în timp. În consecință, succesorul lui ext3, ext4, include un utilitar de defragmentare și suport pentru extensii (regiuni contigue ale fișierului).
Compresie
Suportul de compresie este disponibil ca un patch neoficial pentru ext3. Acest patch este un port direct al, e2comprdar necesită o dezvoltare suplimentară, deoarece nu implementează încă jurnalizarea. Patch-ul actual se numește e3compr și poate fi descărcat aici: [1]
Fără verificare în jurnal
Ext3 nu face suma de control atunci când scrie în jurnal. Dacă bariera = 1 nu este activată ca opțiune de montare și dacă hardware-ul scrie necorespunzător, riscați o corupție foarte extinsă a sistemului de fișiere în cazul unei defecțiuni bruște de hardware.
Ext3 pe Windows
Deși Windows nu are suport nativ pentru ext2 sau ext3, pot fi instalate drivere pentru a accesa aceste tipuri de sisteme de fișiere. Poate fi instalat pe toate sistemele Windows cu arhitectură x86.
Acest driver face posibilă montarea partițiilor fără a fi nevoie să utilizați programe separate. Ne arată sistemul de fișiere ca și cum ar fi o altă partiție din Windows.
Pentru a descărca driverul: [2] .
O altă opțiune este să folosiți un program pentru a putea vizualiza și copia fișierele care se află pe o partiție cu ext3 și ext2, dar nu montează partiția. Programul este Explore2fs și ne permite să:
- Citiți ext2
- Citiți ext3
- Tragere și plasare
- Suport pentru dischetă de 1440 KiB
- Suport pentru dischetă LS120*
- Suport disc ZIP și Jazz
- Suport pentru discuri USB și CF
- Suport CD-ROM
- Exportați fișierul ca binar
- Exportați fișierul ca text
- directorul de export
- Vizualizați și rulați fișiere
- Suport pentru hard disk-uri mari
- Suport pentru fișiere mari
- LVM2, ReiserFS Detection
- Suport Unicode UTF8
Este disponibil pentru versiunile Windows:
* Windows 95 * Windows 98 *Windows 98SE * Windows ME * Windows NT 4.0 * Windows 2000 * Windows XP * Windows XP SP2 * Windows Server 2003
Opțiuni de montare
Implicit
| Opțiune | Caracteristică |
|---|---|
| date=ordonate | Toate datele sunt forțate să iasă din sistemul de fișiere principal înainte de a fi conectate la metadatele jurnalului |
| commit=nrsec | Puteți spune ext3 să sincronizeze toate datele și metadatele la fiecare „nrsec” secunde. Valoarea implicită este de 5 secunde. Aceasta înseamnă că, dacă există o pană de curent, se vor pierde cel mult 5 secunde de lucru (sistemul de fișiere nu va fi deteriorat datorită jurnalizării). Această valoare implicită (sau orice mai mică) va afecta performanța, dar este adecvată pentru a vă proteja datele. Cu cât numărul este mai mare, cu atât performanța sistemului este mai bună. Setarea lui la 0 va avea același efect ca valoarea implicită. |
| orlov | Această opțiune activează noul sistem de alocare a blocurilor de hard disk Orlov. |
| bsddf | Face ca comanda „df” să funcționeze la fel ca pe sistemele BSD. |
| errors=remount-ro | Remontează sistemul de fișiere în modul numai citire după o eroare. |
| data_err=ignora | Afișează un mesaj de eroare numai dacă a apărut o eroare într-un buffer de fișier în modul „ordonat”. |
| Oferă obiectelor același ID de grup ca și creatorul lor. | |
| bh/nobh | Ext3 mapează deja capetele în paginile de date
|
Nu implicit
| Opțiune | - |
|---|---|
| jurnal=actualizare | Actualizează jurnalul sistemului de fișiere ext3 la formatul curent. |
| jurnal=inum | Când un jurnal există deja, această opțiune este ignorată. În orice alt caz, această opțiune specifică numărul de inoduri care vor reprezenta fișierul jurnal al sistemului de fișiere ext3. |
| journal_dev=devnum | Când se modifică valorile minime și/sau maxime ale jurnalului dispozitivului extern, această opțiune permite utilizatorului să specifice noua locație a jurnalului. Dispozitivul jurnal este identificat prin noile sale numere minime și maxime codificate în devnum. |
| fara sarcina | Nu încarcă jurnalul la montarea unității. |
| date=jurnal | Toate datele sunt introduse în jurnal înainte de a începe scrierea în sistemul de fișiere principal. |
| date=writeback | Ordinea datelor nu este salvată, datele pot fi scrise în sistemul de fișiere principal după ce metadatele lor au fost introduse în jurnal. |
| bariera=1 | Această opțiune activează/dezactivează barierele. Barrier=0 îl dezactivează și Barrier=1 îl activează. Dacă Barrier=0 și hardware-ul are probleme la scrierea în cache, există riscul ca sistemul de fișiere să fie corupt. |
| oldalloc | Această opțiune dezactivează sistemul de alocare a blocurilor de hard disk Orlov. |
| user_xattr | Activați Atributele utilizatorului extinse. De asemenea, va trebui să aveți opțiunea de a activa atributele extinse în nucleu (CONFIG_EXT3_FS_XATTR). |
| nouser_xattr. | Dezactivează atributele utilizatorului extinse. |
| acl | Activează suportul POSIX Control Access List. De asemenea, va trebui să aveți suportul ACL activat în nucleu (CONFIG_EXT3_FS_POSIX_ACL) |
| noacl | Dezactivează suportul pentru Lista de acces de control POSIX. |
| rezervare | |
| rezervare | |
| minixdf | Face ca „df” să se comporte ca pe sistemele Minix. |
| verifica=niciuna/niciunaverifica | Nu efectuează verificări suplimentare bitmap la montarea unității. |
| depanare | Informații suplimentare despre depanare sunt trimise în jurnalul de sistem (syslog). |
| erori=continuare | Continuați să lucrați dacă a apărut o eroare a sistemului de fișiere. |
| erori=panica | Opriți computerul dacă apare o eroare. |
| data_err=avorta | Anulează jurnalul dacă apare o eroare într-un buffer de fișier în modul „sortat”. |
| grpid/bsdgroups | Oferă obiectelor același ID de grup ca și creatorul lor. |
| resgid=n | ID-ul grupului pe care ar trebui să-l folosească blocurile rezervate. |
| CV=n | ID-ul utilizatorului pe care ar trebui să-l folosească blocurile rezervate. |
| sb=n | Utilizați superblocuri alternative în poziția „n”. |
| cotă | |
| noquota | |
| grquota | |
| usrquota |
Ext4
Există o versiune mai nouă a acestui sistem de fișiere numită Ext4 , care implementează o mulțime de caracteristici noi.
Pentru a vă face o idee mai bună asupra diferențelor cu sistemul de fișiere ext4, priviți următorul tabel