Linux faq ext3 (versiunea rusă) (FAQ) - software


Ext3 - jurnalizare de sistem de fișiere, dezvoltat de Stephen Tweedie (Stephen Tweedie). Este compatibil cu ext2; de fapt, ea poate fi considerată ca un sistem de fișiere ext2 cu jurnalizare. Journaling jefuiește trebuie să așteptați pentru munca fsck și vă faceți griji cu privire la deteriorarea metadate. Separat, este de remarcat faptul că puteți trece cu ușurință de la ext2 la ext3 și înapoi pe partiția hard disk selectată (partiție) - este nevoie doar cere dreptul de tipul de sistem de fișiere pentru comanda de montare (mount).







4. În cazul în care pentru a găsi ext3 pentru Linux?


Începând cu versiunea Linux kernel 2.4.15 (nu folosiți această versiune!) Ext3 este inclus în kernel-ul standard, astfel încât nu este nevoie de patch-uri suplimentare.

La momentul scrierii, cea mai recentă versiune de FAQ ext3-patch pentru core bazat pe Linux 2.2 a fost destul de vechi 0.0.7a. Acum lucra la ext3 pentru Linux 2.2 nu sunt efectuate.

5. De ce am nevoie pentru a construi Linux kernel cu ext3?


Pentru Linux de la versiunea 2.4.16 aveți nevoie doar fișierul cu kernel-ul.

Instrucțiuni de mai jos este pentru 2.2 kernel, dar ar trebui să lucreze pentru un vechi Linux eliberare a 2.4 sucursalei, care nu au suport ext3. Veți avea nevoie de un fișier cu kernel-ul și ext3 patch-uri:

Când instalați patch-ul nu va reuși să actualizeze Makefile a subversiunii nucleu nepotrivire. Acesta poate fi ignorat în condiții de siguranță.

Apoi, trebuie să configurați kernel-ul (folosind make config sau make menuconfig) și setați parametrii incluși CONFIG_EXPERIMENTAL și CONFIG_EXT3_FS (CONFIG_EXPERIMENTAL = y. CONFIG_EXT3_FS = y), și apoi compila kernel-ul.

În plus, necesitatea e2fsprogs pachet (cel puțin versiunea 1.25), cu suport pentru ext3, care pot fi găsite pe site-ul proiectului (e2fsprogs.sourceforge.net).

6. Cum pot converti o partiție ext2 la ext3? (Cum folosesc ext3?)


Înainte de a putea monta partiția hard disk cum ar fi ext3, trebuie să creați un jurnal pe ea. Cel mai simplu mod de a face acest lucru - executați următoarea comandă:

# Tune2fs -j / dev / hdaX

(În schimb hdaX necesar să se înlocuiască dispozitivul adecvat).

Comanda poate fi realizată pe munte și demontează partițiilor de pe hard disk. Când creați un jurnal pe sistemul de fișiere montat va .journal fișier. nu încercați să-l eliminați, nu-l fac din nou în sus, și nu încercați să restabiliți din copia de rezervă! Când executați tune2fs -j pentru a demonta partițiile vor fi create fișier jurnal invizibil.

Acum puteți monta sistemul de fișiere ca ext3 folosind mount:

# Mount -t ext3 / dev / hdaX / mnt / undeva

Formatarea partiția de hard disk ca ext3, puteți utiliza următoarea comandă:

mke2fs -j / dev / hdaX

(În acest caz, / dev / hdaX poate fi folosit ca secțiunea ext2).

7. Cum pot recupera fișierele șterse de pe partiția de hard disk cu sistemul de fișiere ext3?


De fapt, nici un fel. Aici că, cu această ocazie, a spus Andreas Dilger, unul dintre dezvoltatorii:

Pentru a verifica dacă este sigur de a continua razlinkovki (unlink) după căderea sistemului de fișiere ext3 resetează cursoarele bloc din Inodes, și ext2 marchează doar aceste blocuri ca inodes neutilizate - ca șterse, lăsând intacte indicii.

Singurul lucru pe care trebuie să faci - cauza grep pentru a găsi părți ale fișierelor șterse, și de speranță pentru cel mai bun.

8. De ce df rapoartele de comandă că partiția este plin, și du indică spațiu liber?

Motivul pentru aceasta este de obicei orice proces de utilizator, păstrând deschis un fișier de la distanță. Când se întâmplă acest lucru, du nu a văzut ocupat de spațiul de fișiere, t. Pentru a. Este deja nu mai este în copac. Cu toate acestea, spațiul ocupat pe disc de către fișierul nu este încă eliberat. Astfel de cazuri sunt posibile numai în cazul în care ultimul proces închide deschide fișierul descriptor de fișier, sau procesul se încheie.

