ext3
| ext3 | |
|---|---|
| Produttore | Comunità open source |
| Nome e cognome | Terzo file system esteso |
| Versione iniziale | Novembre 2001 ( Linux 2.4.15) |
| Identificatore della partizione | 0x83 ( MBR ) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 ( GPT ) |
| Implementazione tecnica | |
| Directory | Tavolo, albero ad H opzionale |
| File | bitmap (spazio libero), tabella (metadati) |
| Elenco dei difetti bloccati | tavolo |
| Valori massimi | |
| Dimensioni di un file | 16 GiB -2 TiB |
| Numero di tutti i file | Variabile |
| Numero di sottodirectory per directory | 32.000 (effettivamente solo 31.998 a causa dei collegamenti a. E ..) |
| Lunghezza del nome del file | 255 byte |
| Dimensioni del file system | 2 TiB -32 TiB |
| Caratteri consentiti nel nome del file | Tutti i byte tranne NUL e "/" |
| caratteristiche | |
| Date di un file | modificato (modifica, mtime), modifica dei metadati (ctime), ultimo accesso (atime) |
| Intervallo di date | 1901-12-13 20:45:52 al 2038-01-19 03:14:07 ( UTC +0) (vedi problema anno 2038 ) |
| forchette | No |
| Attributi di file | No-atime, append-only, synchronous-write, no-dump, h-tree (directory), immutable, journal, secure-delete, top (directory), allow-undelete |
| Gestione dei diritti sui file | Diritti sui file Unix, ACL e attributi di sicurezza arbitrari (dal kernel Linux 2.6) |
| Compressione trasparente | No |
| Crittografia trasparente | No |
| Supporto sistemi operativi | Linux, BSD, Windows (tramite strumenti / driver) |
L' ext3 (il terzo filesystem esteso inglese ) è il terzo filesystem esteso sviluppato per il kernel Linux . È un file system journaling e ha sostituito il suo predecessore ext2 come file system standard su molte distribuzioni Linux . È stato completamente sostituito da ext4 .
sfondo
L' estensione journaling per ext2 sviluppata da Stephen Tweedie assicura che i metadati non possano più essere danneggiati e quindi si può fare a meno di un'esecuzione completa del controllo di integrità di e2fsck dopo un crash del computer. La combinazione di ext2 con l'estensione journal è denominata ext3 .
Il formato dei dati del supporto dati non cambia quando viene utilizzato un giornale. I dati possono quindi essere letti con un driver del file system ext2. Il journal è una struttura di file in cui vengono scritti i metadati (opzionalmente i dati utente) prima di essere scritti nel file system effettivo. Un file system ext2 può quindi essere trasformato in un file system ext3 senza dover convertire alcun dato.
Ext4 è il successore diretto .
In Linux 4.3 il codice del driver nativo per Ext3 è stato definitivamente rimosso. Ext3 è ancora supportato dal driver del successore Ext4.
Caratteristiche tecniche
ext3 aggiunge le seguenti funzionalità al sistema ext2:
- un giornale
- Indici di directory H-tree
- Modifica in linea della dimensione del file system
Gli H-tree (inglese Htree ) sono una forma speciale di B-tree che sono stati sviluppati per ext3.
Quando viene apportata una modifica al file system (ad esempio, rinominare un file), viene registrata come transazione nel journal e, in caso di arresto anomalo, può o non può essere completata. Se una transazione è stata completata al momento del crash, è garantito che tutti i blocchi coinvolti in questa transazione rappresentano uno stato di file system valido. Questi blocchi vengono quindi copiati nel file system. Se una transazione non è stata completata al momento del crash, non vi è alcuna garanzia che i blocchi coinvolti saranno coerenti, quindi tale transazione verrà scartata (ovvero, la modifica del file system rappresentata da questa transazione andrà persa).
In caso di operazioni di scrittura interrotte, può accadere che parte di un file sia già composta dai nuovi dati e parte dai vecchi dati, il che a volte può essere anche peggiore di un file system incoerente. ext3 offre quindi una modalità speciale in cui i dati vengono inizialmente memorizzati nel journal. ext3 non protegge dalla perdita di dati che avrebbero dovuto essere già scritti su disco al momento del crash, ma erano comunque trattenuti dal kernel nei cosiddetti dirty buffer per poterli riscrivere in seguito. Dopo aver giocato al diario, è garantito solo che puoi continuare a lavorare con un database coerente in un dato momento.
Livelli di journaling
L'implementazione Linux di ext3 offre tre livelli di journaling:
- Full (opzione data = journal ), per cui sia i metadati che il contenuto del file vengono scritti prima nel journal prima di essere scritti nel file system. Ciò aumenta l'affidabilità, ma è piuttosto lento da scrivere perché tutti i dati devono essere scritti su disco due volte. I processi di lettura vengono accelerati.
- Writeback (opzione data = writeback ), per cui solo i metadati vengono scritti nel journal. L'aggiornamento del contenuto del file viene lasciato al normale processo di sincronizzazione . Questo è molto più veloce, ma comporta il rischio di perdita di dati a causa di processi di scrittura fuori ordine annullati in caso di arresto anomalo. I file che erano in accesso in scrittura in questo momento potrebbero contenere spazzatura alla fine del successivo montaggio del file system.
- Ordinato ( dati opzione = ordinato ) funziona come il writeback. Tuttavia, il contenuto del file viene scritto direttamente nel file system, solo allora i metadati vengono aggiornati nel journal. Questo è considerato un compromesso accettabile tra affidabilità e velocità ed è quindi l'impostazione predefinita.
Compatibilità con sistemi operativi non nativi
Esistono vari driver, programmi e plugin che consentono l'accesso a ext3, tramite retrocompatibilità anche a ext2, con altri sistemi operativi oltre a quelli nativi. Questi sono particolarmente utili se le unità devono essere utilizzate con diversi sistemi operativi, ad esempio un'unità USB in un ambiente misto Linux / Windows. Rappresentano un'alternativa agli approcci di utilizzo del file system FAT / FAT32 , che è molto limitato nelle sue capacità, in tali ambienti Linux / Windows o di rendere accessibile l' NTFS proprietario di Microsoft ai sistemi operativi basati su Linux attraverso il reverse engineering , come NTFS 3G . In particolare nelle configurazioni dual-boot, è vantaggioso poter accedere a una partizione Linux ext3 e rendere questo spazio utilizzabile per Windows. Poiché ext3, come molti file system basati su UNIX, fa distinzione tra maiuscole e minuscole, può ignorare quale distinzione tra maiuscole e minuscole quando viene utilizzato nei sistemi operativi, ad es. B. Windows, può causare seri problemi.
critica
Ext3 è più lento di altri moderni file system journaling, come XFS o JFS , ma è relativamente robusto.
Inoltre, ext3 sovrascrive i puntatori di blocco degli inode con zeri durante i processi di cancellazione . Ciò rende difficile il ripristino dei file eliminati, ma aumenta la probabilità che l'integrità del file system possa essere ripristinata senza perdita di dati dopo un errore del programma o un errore di sistema. Tuttavia, a volte è possibile ripristinare i dati.
Guarda anche
link internet
- FAQ ufficiali ext3 (inglese)
- Ottimizza il file system Linux Ext3 su heise aperto
- Driver Ext2 / 3 per Windows, freeware (inglese)
- Driver Ext2 / 3 per Windows, con supporto per journaling Ext3, open source (inglese)
Prove individuali
- ↑ Il numero massimo di inode (e quindi il numero massimo di file e directory) viene specificato quando viene creato il file system. Se la dimensione del file system è in byte, il numero preimpostato di inode risulta da (o il numero di blocchi di dati, viene utilizzato il valore inferiore) e il numero minimo di inode è . Il valore preimpostato è sufficiente per la maggior parte degli scenari applicativi.
- ↑ http://kernelnewbies.org/Ext4
- ↑ Jörg Thoma: Il driver Ext3 non è presente in Linux 4.3. In: Golem.de . 15 settembre 2015, accesso 15 settembre 2015 .
- ↑ Linus Torvalds : Re: [GIT PULL] Rimozione di Ext3, correzione di quote e udf. (Non più disponibile online.) In: Gmane .linux.kernel. 2 settembre 2015, precedentemente nell'originale ; accesso il 15 settembre 2015 . ( Pagina non più disponibile , ricerca negli archivi web ) Info: il collegamento è stato automaticamente contrassegnato come difettoso. Si prega di controllare il collegamento secondo le istruzioni e quindi rimuovere questo avviso.
- ↑ http://ext2.sourceforge.net/2005-ols/paper-html/node3.html
- ↑ Le istruzioni per il ripristino di file ( Memento del l' originale dal 19 settembre 2010 nella Internet Archive ) Info: Il dell'archivio collegamento è stato inserito automaticamente e non è stata ancora verificata. Si prega di controllare l'originale e il collegamento all'archivio secondo le istruzioni, quindi rimuovere questo avviso.