Ogni sistema di file ha i suoi vantaggi e svantaggi. In questo articolo, esamineremo dettagliatamente le caratteristiche del File System Linux EXT (Ext 2, Ext3, Ext4).
Contenuti
- Cos'è il file system EXT?
- Evoluzione del file system EXT. La storia dei cambiamenti nelle versioni.
- Caratteristiche del file system Ext4
- Vantaggi e svantaggi del file system Ext4
- La struttura del file system EXT
- Vale la pena disattivare il journaling?
- Come aprire un'unità EXT in Windows?
- Le migliori alternative al sistema di file EXT
Cos’è il file system EXT?
Il file system EXT (Extended File System) è stato progettato appositamente per il sistema operativo Linux. L’obiettivo principale che i creatori di EXT avevano in mente era quello di superare la dimensione massima dei file scrivibili, che all’epoca era di soli 64 MB. Grazie alla creazione di una nuova struttura di metadati, la dimensione massima dei file possibili è stata aumentata a 2 GB. Allo stesso tempo, la lunghezza massima dei nomi dei file è stata aumentata a 255 byte.
Remy Card, il progettista capo del file system EXT, ammirava il file system UFS, quindi alcune delle sue caratteristiche sono state trasferite a EXT.
Anche se Linux supporta un gran numero di file system, EXT è preferito poiché è stato costruito sul kernel Linux.
Anche se EXT ha superato i principali svantaggi del file system Minix (che veniva utilizzato in Linux all’epoca), il suo principale svantaggio erano i timestamp. EXT consentiva solo un timestamp per file. Per questo motivo, lo sviluppo di EXT è continuato e, nelle versioni successive, è stato costantemente in evoluzione e ha aggiunto nuove funzionalità.
È diventato molto popolare non solo tra gli utenti di Linux, ma anche tra i proprietari di smartphone Android. Ecco perché Android utilizza il file system Ext4 per impostazione predefinita.
Evoluzione del file system EXT. La storia dei cambiamenti nelle versioni.
Come già accennato, sebbene EXT abbia superato le limitazioni del file system Minix, aveva ancora molti svantaggi. Per questo motivo lo sviluppo di EXT non si è fermato e sono state aggiunte tre versioni in futuro.
Ext2
Come la precedente, Ext2 è stata creata da Remy Card. Questo file system è stato presentato nel gennaio 1993.
L’innovazione più importante è stata quella di scrivere i dati in blocchi di uguale lunghezza. Ciò ha permesso di aumentare significativamente le prestazioni del file system. Inoltre, l’uso di blocchi di dati consente di aumentare la dimensione massima dei file archiviati. Ora era di 2 TB invece di 2 GB. La lunghezza del nome del file era ancora di 255 byte.
Tuttavia, Ext2 aveva diversi svantaggi. Il problema più grande era la mancanza di journaling. Se si verificava un’interruzione di corrente durante la scrittura dei file sul disco, il file system si corrompeva ed era piuttosto difficile da recuperare.
In alcuni casi, la mancanza di journaling era un vantaggio. Ad esempio, Ext2 è più veloce di Ext3. Per questo motivo, in alcuni casi, Ext2 è ancora in uso oggi. Inoltre, la mancanza di journaling riduce il carico sui dischi SSD. Per questo motivo, alcune aziende utilizzano Ext2 e utilizzano RAID come protezione dei dati.
Per maggiori dettagli su RAID, puoi leggere l’articolo “RAID – cos’è e come puoi usarlo?“
Un altro svantaggio del file system Ext2 era l’elevata frammentazione dei dati che portava a una perdita di prestazioni. Durante la scrittura, il file veniva diviso in diverse parti e poi scritto in diverse parti del disco rigido. Pertanto, il processo di lettura richiedeva più tempo. Più informazioni venivano archiviate sul disco, più bassa era la velocità di lettura/scrittura dei dati.
Per questo motivo, lo sviluppo del file system EXT non si è fermato a questa versione e nel novembre 2001 è stata introdotta la versione successiva – Ext3.
Ext3
Il file system Ext3 è una versione migliorata di Ext2. Le informazioni sono ancora scritte in blocchi di dati della stessa lunghezza e la dimensione massima del file rimane la stessa – 2TB.
Tuttavia, include il journaling, una tecnologia che riduce significativamente il rischio di perdita di dati.
L’essenza è la seguente: il file system segna tutti i cambiamenti pianificati nella struttura dei dati. In caso di interruzione di corrente, il sistema legge istantaneamente le informazioni dal “journal” e i file non vengono persi.
Ext3 supporta tre livelli di journaling:
- Journal – il file system scrive sia i metadati che i dati utente nel journal, garantendo virtualmente un ripristino del file system riuscito in caso di interruzione di corrente. Allo stesso tempo, questo metodo degrada maggiormente le prestazioni del file system.
- Writeback – prima vengono scritti i metadati nel log e solo successivamente le informazioni vengono scritte nel file system. Non c’è sincronizzazione dei metadati e delle informazioni nel file system. Questo livello di journaling è il più veloce poiché non è necessaria la convalida. Il principale svantaggio, tuttavia, è che se succede qualcosa al sistema, si perderanno i dati.
- Ordered (ordered journaling) – il processo di scrittura viene effettuato in un certo ordine: prima vengono scritti i metadati nel log, quindi i dati utente vengono scritti nel file system. Dopo di che, i metadati vengono collegati ai file sul disco. In caso di interruzione di corrente, solo i file scritti sul disco in quel momento “scompaiono”. La struttura del file system non viene danneggiata.
Il file system Ext3 è diventato piuttosto popolare ed è stato utilizzato fino alla versione successiva – Ext4.
Ext4
Ext4 – è stata introdotta nel 2008 ed è attualmente l’ultima versione del file system EXT. Utilizza i principi di base di Ext3, ma la velocità è stata aumentata significativamente (è ancora più veloce di Ext2), la dimensione massima del file è stata aumentata a 16 GB, è stata aggiunta la compatibilità con unità fino a 1 Exabyte e molto altro ancora.
Ci sono molte innovazioni. Vai al punto successivo di questo articolo per leggerne di più.
Caratteristiche del file system Ext4
Nonostante il file system Ext4 utilizzi i concetti di base di Ext3, presenta molte innovazioni che lo hanno reso così popolare.
In primo luogo, Ext4 utilizza il metodo di registrazione dei file basato sullo spazio per aumentare le prestazioni. Ciò significa che prima che il file venga scritto sul disco, il file system alloca l’area di superficie e quindi scrive i dati alla fine di essa.
Il file system Ext4 ha aggiunto la compatibilità con le versioni precedenti di Ext2 e Ext3 per la prima volta. Ad esempio, è possibile montare automaticamente Ext3 utilizzando il driver Ext4.
Il punto successivo è l’introduzione degli extent. In precedenza, i blocchi di dati dei file venivano visualizzati in modo tradizionale, ovvero tutti i blocchi appartenenti a un determinato file venivano visualizzati. Ciò comportava alcune limitazioni quando si lavorava con file di grandi dimensioni, ad esempio riduceva le prestazioni.
L’implementazione degli extent consente di visualizzare un gran numero di blocchi di informazioni consecutivi con un unico descrittore. Tale approccio aumenta le prestazioni del file system di diverse volte. Il sistema memorizza solo l’indirizzo del primo e dell’ultimo blocco di dati, che corrisponde a un file di grandi dimensioni.
La riduzione della frammentazione dei file mediante l’allocazione più efficiente dei blocchi di memoria è un’altra innovazione. Prima di scrivere un file, Ext4 evidenzia i blocchi vicini per ridurre il tempo necessario per trovare il blocco corretto durante la lettura dei dati.
Ext4 ha una funzione di allocazione ritardata, che alloca i blocchi di memoria immediatamente prima di scrivere i file sul disco. Tale soluzione consente di ridurre il carico sulla memoria cache e quindi aumentare le prestazioni.
È ora possibile creare un numero illimitato di sottodirectory senza perdita di prestazioni. Il motivo è che Ext4 utilizza la struttura dati HTree, che è una versione dell’albero B adattata appositamente per Ext4.
Un’innovazione che migliora le prestazioni e la sicurezza contemporaneamente è l’implementazione dei checksum del journal. Questo metodo controlla costantemente i blocchi di dati per la corruzione. A sua volta, ciò riduce il tempo di journaling e aumenta le prestazioni.
È ora disponibile una verifica rapida del file system. Il modo in cui è stato implementato è il seguente: in Ext4, le tabelle degli inode e i gruppi di blocchi liberi sono contrassegnati. Ciò significa che durante la verifica del file system verranno controllati solo i blocchi con dati.
Una nuova funzione è e4defrag, che consente di deframmentare l’intero disco e i singoli file. La riduzione della frammentazione non solo rende il sistema più veloce, ma riduce anche il carico sul processore, ecc.
Come si può vedere, ci sono molte innovazioni che migliorano notevolmente la sicurezza e le prestazioni. A loro volta, queste sono esattamente le cose di cui gli utenti hanno bisogno. Ecco perché Ext4 è così popolare oggi.
Vantaggi e svantaggi del file system Ext4
Nonostante l’introduzione di nuove funzionalità e miglioramenti delle prestazioni, il file system Ext4 ha anche molti svantaggi. Prima di utilizzarlo sul tuo disco, ti suggeriamo di confrontare i suoi vantaggi e svantaggi.
I vantaggi di Ext4 includono i seguenti:
- Journaling – il file system tiene un registro delle modifiche, quindi in caso di guasti, è possibile ripristinare la struttura del file system senza problemi;
- Supporto alla crittografia – gli utenti possono ora crittografare i loro dati senza degradazione delle prestazioni;
- Alta stabilità – il file system Ext4 può controllare il suo stato da solo. Questo avviene con l’aiuto dei checksum del registro. Inoltre, sono passati più di 10 anni dal rilascio di Ext4, e durante questo tempo si è dimostrato un file system molto affidabile;
- Supportato di default in molte distribuzioni – il che significa che avrai tutti gli strumenti Ext4 di cui hai bisogno già pronti all’uso. Viene anche utilizzato nelle schede di memoria degli smartphone Android, il che significa che non sarà necessario installare software aggiuntivo per lavorare con i dati dello smartphone;
- Sviluppo attivo – ad oggi, gli sviluppatori stanno lavorando attivamente per migliorare Ext4. Otterrai costantemente nuove opportunità per lavorare con i dati;
- Bassa frammentazione – otterrai un file system molto veloce. Spesso la mancanza di frammentazione è il fattore decisivo quando si tratta di quale file system utilizzare su unità flash e supporti rimovibili;
- Un gran numero di limiti – durante la creazione del file system, viene creato un certo numero di inode necessari per scrivere i file. In alcuni file system, il numero di inode può essere troppo piccolo e l’utente non potrà scrivere un nuovo file anche se c’è spazio libero sul disco. Può accadere se hai molti file piccoli. Fortunatamente, Ext4 non ha questo problema e ci sono abbastanza inode per gli utenti e i sistemi server.
Purtroppo, gli svantaggi di Ext4 sono anche abbastanza numerosi. Tra i più significativi ci sono:
- Mancanza di supporto per le funzionalità del file system di prossima generazione – Ext4 non supporta la gestione del volume, la deduplicazione dei dati, ecc;
- Mancanza di verifica del checksum per i dati – questo rende impossibile rilevare la corruzione dei dati dovuta a guasti hardware;
- Scalabilità scarsa – nonostante la dimensione massima di una partizione sia di 1 exabyte, in realtà, se si creano partizioni più grandi di 100 terabyte, le prestazioni sono molto lente;
- Mancanza di supporto per la compressione trasparente e la crittografia trasparente – queste tecnologie sono ancora in fase sperimentale;
- Gli inode occupano fino al 10% dello spazio della partizione – se vengono allocati meno inode durante la creazione del file system, c’è la possibilità che si esauriscano e l’utente non potrà scrivere nuovi file anche se il disco ha spazio libero;
Ora puoi confrontare i vantaggi e gli svantaggi del file system Ext4 e decidere se vuoi utilizzarlo o meno.
La struttura del file system EXT
La struttura del file system EXT è la stessa della maggior parte dei file system UNIX. Schematicamente, può essere mostrata come segue:
Quindi, è possibile distinguere diversi componenti principali nella struttura di EXT:
- Superblock – situato all’inizio del file system (di solito nei primi 1024 byte della partizione). Il sistema crea automaticamente diverse copie del superblock, poiché non può funzionare senza di esso. Il superblock memorizza informazioni di base sul file system, come:
- il numero totale di blocchi dati e inode per l’intero file system;
- il numero di inode e blocchi dati liberi in cui è possibile scrivere i file;
- la dimensione dell’inode e del blocco dati (questi dati sono specificati durante la creazione del file system);
- informazioni sul file system – tempo di montaggio, ultime modifiche, ecc.
- Immediatamente dopo il superblock, c’è una tabella globale dei descrittori di gruppo di blocchi (Group Description Table). Questa tabella descrive il primo e l’ultimo blocco per ogni gruppo di blocchi, nonché informazioni su dove inizia la tabella degli inode in ogni gruppo, l’inizio dei blocchi dati, ecc.
- Block Bitmap è una tabella speciale che specifica quali blocchi in un gruppo sono utilizzati e quali sono liberi. Queste informazioni vengono utilizzate durante l’allocazione delle informazioni sui blocchi. 0 significa che il blocco è libero e 1 significa che il blocco è occupato.
- Inode Bitmap – è lo stesso della bitmap dei blocchi, ma visualizza informazioni sugli inode liberi, che possono essere utilizzati per scrivere nuovi file.
- Blocchi dati – i blocchi fisici di memoria allocati in cui vengono memorizzati i dati dell’utente.
La struttura del file system è sostanzialmente la stessa per Ext2, Ext3 e Ext4. Solo la funzionalità di ogni versione del file system EXT differisce.
Vale la pena disattivare il journaling?
Lo scopo principale del journaling è garantire che la struttura del file system possa essere ripristinata in caso di guasti o improvvisi black-out. Allo stesso tempo, il processo di journaling richiede del tempo e delle risorse. Pertanto, alcuni utenti decidono di disattivare il journaling per ottenere maggiori prestazioni.
È soggettivo, poiché la disattivazione del journaling ha senso solo se si dispone di funzionalità avanzate di protezione dei dati (ad esempio, se si utilizza RAID 5).
Se non si dispone di ulteriori misure di sicurezza, non disattivare il journaling poiché il guadagno in termini di prestazioni è molto limitato, mentre il rischio di perdere dati importanti è molto maggiore.
Tuttavia, se si decide di disattivare il journaling, assicurarsi di proteggere i dati importanti effettuando un backup, utilizzando un array RAID o almeno un gruppo di continuità.
Come aprire un’unità EXT in Windows?
Il sistema operativo Windows utilizza nativamente il file system NTFS. Pertanto, non appena si collega un’unità formattata in EXT, Ext2, Ext3, Ext4, si riceverà immediatamente una notifica che il file system dell’unità non è supportato.
Il primo (e migliore) modo è utilizzare il programma RS Partition Recovery. Questo programma è facile da usare. Tutto ciò che serve è installarlo sul proprio computer. Quindi si può immediatamente collegare l’unità Ext2,3,4 e lavorare con i dati. Non è nemmeno necessario riavviare il computer.
Ma soprattutto, RS Partition Recovery consente di recuperare dati persi se qualcosa accade al file system o al file stesso. Ad esempio, si è eliminato accidentalmente un file – nessun problema. Si è formattato l’unità con informazioni importanti – non c’è problema. RS Partition Recovery recupererà i dati.
Vorremmo anche menzionare il supporto per
TUTTI i moderni file system, che rende RS Partition Recovery uno strumento universale, che dovrebbe essere nell’arsenale di chiunque lavori con i dati.Il secondo modo è installare il driver EXT2FSD – che aggiunge il supporto per il file system Ext 2, 3 o 4 in Windows.
Lo svantaggio principale di questo metodo è che il driver EXT2FSD a volte entra in conflitto con i driver di Windows, e invece del promesso supporto EXT si può ottenere un sistema operativo non funzionante. Inoltre, i tentativi di ripristinare la funzionalità di Windows possono spesso portare alla perdita di dati importanti. Non solo sull’unità C: ma anche sull’unità esterna (se era collegata al computer al momento del guasto).
Il terzo modo è installare un plug-in speciale per Total Commander chiamato ext4tc. Anche questo metodo ha delle insidie. In primo luogo, sarà necessario acquistare Total Commander stesso e quindi installare il plugin ext4tc aggiuntivamente.
Inoltre, a volte dopo l’installazione del plugin ext4tc, il file manager si blocca. Pertanto, si deve essere attenti quando si manipolano dati importanti.
Consigliamo vivamente di non rischiare informazioni importanti perché a volte costa più di tutto il computer e i programmi. Ecco perché è meglio utilizzare il primo metodo descritto sopra.
Le migliori alternative al sistema di file EXT
È sempre più diffusa l’informazione sul web che, poiché Ext4 non supporta le funzionalità di nuova generazione, il sistema operativo Linux passerà presto a Btrfs. Ecco perché molti utenti si chiedono se conviene utilizzare Ext4 o se sia meglio installare un sistema di file alternativo come Btrfs o uno diverso.
La decisione spetta all’utente, ma è vero che Ext4 non supporta molte delle funzionalità attuali. Quindi, se si vuole utilizzare un sistema di file collaudato ma si è disposti a rinunciare a molte funzionalità moderne, la scelta ricade su Ext4. È stabile, ampiamente supportato e funziona bene.
Se si vuole avere un sistema di file moderno che supporti tutte le nuove funzionalità e, allo stesso tempo, non si ha paura di affrontare un ecosistema un po’ meno maturo, la scelta ricade su Btrfs. Inoltre, si sarà un passo avanti, poiché la maggior parte delle distribuzioni Linux lo utilizzerà presto per impostazione predefinita.
Se si cerca il miglior sistema di file per il proprio server e si cerca affidabilità e rischio minimo di perdita di dati, la migliore alternativa è il sistema di file ZFS. C’è solo una cosa: bisogna leggere molte informazioni e imparare molti comandi per utilizzarlo nel modo più efficiente possibile.
Utilizzare o meno il sistema di file EXT spetta a tutti. Speriamo che dopo aver letto questo articolo siate in grado di fare la scelta che meglio si adatta alle vostre esigenze.