Linux ext3 faq (versiunea rusă)

Versiunea rusă a extensiei Linux ext3: "Răspunsuri la întrebările frecvente despre sistemul de fișiere ext3 Linux".

Versiunea rusă a FAQ-ului ext3 pentru Linux. "Răspunsuri la întrebări frecvente despre sistemul de fișiere Linux ext3".







1. Unde pot găsi aceste întrebări frecvente?

Ext3 este un sistem de fișiere jurnalistic dezvoltat de Stephen Tweedie. Este compatibil cu ext2; de fapt, acesta poate fi privit 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. Unde pot găsi ext3 pentru Linux?

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

La momentul redactării acestei întrebări frecvente, ultima versiune a patch-ului ext3 pentru kernel-ul Linux 2.2 a fost destul de depășită 0.0.7a. Acum nu lucrăm la ext3 pentru Linux 2.2.

5. Ce am nevoie pentru a construi un kernel Linux cu ext3?

Pentru Linux, de la versiunea 2.4.16 aveți nevoie doar de arhiva nucleului.

Următoarele instrucțiuni se referă la kernelul 2.2, dar ar trebui să funcționeze pentru versiuni mai vechi de pe Linux din filiala 2.4, care nu au suport ext3. Veți avea nevoie de o arhivă cu patch-uri kernel și ext3:

Când instalați patch-urile, va apărea o eroare la actualizarea fișierului Makefile din cauza unei nepotriviri în stabilirea prețului kernel-ului. Puteți ignora în 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 se convertește partiția ext2 la ext3? (Cum folosesc ext3?)

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

(În loc de hdaX, trebuie să înlocuiți dispozitivul potrivit.)

Comanda poate fi executată pe partițiile montate și nemontate ale hard diskului. Când creați un jurnal în sistemul de fișiere montat, apare un fișier .journal. Nu încercați să o ștergeți, nu o creați ca o copie de rezervă și nu încercați să o restaurați din copia de rezervă! Când tune2fs -j este rulat pe o partiție neimponată, este creat un fișier jurnal invizibil.

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

Puteți să formatați partiția de hard disk ca ext3 folosind următoarea comandă:

(În acest caz, / dev / hdaX poate fi folosit și ca partiție ext2).

7. Cum recuperez fișierele șterse de pe o partiție de hard disk cu un sistem de fișiere ext3?

De fapt nimic. Asta a spus Andreas Dilger, unul dintre dezvoltatori, despre acest lucru:

  • 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ă-l faceți este să apelați grep pentru a găsi părți ale fișierelor șterse și speranța pentru cele mai bune.

8. De ce spune comanda df că partiția este plină și du indică spațiu liber?

  • Motivul obișnuit pentru acest lucru este un fel de proces de utilizator care menține fișierul șters deschis. Când se întâmplă acest lucru, du nu vede locul ocupat de acest fișier, deoarece nu mai există în arborele de directoare. Cu toate acestea, spațiul de disc ocupat de fișiere nu este încă disponibil. Astfel de cazuri sunt posibile numai dacă ultimul proces cu un fișier deschis închide descriptorul de fișier sau procesul se termină.

Puteți utiliza lsof pentru a afla care proces salvează fișierul deschis. De obicei, acesta este un fișier de jurnal sau un fișier de bază de date mare care a fost deja modificat, dar procesul vechi continuă să îl mențină deschis.







9. Am compilat ext3 modular, iar partiția rădăcină (/) este montată ca ext2. (Această întrebare a fost inițial propusă de Boris Wesslowski, mai târziu el a fost foarte mult modificat de 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. (Problema tradițională a găinilor și ouălor.)

Dacă aveți de ales, trebuie să vă gândiți la oportunitatea construirii modulare a ext3. 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 , este meritat?

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 execută automat acțiunea pivot_root, dar există diferențe în modul în care trebuie apelat utilitarul care creează imaginea 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.
  • În sistemele Red Hat, pur și simplu mkinitrd.
  • În sistemul Debian (woody și mai târziu), executați următoarea comandă:

În cazul în care 2.4.18-386 ar trebui înlocuit cu versiunea kernelului Linux utilizat în sistem din pachetul Debian. 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 mea cu sistemul de fișiere ext3 în ext2?

De fapt, nevoia pentru acest lucru este minimă, deoarece în majoritatea cazurilor este destul de suficientă forțarea partiției hard disk-ului ca ext2. Dacă doriți în continuare să reveniți la partiția ext2 în loc de ext3, trebuie să executați următoarea comandă pe dispozitivul neasamblat:

Doar în cazul în care după această operație este util să executați un cec cu fsck:

Acum, puteți șterge în siguranță fișierul .journal, dacă este cazul.

11. Dacă închiderea sistemului a fost anormală, e2fsck ar trebui să funcționeze chiar dacă logarea este activată?

E2fsck va porni automat jurnalul și dacă integritatea sistemului de fișiere este păstrată, utilitarul nu va efectua o scanare completă.

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 volumele maxime ale sistemului de fișiere ext3 și fișierele pe ext3? (Inspirat de publicarea răspunsului la această întrebare Andreas Dilger și a sugerat - Christian Kujau.)

Sistemul de fișiere ext3 poate suporta fișiere de până la 1 TB în mărime. Cu nucleul Linux 2.4, dimensiunea sistemului de fișiere este limitată la dimensiunea maximă a dispozitivului bloc, care este de 2 terabytes. În Linux 2.6 (pentru procesoare pe 32 de biți), dimensiunea maximă a dispozitivului bloc este de 16 TB, dar ext3 suportă numai până la 4 TB.

13. Cum se convertește fișierul jurnal al primei versiuni (V1) la al doilea (V2)?

Pentru a converti vechiul (ext3 v0.0.3 sau versiuni anterioare) a sistemului de fișiere în noul format de jurnal, utilizați următoarea comandă:

14. Cum să convertesc sistemul de fișiere rădăcină al primei versiuni (V1) la al doilea (V2)?

Și reporniți sistemul.

15. Am actualizat ext3. S-au reconciliat toate partițiile hard diskului. Acum, când boot, văd mesajul "EXT3-fs: sistem de fișiere montat cu modul de comandă a datelor". E normal?

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

  • E în regulă. Mesajul EXT3-fs vă anunță pur și simplu că mount-ul sistemului de fișiere a avut succes. În plus, el spune ce fel de jurnalizare folosiți.

Ext3 are jurnale de două formate:

  • prima versiune (versiunea 1) - este utilizată implicit numai în edițiile ext3 0.0.3 și anterioare;
  • a doua versiune (versiunea 2) - este folosită implicit în sistemele de fișiere ext3 ale celor mai recente versiuni (începând de la 0.0.4).

Jurnalele celei de-a doua versiuni acceptă semantica suplimentară necesară pentru metadatele de jurnalizare și oferă două forme de jurnalizare: ordonate și cu scriere înapoi. Jurnalele celor două versiuni suportă logarea datelor (când sunt înregistrate toate datele care sosesc pe disc).

Fișierul de distribuție CHANGES raportează următoarele:

Detalii sunt disponibile în "Notele de lansare" pentru Red Hat Linux 7.2.

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

Din experiența mea ext3 este stabilă la fel ca ext2.

17. Ext3 lucrează cu cote?

Cotele ar trebui să funcționeze cu nucleele Linux 2.4 (și 2.6). Am avut probleme cu 2.2, dar altele nu.

18. LILO lucrează cu ext3?







Articole similare

Trimiteți-le prietenilor: