ext2 - al doilea sistem de fișiere extins
ext3 - al treilea sistem de fișiere extins
ext4 - al patrulea sistem de fișiere extins
Al doilea, al treilea și al patrulea sistem de
fișiere extins, sau ext2, ext3 și ext4, așa cum sunt
cunoscute în mod obișnuit, sunt sisteme de fișiere
Linux care au fost în mod istoric sistemul de fișiere implicit
pentru multe distribuții Linux. Acestea sunt sisteme de
fișiere de uz general care au fost concepute pentru extensibilitate
și compatibilitate retroactivă. În special, sistemele
de fișiere destinate anterior utilizării cu sistemele de
fișiere ext2 și ext3 pot fi montate utilizând
controlorul sistemului de fișiere ext4 și,
într-adevăr, în multe distribuții Linux moderne,
controlorul sistemului de fișiere ext4 a fost configurat pentru a
gestiona cererile de montare pentru sistemele de fișiere ext2
și ext3.
Un sistem de fișiere formatat pentru ext2, ext3 sau ext4
poate avea activată o anumită colecție din
următoarele fanioane de caracteristici ale sistemului de
fișiere. Unele dintre aceste caracteristici nu sunt acceptate de
toate implementările controlorilor sistemelor de fișiere ext2,
ext3 și ext4, în funcție de versiunea nucleului Linux
utilizată. Pe alte sisteme de operare, cum ar fi GNU/HURD sau
FreeBSD, numai un set foarte restrictiv de caracteristici ale sistemului de
fișiere poate fi acceptat în implementările lor de
ext2.
- 64bit
-
Activează sistemul de fișiere pentru a fi mai mare de 2^32
blocuri. Această caracteristică este stabilită
automat, în funcție de necesități, dar poate
fi utilă specificarea explicită a acestei caracteristici
dacă sistemul de fișiere ar putea avea nevoie să fie
redimensionat mai mult de 2^32 de blocuri, chiar dacă era mai mic
decât acest prag atunci când a fost creat inițial.
Rețineți că unele nuclee mai vechi și versiuni
mai vechi ale e2fsprogs nu vor accepta sisteme de fișiere cu
această caracteristică ext4 activată.
- bigalloc
-
Această caracteristică ext4 permite alocarea de blocuri
grupate, astfel încât unitatea de alocare este o putere a
numărului doi de blocuri. Cu alte cuvinte, fiecare bit din ceea ce
era cunoscut în mod tradițional ca bitmap de alocare a
blocurilor indică acum dacă un cluster este utilizat sau nu,
un cluster fiind compus în mod implicit din 16 blocuri.
Această caracteristică poate reduce timpul petrecut pentru a
face alocarea blocurilor și aduce o fragmentare mai mică,
în special pentru fișierele mari. Dimensiunea poate fi
specificată utilizând opțiunea mke2fs -C.
- Avertisment: Funcția bigalloc este încă
în curs de dezvoltare și este posibil să nu fie pe
deplin compatibilă cu nucleul dumneavoastră sau să
aibă diverse erori. Vă rugăm să
consultați pagina web
http://ext4.wiki.kernel.org/index.php/Bigalloc pentru detalii. Poate intra
în conflict cu alocarea întârziată
(consultați opțiunea de montare nodelalloc).
- Această caracteristică necesită ca caracteristica
extent să fie activată.
- casefold
-
Această caracteristică ext4 oferă suport pentru
codificarea caracterelor la nivelul sistemului de fișiere pentru
directoarele cu marcajul casefold (+F) activat. Această
caracteristică păstrează numele pe disc, dar permite
aplicațiilor să caute un fișier în sistemul de
fișiere utilizând o versiune echivalentă de
codificare a numelui fișierului.
- dir_index
-
Utilizează b-trees cu tabele de sume de control (hashed b-trees,
în engleză) pentru a accelera căutarea numelor
în directoare mari. Această caracteristică este
acceptată de sistemele de fișiere ext3 și ext4
și este ignorată de sistemele de fișiere ext2.
- dir_nlink
-
În mod normal, ext4 permite ca un nod-i să nu aibă mai
mult de 65.000 de legături dure. Acest lucru se aplică
atât fișierelor obișnuite, cât și
directoarelor, ceea ce înseamnă că nu pot exista mai
mult de 64 998 de subdirectoare într-un director (deoarece fiecare
dintre intrările „.” și „..”,
precum și intrarea de director pentru directorul din directorul
părinte contează ca o legătură dură).
Această caracteristică ridică această
limită făcând ca ext4 să utilizeze un
număr de legături de 1 pentru a indica faptul că nu
se cunoaște numărul de legături dure către un
director atunci când numărul de legături ar putea
depăși limita maximă a numărului.
- ea_inode
-
În mod normal, atributele extinse ale unui fișier și
metadatele asociate trebuie să încapă în
nodul-i sau în blocul de atribute extinse asociat nodului-i.
Această caracteristică permite ca valoarea fiecărui
atribut extins să fie plasată în blocurile de date
ale unui nod-i separat, dacă este necesar, crescând astfel
limita privind dimensiunea și numărul de atribute extinse
per fișier.
- encrypt
-
Activează suportul pentru criptarea la nivel de sistem de
fișiere a blocurilor de date și a numelor de fișiere.
Metadatele din nodurile-i (marcajele de timp, dimensiunea
fișierului, utilizatorul/grupul proprietar etc.) nu sunt
criptate.
- Această caracteristică este foarte utilă pe sistemele
de fișiere cu mai mulți utilizatori sau în cazul
în care nu toate fișierele trebuie criptate. În multe
cazuri de utilizare, în special pe sistemele cu un singur
utilizator, criptarea la nivelul dispozitivului bloc folosind dm-crypt
poate oferi o securitate mult mai bună.
- ext_attr
-
Această caracteristică permite utilizarea atributelor extinse.
Această caracteristică este acceptată de ext2, ext3
și ext4.
- extent
-
Această caracteristică ext4 permite ca cartografierea
numerelor de bloc logic pentru un anumit nod-i la blocurile fizice de pe
dispozitivul de stocare să fie stocată utilizând un
arbore extent, care este o structură de date mai eficientă
decât schema tradițională de bloc indirect
utilizată de sistemele de fișiere ext2 și ext3.
Utilizarea arborelui extent reduce supraîncărcarea blocului
de metadate, îmbunătățește
performanța sistemului de fișiere și reduce
necesitatea de a rula e2fsck(8) pe sistemul de fișiere.
Notă: atât extent, cât și
extents sunt acceptate ca nume valide pentru această
caracteristică din motive de compatibilitate
istorică/înapoi.
-
Această caracteristică ext4 rezervă o anumită
cantitate de spațiu în fiecare nod-i pentru metadatele
extinse, cum ar fi marcajele temporale de nanosecunde și ora
creării fișierului, chiar dacă nucleul actual nu are
nevoie în prezent să rezerve atât de mult
spațiu. Fără această caracteristică,
nucleul va rezerva cantitatea de spațiu pentru caracteristicile de
care are nevoie în prezent, iar restul poate fi consumat de
atributele extinse.
Pentru ca această caracteristică să fie
utilă, dimensiunea nodurilor-i trebuie să fie de 256 de
octeți sau mai mare.
- filetype
-
Această caracteristică permite stocarea informațiilor
despre tipul de fișier în intrările din directoare.
Această caracteristică este acceptată de ext2, ext3
și ext4.
- flex_bg
-
Această caracteristică ext4 permite ca metadatele pentru
fiecare grup de blocuri (hărți de biți de alocare
și tabele de noduri-i) să fie plasate oriunde pe suportul de
stocare. În plus, mke2fs va plasa metadatele pe grup de
blocuri împreună începând cu primul grup de
blocuri din fiecare „flex_bg group”. Dimensiunea grupului
flex_bg poate fi specificată utilizând opțiunea
-G.
- has_journal
-
Creează un jurnal pentru a asigura coerența sistemului de
fișiere chiar și în cazul închiderilor
necurate. Activarea caracteristicii sistemului de fișiere este
echivalentă cu utilizarea opțiunii -j cu
mke2fs sau tune2fs. Această caracteristică
este acceptată de ext3 și ext4 și ignorată de
controlorul sistemului de fișiere ext2.
- huge_file
-
Această caracteristică ext4 permite fișierelor
să aibă o dimensiune mai mare de 2 teraocteți.
- inline_data
- Permite stocarea datelor în nodurile-i și în zona de
atribute extinsă.
- journal_dev
-
Această caracteristică este activată pe superblocul
găsit pe un dispozitiv de jurnal extern. Dimensiunea blocului
pentru jurnalul extern trebuie să fie aceeași cu cea a
sistemului de fișiere care îl utilizează.
- Dispozitivul de jurnal extern poate fi utilizat de un sistem de
fișiere prin specificarea opțiunii -J
device=<dispozitiv-extern> la mke2fs(8) sau
tune2fs8).
- large_dir
-
Această caracteristică mărește limita
numărului de fișiere per director prin creșterea
dimensiunii maxime a directoarelor și, în cazul
directoarelor b-tree de sume de control (a se vedea dir_index), a
înălțimii maxime a arborelui b-tree de sume de
control utilizat pentru stocarea intrărilor în
directoare.
- large_file
-
Acest fanion de caracteristică este activat automat de nucleele
moderne atunci când este creat un fișier mai mare de 2
gigaocteți. Nucleele foarte vechi nu puteau gestiona fișiere
de mari dimensiuni, astfel încât acest fanion de
caracteristică a fost utilizat pentru a interzice acestor nuclee
să monteze sisteme de fișiere pe care nu le puteau
înțelege.
- metadata_csum
-
Această caracteristică ext4 permite verificarea sumelor de
control ale metadatelor. Această caracteristică
stochează sumele de control pentru toate metadatele sistemului de
fișiere (superblocul, blocurile descriptorilor de grup,
hărțile de biți ale nodurilor-i și ale
blocurilor, directoarele și blocurile arborelui extent). Algoritmul
sumei de control utilizat pentru blocurile de metadate este diferit de cel
utilizat pentru descriptorii de grup cu funcția uninit_bg.
Aceste două caracteristici sunt incompatibile și
metadata_csum va fi utilizat preferențial în locul
uninit_bg.
- metadata_csum_seed
-
Această caracteristică permite sistemului de fișiere
să stocheze sămânța sumei de control a
metadatelor în super-bloc, ceea ce permite administratorului
să schimbe UUID-ul unui sistem de fișiere utilizând
caracteristica metadata_csum în timp ce acesta este
montat.
- meta_bg
-
Această caracteristică ext4 permite redimensionarea „la
cald” a sistemelor de fișiere fără a fi
necesar să se rezerve în mod explicit spațiu pentru
creșterea dimensiunii descriptorilor grupului de blocuri.
Această schemă este, de asemenea, utilizată pentru
redimensionarea sistemelor de fișiere care sunt mai mari de 2^32
blocuri. Nu se recomandă ca această caracteristică
să fie activată atunci când se creează un
sistem de fișiere, deoarece această metodă
alternativă de stocare a descriptorilor grupului de blocuri va
încetini timpul necesar pentru montarea sistemului de
fișiere, iar nucleele mai noi pot activa automat această
caracteristică, dacă este necesar, atunci când se
face o redimensionare „la cald” și nu mai este
disponibil spațiu rezervat în nodul-i de
redimensionare.
- mmp
-
Această caracteristică ext4 oferă protecție
împotriva montării multiple (MMP). MMP ajută la
protejarea sistemului de fișiere de montarea multiplă
și este utilă în mediile de stocare
partajată.
- orphan_file
-
Această caracteristică ext4 rezolvă un potențial
blocaj de scalabilitate pentru sarcinile de lucru care efectuează
un număr mare de trunchieri sau extensii de fișiere
în paralel. Este acceptată de nucleele Linux
începând cu versiunea 5.15 și de e2fsprogs
începând cu versiunea 1.47.0.
- project
-
Această caracteristică ext4 oferă suport pentru cote de
proiect. Cu această caracteristică, ID-ul proiectului din
nodul-i va fi gestionat atunci când sistemul de fișiere este
montat.
- quota
-
Creează noduri-i de cotă (nodul-i nr.3 pentru userquota
și nodul-i nr.4 pentru groupquota) și le definește
în super-bloc. Cu această caracteristică, cotele vor
fi activate automat atunci când sistemul de fișiere este
montat.
- Face ca fișierele de cote (de exemplu, user.quota și
group.quota, care existau în modelul de cote mai vechi) să
fie noduri-i ascunse.
- resize_inode
-
Această caracteristică a sistemului de fișiere
indică faptul că spațiul a fost rezervat astfel
încât tabelul descriptor al grupului de blocuri să
poată fi extins în timpul redimensionării unui sistem
de fișiere montat. Operația de redimensionare „la
cald” este efectuată de nucleu, declanșată de
resize2fs(8). În mod implicit, mke2fs va
încerca să rezerve suficient spațiu pentru ca
sistemul de fișiere să poată crește
până la de 1024 de ori dimensiunea sa
inițială. Acest lucru poate fi schimbat utilizând
opțiunea extinsă resize.
- Această caracteristică necesită ca caracteristicile
sparse_super sau sparse_super2 să fie activate.
- sparse_super
-
Această caracteristică a sistemului de fișiere este
activată pe toate sistemele de fișiere moderne ext2, ext3
și ext4. Aceasta indică faptul că copiile de
rezervă ale descriptorilor super-blocurilor și grupurilor de
blocuri sunt prezente numai în câteva grupuri de blocuri, nu
în toate.
- sparse_super2
-
Această caracteristică indică faptul că vor
exista doar cel mult două superblocuri de rezervă și
descriptori de grup de blocuri. Grupurile de blocuri utilizate pentru
stocarea super-blocului (super-blocurilor) de rezervă și a
descriptorului (descriptorilor) de grup de blocuri sunt stocate în
super-bloc, dar, de obicei, unul va fi localizat la începutul
grupului de blocuri nr.1, iar celălalt în ultimul grup de
blocuri din sistemul de fișiere. Această
caracteristică este în esență o versiune mai
extremă a sparse_super și este concepută pentru a
permite unui procent mult mai mare din disc să aibă blocuri
contigue disponibile pentru fișierele de date.
- stable_inodes
-
Marchează numerele de noduri-i și UUID-ul sistemului de
fișiere ca fiind stabile. resize2fs(8) nu va permite
micșorarea unui sistem de fișiere cu această
caracteristică și nici tune2fs(8) nu va permite
modificarea UUID-ului acestuia. Această caracteristică
permite utilizarea unor configurații specializate de criptare care
utilizează numerele de noduri-i și UUID-ul.
Rețineți că funcția encrypt trebuie
să fie activată separat. stable_inodes este o
caracteristică „compat”, astfel încât
nucleele vechi o vor permite.
- uninit_bg
-
Această caracteristică a sistemului de fișiere ext4
indică faptul că descriptorii grupurilor de blocuri vor fi
protejați cu ajutorul sumelor de control, ceea ce face ca
mke2fs(8) să creeze în siguranță un
sistem de fișiere fără a inițializa toate
grupurile de blocuri. Nucleul va păstra o evidență
riguroasă a nodurilor-i neutilizate și va inițializa
în mod leneș tabelele de noduri-i și blocurile.
Această caracteristică accelerează timpul de
verificare a sistemului de fișiere utilizând
e2fsck(8) i, de asemenea, accelerează timpul necesar pentru
ca mke2fs(8) să creeze sistemul de fișiere.
- verity
-
Permite suportul pentru fișierele protejate de verity.
Fișierele verity sunt numai-pentru-citire, iar datele lor sunt
verificate în mod transparent în raport cu un arbore Merkle
ascuns după sfârșitul fișierului.
Utilizând suma de control a rădăcinii arborelui
Merkle, un fișier verity poate fi autentificat eficient,
independent de dimensiunea fișierului.
- Această caracteristică este foarte utilă pentru
autentificarea fișierelor importante numai-pentru-citire pe sisteme
de fișiere numai-pentru-citire. Dacă sistemul de
fișiere în sine este numai-pentru-citire, atunci utilizarea
dm-verity pentru autentificarea întregului dispozitiv bloc poate
oferi o securitate mult mai bună.
Această secțiune descrie opțiunile de montare
care sunt specifice pentru ext2, ext3 și ext4. Pot fi utilizate
și alte opțiuni generice de montare; consultați
mount(8) pentru detalii.
Opțiuni de montare pentru ext2
Sistemul de fișiere „ext2” este sistemul de
fișiere Linux standard. Începând cu Linux 2.5.46,
pentru majoritatea opțiunilor de montare, valoarea implicită
este determinată de superblocul sistemului de fișiere.
Stabiliți-le cu tune2fs(8).
- acl|noacl
- Acceptă (sau nu) listele de control al accesului POSIX.
Consultați pagina de manual acl(5).
- bsddf|minixdf
- Definește comportamentul pentru apelul de sistem statfs.
Comportamentul minixdf este de a returna în câmpul
f_blocks numărul total de blocuri ale sistemului de
fișiere, în timp ce comportamentul bsddf (care este
cel implicit) este de a scădea blocurile utilizate de sistemul de
fișiere ext2 și care nu sunt disponibile pentru stocarea
fișierelor. Astfel
% mount /k -o minixdf; df /k; umount /k
| Sistem de fișiere |
1024-blocks |
Utilizat |
Disponibil |
Capacitate |
Montat pe |
| /dev/sda6 |
2630655 |
86954 |
2412169 |
3% |
/k |
% mount /k -o bsddf; df /k; umount /k
| Sistem de fișiere |
1024-blocks |
Utilizat |
Disponibil |
Capacitate |
Montat pe |
| /dev/sda6 |
2543714 |
13 |
2412169 |
0% |
/k |
(Rețineți că acest exemplu arată
că se pot adăuga opțiuni de linie de comandă
la opțiunile date în /etc/fstab.)
- check=none
sau nocheck
- Nu se efectuează nicio verificare la momentul montării.
Aceasta este valoarea implicită. Acest lucru este rapid. Este
înțelept să se invoce e2fsck(8) din
când în când, de exemplu la pornire. Comportamentul
diferit de cel implicit nu este acceptat (opțiunile check=normal
și check=strict au fost eliminate). Rețineți
că aceste opțiuni de montare nu trebuie să fie
acceptate dacă este utilizat controlorul de nucleu ext4 pentru
sistemele de fișiere ext2 și ext3.
- debug
- Afișează informații de depanare la fiecare
(re)montare.
- errors={continue|remount-ro|panic}
- Definește comportamentul atunci când este
întâlnită o eroare. (Fie să ignore erorile
și să marcheze sistemul de fișiere ca fiind eronat
și să continue, fie să remonteze sistemul de
fișiere numai pentru citire, fie să intre în
panică și să oprească sistemul). Valoarea
implicită este stabilită în super-blocul sistemului
de fișiere și poate fi modificată utilizând
tune2fs(8).
- grpid|bsdgroups
și nogrpid|sysvgroups
- Aceste opțiuni definesc ce id de grup primește un
fișier nou creat. Atunci când grpid este activat,
acesta preia id-ul de grup al directorului în care este creat;
altfel (implicit) preia fsgid-ul procesului curent, cu excepția
cazului în care directorul are bitul setgid activat, caz în
care preia gid-ul de la directorul părinte și, de asemenea,
primește bitul setgid activat dacă este un director.
- grpquota|noquota|quota|usrquota
- Opțiunea de montare usrquota (la fel ca quota) activează
suportul pentru cote de utilizator pe sistemul de fișiere. grpquota
activează suportul pentru cote de grup. Aveți nevoie de
instrumentele pentru cote pentru a activa și gestiona sistemul de
cote.
- nouid32
- Dezactivează UID-urile și GID-urile pe 32 de biți.
Acest lucru se face pentru interoperabilitatea cu nucleele mai vechi care
stochează și așteaptă doar valori pe 16
biți.
- oldalloc sau
orlov
- Utilizează alocatorul vechi sau alocatorul Orlov pentru nodurile-i
noi. Orlov este implicit.
- resgid=n
și resuid=n
- Sistemul de fișiere ext2 rezervă un anumit procent din
spațiul disponibil (implicit 5%, consultați mke2fs(8)
și tune2fs(8)). Aceste opțiuni determină cine
poate utiliza blocurile rezervate; (în general: oricine are uid-ul
specificat sau aparține grupului specificat).
- sb=n
- În loc să se utilizeze super-blocul normal, se
utilizează un super-bloc alternativ specificat de n.
Această opțiune este utilizată în mod normal
atunci când super-blocul primar a fost corupt. Locația
super-blocurilor de rezervă depinde de dimensiunea blocurilor
sistemului de fișiere, de numărul de blocuri pe grup
și de caracteristici precum sparse_super.
- Super-blocurile de rezervă suplimentare pot fi determinate prin
utilizarea programului mke2fs cu opțiunea -n pentru a
afișa unde există super-blocurile, presupunând
că mke2fs este furnizat cu argumente care sunt coerente cu
structura sistemului de fișiere (de exemplu, dimensiunea
blocurilor, blocuri pe grup, sparse_super etc.).
- Numărul blocului utilizează aici unități de
1 k. Astfel, dacă doriți să utilizați
blocul logic 32768 pe un sistem de fișiere cu 4 blocuri k,
utilizați „sb=131072”.
- user_xattr|nouser_xattr
- Acceptă (sau nu) atributele extinse „user.”.
Opțiuni de montare pentru ext3
Sistemul de fișiere ext3 este o versiune a sistemului de
fișiere ext2 care a fost
îmbunătățită cu jurnalizare. Acesta
acceptă aceleași opțiuni ca și ext2, precum
și următoarele opțiuni suplimentare:
- journal_dev=num-disp/journal_path=rută
- Atunci când numerele majore/minore ale dispozitivului de jurnal
extern s-au schimbat, aceste opțiuni permit utilizatorului
să specifice noua locație a jurnalului. Dispozitivul de
jurnal este identificat fie prin noile sale numere majore/minore
codificate în număr_dispozitiv, fie printr-o rută
către dispozitiv.
- norecovery/noload
- Nu încarcă jurnalul la montare. Rețineți
că, în cazul în care sistemul de fișiere nu a
fost demontat curat, omiterea reluării jurnalului va face ca
sistemul de fișiere să conțină
inconsecvențe care pot duce la o serie de probleme.
- data={journal|ordered|writeback}
- Specifică modul de jurnalizare pentru datele fișierului.
Metadatele sunt întotdeauna jurnalizate. Pentru a utiliza alte
moduri decât ordered pe sistemul de fișiere
rădăcină, indicați modul către nucleu
ca parametru de pornire, de exemplu: rootflags=data=journal.
- journal
- Toate datele sunt înregistrate în jurnal înainte de a
fi scrise în sistemul principal de fișiere.
- ordered
- Acesta este modul implicit. Toate datele sunt forțate să
iasă direct în sistemul principal de fișiere
înainte ca metadatele lor să fie incluse în
jurnal.
- writeback
- Ordinea datelor nu este păstrată - datele pot fi scrise
în sistemul principal de fișiere după ce metadatele
lor au fost înregistrate în jurnal. Se zvonește
că aceasta este opțiunea cu cel mai mare randament. Aceasta
garantează integritatea internă a sistemului de
fișiere, însă poate permite apariția datelor
vechi în fișiere după o prăbușire
și recuperarea jurnalului.
- data_err=ignore
- Afișează doar un mesaj de eroare dacă apare o eroare
într- o memorie tampon de date de fișier în modul
ordonat „ordered”.
- data_err=abort
- Întrerupe jurnalul dacă apare o eroare într-un tampon
de date de fișier în modul ordonat.
- barrier=0 /
barrier=1
- Aceasta dezactivează / activează utilizarea barierelor de
scriere în codul jbd. barrier=0 dezactivează, barrier=1
activează (implicit). Acest lucru necesită, de asemenea, o
stivă IO care poate să ofere suport pentru bariere, iar
dacă jbd primește o eroare la o scriere cu barieră,
va dezactiva din nou barierele cu un avertisment. Barierele de scriere
impun ordonarea corectă pe disc a comenzilor jurnalului, ceea ce
face ca cache-urile volatile de scriere pe disc să poată fi
utilizate în siguranță, cu o anumită
penalizare a performanței. Dacă discurile dvs. sunt
susținute de baterii într-un fel sau altul, dezactivarea
barierelor poate îmbunătăți în
siguranță performanța.
- commit=nrsec
- Pornește o confirmare a jurnalului la fiecare nrsec secunde.
Valoarea implicită este de 5 secunde. Zero înseamnă
implicit.
- user_xattr
- Activează atributele de utilizator extinse. Consultați
pagina de manual attr(5).
- jqfmt={vfsold|vfsv0|vfsv1}
- În afară de vechiul sistem de cote (ca în ext2,
jqfmt=vfsold aka cota versiunea 1), ext3 acceptă și cote
jurnalizate (cota versiunea 2). jqfmt=vfsv0 sau jqfmt=vfsv1
activează cotele jurnalizate. Cotele jurnalizate au avantajul
că, chiar și după o prăbușire, nu este
necesară verificarea cotelor. Atunci când funcția
sistemului de fișiere quota este activată, cotele
jurnalizate sunt utilizate automat, iar această opțiune de
montare este ignorată.
- usrjquota=aquota.user|grpjquota=aquota.group
- Pentru cotele cu jurnal (jqfmt=vfsv0 sau jqfmt=vfsv1), opțiunile de
montare usrjquota=aquota.user și grpjquota=aquota.group sunt
necesare pentru a indica sistemului de cote fișierele de baze de
date de cote care trebuie utilizate. Atunci când funcția
sistemului de fișiere quota este activată, cotele
jurnalizate sunt utilizate automat, iar această opțiune de
montare este ignorată.
Opțiuni de montare pentru ext4
Sistemul de fișiere ext4 este un nivel avansat al
sistemului de fișiere ext3, care încorporează
îmbunătățiri ale scalabilității
și fiabilității pentru a oferi suport sistemelor de
fișiere mari.
Opțiunile journal_dev, journal_path, norecovery, noload,
data, commit, orlov, oldalloc, [no]user_xattr, [no]acl, bsddf,
minixdf, debug, errors, data_err, grpid, bsdgroups, nogrpid,
sysvgroups, resgid, resuid, sb, quota, noquota, nouid32, grpquota,
usrquota, usrjquota, grpjquota, și jqfmt sunt compatibile
retroactiv cu ext3 sau ext2.
- journal_checksum
| nojournal_checksum
- Opțiunea journal_checksum permite efectuarea sumei de control a
tranzacțiilor din jurnal. Aceasta va permite codului de recuperare
din e2fsck și nucleului să detecteze corupția
în nucleu. Este o modificare compatibilă și va fi
ignorată de nucleele mai vechi.
- journal_async_commit
- Blocurile de inscripționare pot fi scrise pe disc
fără a aștepta blocurile descriptoare. Dacă
este activată, nucleele mai vechi nu pot monta dispozitivul.
Aceasta va activa intern „journal_checksum”.
- barrier=0
/ barrier=1 / barrier / nobarrier
- Aceste opțiuni de montare au același efect ca în
ext3. Opțiunile de montare „barrier” și
„nobarrier” sunt adăugate pentru
coerență cu alte opțiuni de montare ext4.
Sistemul de fișiere ext4 activează implicit
barierele de scriere.
- inode_readahead_blks=n
- Acest parametru de ajustare controlează numărul maxim de
blocuri ale tabelului de noduri-i pe care algoritmul de readahead al
tabelului de noduri al ext4 le va pre-citi în memoria cache tampon.
Valoarea trebuie să fie o putere a lui 2. Valoarea implicită
este de 32 de blocuri.
- stripe=n
- Numărul de blocuri ale sistemului de fișiere pe care mballoc
va încerca să le utilizeze pentru dimensiunea
alocării și aliniere. Pentru sistemele RAID5/6, acesta ar
trebui să fie numărul de discuri de date * dimensiunea
bucăților RAID în blocuri ale sistemului de
fișiere.
- delalloc
- Se amână alocarea blocurilor până la momentul
scrierii.
- nodelalloc
- Dezactivează alocarea întârziată. Blocurile
sunt alocate atunci când datele sunt copiate din memoria cache de
utilizator în cea de pagină.
- max_batch_time=usec
- Cantitatea maximă de timp în care ext4 ar trebui să
aștepte ca operațiile suplimentare ale sistemului de
fișiere să fie grupate împreună cu o
operație de scriere sincronă. Deoarece o operație de
scriere sincronă va forța o confirmare și apoi o
așteptare pentru finalizarea I/O, aceasta nu costă mult
și poate fi un câștig uriaș în ceea ce
privește debitul, așteptăm o perioadă
mică de timp pentru a vedea dacă alte tranzacții se
pot baza pe scrierea sincronă. Algoritmul utilizat este conceput
pentru a se adapta automat la viteza discului, prin măsurarea
timpului (în medie) necesar pentru finalizarea unei
tranzacții. Numim acest timp „commit time” (timpul de
comitere). Dacă timpul de execuție al tranzacției
este mai mic decât timpul de comitere, ext4 va încerca
să aștepte acest timp pentru a vedea dacă alte
operații se vor alătura tranzacției. Timpul de
comitere este limitat de max_batch_time, care este implicit
15000 µs (15 ms). Această optimizare poate fi
dezactivată complet prin stabilirea max_batch_time la 0.
- min_batch_time=usec
- Acest parametru stabilește timpul de comitere (așa cum este
descris mai sus) să fie cel puțin min_batch_time. Valoarea
implicită este de zero microsecunde. Creșterea acestui
parametru poate îmbunătăți randamentul
sarcinilor de lucru sincrone cu mai multe fire pe discuri foarte rapide,
cu prețul creșterii latenței.
- journal_ioprio=prioritate
- Prioritatea de In/Ieș (de la 0 la 7, unde 0 este cea mai mare
prioritate) care ar trebui utilizată pentru operațiile de
In/Ieș trimise de kjournald2 în timpul unei operații
de validare. Aceasta are ca valoare implicită 3, care este o
prioritate ușor mai mare decât prioritatea de In/Ieș
implicită.
- abort
- Simulează efectele apelării ext4_abort() în scopuri
de depanare. Aceasta este utilizată în mod normal la
remontarea unui sistem de fișiere care este deja montat.
- auto_da_alloc|noauto_da_alloc
- Multe aplicații defectuoase nu utilizează fsync() atunci
când înlocuiesc fișiere existente prin modele precum
fd = open("foo.new")/write(fd,...)/close(fd)/
rename("foo.new", "foo")
sau mai rău încă
fd = open("foo",
O_TRUNC)/write(fd,...)/close(fd).
Dacă auto_da_alloc este activată, ext4 va
detecta modelele „replace-via-rename” și
„replace-via-truncate” și va forța alocarea
oricăror blocuri de alocare întârziate, astfel
încât la următoarea confirmare a jurnalului,
în modul implicit data=ordered, blocurile de date ale noului
fișier să fie forțate pe disc înainte de
efectuarea operațiunii rename(). Acest lucru oferă
aproximativ același nivel de garanții ca și ext3
și evită problema „lungimii zero” care se
poate întâmpla atunci când un sistem se
blochează înainte ca blocurile de alocare
întârziate să fie forțate pe disc.
- noinit_itable
- Nu inițializează niciun bloc neinițializat al
tabelului de noduri-i în fundal. Această
caracteristică poate fi utilizată de CD-urile de instalare,
astfel încât procesul de instalare să se poată
finaliza cât mai repede posibil; procesul de inițializare a
tabelului de noduri-i va fi apoi amânat până la
următoarea montare a sistemului de fișiere.
- init_itable=n
- Codul de inițiere „lazy itable” (tabelul de noduri-i
leneș) va aștepta de n ori numărul de milisecunde
necesare pentru a aduce la zero tabelul de noduri-i al grupului de blocuri
anterior. Acest lucru minimizează impactul asupra
performanței sistemului în timp ce tabelul de noduri-i al
sistemului de fișiere este inițializat.
- discard/nodiscard
- Controlează dacă ext4 ar trebui să emită
comenzi discard/TRIM către dispozitivul de bloc subiacent atunci
când blocurile sunt eliberate. Acest lucru este util pentru
dispozitivele SSD și „sparse/thinly-provisioned LUNs”
(LUN-urile cu provizionare dispersă/lejeră), dar este
dezactivat în mod implicit până la efectuarea unor
teste suficiente.
- block_validity/noblock_validity
- Această opțiune activează/dezactivează
facilitatea integrată în nucleu pentru urmărirea
blocurilor de metadate ale sistemului de fișiere în cadrul
structurilor interne de date. Aceasta permite alocatorului de blocuri
multiple și altor rutine să localizeze rapid blocurile
extents care s-ar putea suprapune cu blocurile de metadate ale sistemului
de fișiere. Această opțiune este destinată
depanării și, deoarece afectează negativ
performanța, este dezactivată în mod implicit.
- dioread_lock/dioread_nolock
- Controlează dacă ext4 ar trebui să utilizeze sau nu
blocarea citirii DIO. Dacă opțiunea dioread_nolock este
specificată, ext4 va aloca un extent neinițializat
înainte de scrierea tamponului și va converti extent-ul
în inițializat după finalizarea IO. Această
abordare permite codului ext4 să evite utilizarea nodului-i mutex,
ceea ce îmbunătățește scalabilitatea pe
stocările de mare viteză. Cu toate acestea, acest lucru nu
funcționează cu jurnalizarea datelor, iar opțiunea
dioread_nolock va fi ignorată cu avertizarea nucleului.
Rețineți că ruta de cod dioread_nolock este
utilizată numai pentru fișierele bazate pe extent. Din cauza
restricțiilor pe care le cuprinde, această opțiune
este dezactivată în mod implicit (de exemplu,
dioread_lock).
- max_dir_size_kb=n
- Aceasta limitează dimensiunea directoarelor astfel
încât orice încercare de a le extinde dincolo de
limita specificată în kiloocteți va provoca o eroare
ENOSPC. Acest lucru este util în mediile cu memorie
limitată, unde un director foarte mare poate cauza probleme grave
de performanță sau chiar poate provoca „Out Of Memory
killer”; (de exemplu, dacă există doar 512 Mio de
memorie disponibilă, un director de 176 Mio poate afecta grav
starea sistemului).
- i_version
- Activează suportul pentru versiunea de noduri-i pe 64 de
biți. Această opțiune este dezactivată
în mod implicit.
- nombcache
- Această opțiune dezactivează utilizarea mbcache
pentru deduplicarea atributelor extinse. Pe sistemele în care
atributele extinse sunt rareori sau niciodată partajate
între fișiere, utilizarea mbcache pentru deduplicare
adaugă un volum inutil de calcul.
- prjquota
- Opțiunea de montare prjquota permite gestionarea cotelor
proiectului pe sistemul de fișiere. Aveți nevoie de
utilitarele de cote pentru a activa și gestiona efectiv sistemul de
cote. Această opțiune de montare necesită
caracteristica sistemului de fișiere project.
Sistemele de fișiere ext2, ext3 și ext4
acceptă definirea următoarelor atribute de fișier pe
sistemele Linux utilizând programul chattr(1):
a - doar adăugare
A - fără actualizare a timpului de acces
(„atime”)
d - fără copie de rezervă prin
programul dump
D - actualizări sincronizate ale directoarelor
i - imuabil
S - actualizări sincrone
u - nu se poate șterge (de neșters)
În plus, sistemele de fișiere ext3 și ext4
acceptă următorul fanion:
j - jurnalizarea datelor
În cele din urmă, sistemul de fișiere ext4
acceptă de asemenea următorul fanion:
e - format extents
Pentru descrieri ale acestor fanioane de atribute,
consultați pagina de manual chattr(1).
Această secțiune listează controlorul
sistemului de fișiere (de exemplu, ext2, ext3, ext4) și
versiunea nucleului upstream în care a fost acceptată o
anumită caracteristică a sistemului de fișiere.
Rețineți că, în unele cazuri, funcția era
prezentă în versiunile anterioare ale nucleului, dar existau
erori grave cunoscute. În alte cazuri, caracteristica poate fi
considerată încă într-o stare
experimentală. În cele din urmă, rețineți
că este posibil ca unele distribuții să fi transferat
caracteristici în nuclee mai vechi; în special versiunile
nucleului din anumite „enterprise distributions” pot fi extrem
de înșelătoare.
- filetype
- ext2, 2.2.0
- sparse_super
- ext2, 2.2.0
- large_file
- ext2, 2.2.0
- has_journal
- ext3, 2.4.15
- ext_attr
- ext2/ext3, 2.6.0
- dir_index
- ext3, 2.6.0
- resize_inode
- ext3, 2.6.10 (redimensionare „la cald”)
- 64bit
- ext4, 2.6.28
- dir_nlink
- ext4, 2.6.28
- extent
- ext4, 2.6.28
- ext4, 2.6.28
- flex_bg
- ext4, 2.6.28
- huge_file
- ext4, 2.6.28
- meta_bg
- ext4, 2.6.28
- uninit_bg
- ext4, 2.6.28
- mmp
- ext4, 3.0
- bigalloc
- ext4, 3.2
- quota
- ext4, 3.6
- inline_data
- ext4, 3.8
- sparse_super2
- ext4, 3.16
- metadata_csum
- ext4, 3.18
- encrypt
- ext4, 4.1
- metadata_csum_seed
- ext4, 4.4
- project
- ext4, 4.5
- ea_inode
- ext4, 4.13
- large_dir
- ext4, 4.13
- casefold
- ext4, 5.2
- verity
- ext4, 5.4
- stable_inodes
- ext4, 5.5
Traducerea în limba română a acestui manual a
fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită;
citiți
Licența
publică generală GNU Versiunea 3 sau o versiune
ulterioară cu privire la condiții privind drepturile de autor.
NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea
acestui manual, vă rugăm să trimiteți un e-mail
la
translation-team-ro@lists.sourceforge.net.