Lsof poate folosi programul pentru a afla ce proces salvează fișierul deschis. De obicei, acesta este un fișier jurnal sau un fișier de bază de date de mare, care a fost deja modificat, ci un proces mai vechi continuă să-l păstrați deschis.

9. Am compilat ext3 modular și partiția rădăcină (/) este montat ca ext2.
(Această întrebare a fost propusă inițial Boris Wesslowski, mai târziu a modificat semnificativ Theodore Ts'o.)


Dacă ext2 ați colectat în exprimate de bază, cât și ext3 - modulare, iar sistemul de fișiere este ext2 / 3, kernel-ul va monta întotdeauna partiția rădăcină ca ext2, dar nu ext3, astfel încât să în momentul montării miezului de partiția sistemului de fișiere rădăcină cu el încă .. nu au acces la modulele din cauza faptului că acestea sunt situate pe această partiție rădăcină foarte. (Pui și ouă problemă tradițională.)







Dacă aveți posibilitatea de a alege, ar trebui să ia în considerare oportunitatea de a ext3 ansamblu modular. Dacă doriți să utilizați ext3 pe sistemul de fișiere rădăcină, modulul ext3 va fi întotdeauna încărcate, și nu se poate descărca din nou, așa că, probabil, merită să compileze exprimate. Mai mult decât atât, unitățile consumate ușor mai multă memorie (în medie, 2k pe modul), și necesită o intrare suplimentară în cache TLB pentru ea - subtil, și, probabil, destul de defect imperceptibil, cu toate acestea, în cazul în care EXT3 modular de asamblare nu există nici un avantaj dacă să facă acest lucru?

Dacă totuși doriți să compilați ext3 modulare și să-l utilizați pentru sistemul de fișiere rădăcină, trebuie să boot-eze imaginea imaginii inițiale ramdisk (initrd) ca rădăcină (imaginea rădăcină). imaginea initrd va conține modulele necesare (scsi, ext3, și așa mai departe), astfel încât să puteți monta sistemul de fișiere rădăcină „reale“ și apoi utilizați pivot_root pentru a înlocui sistemul de fișiere rădăcină de initrd pe un „real“.

Cele mai multe distribuții în mod automat efectua pivot_root o acțiune, dar există diferențe în modul în care să fie numit de utilitate creează o imagine a initrd.
  • Pe sistemul SUSE, trebuie să adăugați ext3 JBD (în această ordine!) În configurație YaST numit INITRD_MODULES, și apoi apel mk_initrd.
  • Pe sistemele Red Hat rula pur și simplu mkinitrd.
  • În sistemul Debian (woody și mai târziu), executați următoarea comandă:

mkinitrd o- boot / initrd.img-2.4.18-386 /lib/modules/2.4.18-386

În cazul în care 2.4.18-386 se înlocuiește cu versiunea utilizată în sistemul Linux-nucleu al Debian-pachet. Rețineți că această operație necesită o instalează pachetul initrd-tools, și dacă nu utilizați setările initrd, trebuie să configurați fișierul de configurare bootloader (LILO sau GRUB), astfel încât acestea să se încarce kernel-ul cu mod de initrd.


10. Cum pot converti partiția ext3 cu un sistem de fișiere înapoi la ext2?


De fapt, nevoia de acest lucru este minimă, pentru că în cele mai multe cazuri, este suficient să fie forțat pentru a monta partiția hard disk ca ext2. Dacă totuși doriți să se întoarcă partiție ext2 în loc de ext3, apoi executați următoarea comandă pentru a demonta un dispozitiv:

# Tune2fs -O ^ has_journal / dev / hdaX

În orice caz, după această operație este utilă pentru a rula o verificare cu fsck:

# Fsck.ext2 -f / dev / hdaX

Acum puteți elimina în condiții de siguranță fișier .journal, dacă este cazul.

11. În cazul în care sistemul de închidere a trecut de urgență, dacă este necesar, chiar și atunci când logare rula e2fsck?

Este întotdeauna cel mai bine pentru a rula e2fsck. [...]

E2fsck lansa automat revista, și dacă vă menține integritatea, utilitatea nu va efectua o scanare completă a sistemului de fișiere.

Dacă sistemul de fișiere gasit probleme (deoarece rula anterioară a kernel-ul va observa unele contradicții), e2fsck va efectua în mod automat o scanare completă, dacă este necesar.

Dacă aveți o mulțime de CD-uri, lansarea fsck multe procese e2fsck în paralel, accelerând astfel, până în momentul de descărcare, dacă permiteți kernel-ul pentru a reproduce jurnal pentru fiecare sistem de fișiere care este încercarea de a monta, - în caz contrar, accesul la revista va fi efectuată secvențial, nu în paralel.

12. Care sunt valorile maxime ale sistemului de fișiere ext3 și ext3 pe?
(Inspirat de publicarea răspunsul la această întrebare este Andreas Dilger, și la oferit. - Christian Kujau)


Sistemul de fișiere ext3 poate suporta fișiere cu dimensiuni de până la 1 TB. Cu Linux-nucleu 2.4 volum sistem de fișiere limitate de dimensiunea maximă a unui dispozitiv bloc, adică 2 teraocteți. În Linux 2.6 (pentru procesoarele pe 32 de biți), dimensiunea maximă a unui dispozitiv bloc 16 este TB, dar suporta numai ext3 la 4 TB.

13. Cum se convertesc primul fișier jurnal (V1) la cea de a doua versiune (V2)?


Pentru a converti un vechi (v0.0.3 ext3 sau versiunile anterioare), sistem de fișiere într-un nou format de revistă, utilizați următoarea comandă:

# Mount / dev / hdaX / mnt o- jurnal = actualizare

14. Cum pot converti meu sistem de fișiere rădăcină al primei (V1) la cea de a doua versiune (V2)?

# Rootflags Lilo -R Linux Rw = = jurnal de actualizare

Și a reporni sistemul.

15. Am ext3 actualizat. Se convertește toate partițiile hard disk. Acum, când pornirea, am vedea un mesaj de „EXT3-fs: sistem de fișiere montat cu modul de date ordonate“. Este normal acest lucru?


Nigel Metheringham a răspuns la această întrebare în lista utilizatorilor ext3 de discuții:

Bine. EXT3 post-fs pur și simplu vă anunță că sistemul de fișiere se monteaza cu succes. În plus, se spune ce fel de logare utilizați.

Avem busteni ext3 în două formate:
  • Prima versiune (versiunea 1) - utilizată numai în mod implicit în comunicatele EXT3 0.0.3 și versiunile anterioare;
  • A doua versiune (versiunea 2) - sistemele de fișiere implicite ext3 versiunile recente (de la 0.0.4).

Jurnalele a doua versiune acceptă semantica suplimentare necesare pentru înregistrarea de metadate, și oferă două forme de jurnalizare: ordonate (ordonate) și un writeback (writeback). Reviste ambele versiuni susțin datele de logare (atunci când datele furnizate pe disc sunt înregistrate).

În fișierul de distribuție SCHIMBĂRI este raportată după cum urmează:

Noi opțiuni de montare:

"Mount jurnal = -o actualizare"
Se montează sistemul de fișiere cu prima versiune a revistei, dinamic
actualizarea la versiunea 2 reviste.

„Date Mount = jurnal o-“
datele înregistrate și metadate, astfel încât datele sunt scrise
de două ori. Acest mod, care este utilizat pentru toate versiunile anterioare ale ext3.

„Mount = date ordonate o-“
înregistrate numai modificările de metadate, dar actualizări de date
sunt resetate la hard disk-ul înainte de tranzacție. date
nu este scris atomically, dar acest mod se asigură că, după
Fișierele picătură nu va conține blocuri de date din fișierele moștenite.

"Date Mount = writeback o-"
înregistrate numai modificările de metadate și date de actualizare
Rămâne complet pentru procesul de sincronizare normal ( „sincronizare“)
După căderea fișierelor pot cuprinde blocuri de date ale moștenirii
Fișier: Acest mod este absolut echivalent cu ext2 de pornire cu un foarte
fsck rapid atunci când repornește computerul.

Comandat și Modurile writeback necesită oa doua versiune a revistei. Dacă nu doriți să actualizați formatul de jurnal, acesta va fi disponibil doar în modul de logare Journaled.

Pentru prima versiune a revistei (revista V1), implicit se execută în modul Journaled, iar pentru V2 - A comandat.

Detaliile sunt disponibile în „Notele de lansare“ la Red Hat Linux 7.2.

16. sistem de fișiere ext3 Cât de stabil?


În experiența mea ext3 stabilă precum și ext2.

17. ext3 funcționează cotele?


Contingente trebuie să lucreze cu nucleul Linux-2.4 (și 2.6 - cca Perevi ..). Am avut probleme cu 2.2, dar altele nu sunt respectate.

18. LILO funcționează cu ext3?