Che cos'è ext3 (terzo file system esteso)?

8 aprile 2024

Il Third Extended File System (ext3) è un file system con journaling ampiamente utilizzato dal kernel Linux . È stato progettato come estensione del Second Extended File System (ext2), garantendo la compatibilità con le versioni precedenti e aggiungendo importanti nuove funzionalità. Una delle aggiunte più significative è stata l'introduzione del journaling, che ha migliorato notevolmente l'affidabilità e l'integrità del file system, soprattutto in situazioni in cui il sistema potrebbe non essere arrestato correttamente, come ad esempio durante un'interruzione di corrente o un crash di sistema.

cos'è ext3

Caratteristiche ext3

Ecco uno sguardo più da vicino ad alcune delle caratteristiche principali di ext3:

Journaling

La caratteristica più importante di ext3 è la sua capacità di journaling, che migliora notevolmente l'affidabilità del file system e riduce il tempo richiesto per il ripristino dopo un crash. In un file system con journaling, le modifiche vengono prima registrate in un'area dedicata chiamata journal prima di essere applicate al file system principale. Questo processo garantisce che, anche in caso di guasto del sistema, il file system possa essere rapidamente riportato a uno stato coerente riproducendo o ignorando le transazioni incomplete registrate nel giornale.

Crescita del file system online

ext3 supporta il ridimensionamento del file system mentre è montato e in uso, una funzionalità nota come crescita online del file system. Ciò è particolarmente utile per gli amministratori di sistema che necessitano di aumentare la capacità di archiviazione senza interruzioni del servizio.

Indicizzazione Htree per directory

Per migliorare le prestazioni delle operazioni nelle directory contenenti un gran numero di file, ext3 implementa l'indicizzazione Htree, un metodo che utilizza una struttura ad albero B con hash per indicizzare le voci di directory. Questo meccanismo riduce il tempo necessario per trovare i file in directory di grandi dimensioni, migliorando le prestazioni complessive del sistema.

Compatibilità all'indietro con ext2

ext3 è retrocompatibile con ext2, il che significa che un file system ext3 può essere montato e utilizzato come file system ext2. Questa funzionalità facilita gli aggiornamenti facili da ext2 a ext3 senza la necessità di migrazione dei dati. Al contrario, i file system ext3 possono essere montati come ext2, anche se senza supporto per il journaling.

Supporto per file e file system di grandi dimensioni

ext3 può supportare file di dimensioni fino a 2 TB e file system fino a 32 TB. Si è trattato di un miglioramento significativo rispetto a ext2 e ha soddisfatto i requisiti della maggior parte delle applicazioni e dei sistemi al momento del suo sviluppo.

Elenchi di controllo di accesso (ACL) e attributi estesi

ext3 supporta gli elenchi di controllo di accesso (ACL), che forniscono ulteriori informazioni flexmeccanismo di autorizzazione più flessibile rispetto a quello tradizionale UNIX permessi dei file. Inoltre, gli attributi estesi consentono agli utenti e applicazioni associare ulteriori metadati con file e directory oltre gli attributi di file standard.

Modalità di inserimento nel diario

ext3 offre diverse modalità di journaling che consentono agli utenti di trovare un equilibrio tra prestazioni e integrità dei dati . Queste modalità includono:

  • Journal. Sia i dati che i metadati vengono registrati nel journal, garantendo il massimo livello di integrità ma con un potenziale impatto sulle prestazioni.
  • Ordinato. Solo i metadati vengono inseriti nel journal, ma i blocchi di dati vengono scritti prima che i metadati associati vengano inseriti nel journal. Questa è la modalità predefinita, che fornisce un buon equilibrio tra prestazioni e affidabilità.
  • Rispondere. Vengono registrati nel journal solo i metadati e non vi è alcuna garanzia che i blocchi di dati vengano scritti prima dei metadati. Questa modalità offre le migliori prestazioni ma la minima garanzia di integrità dei dati.

ext3 Vantaggi e svantaggi

Il file system ext3 ha introdotto miglioramenti significativi nella tecnologia del file system rispetto al suo predecessore, ext2. Tuttavia, presentava una serie di inconvenienti che si sono rivelati nel tempo, come frammentazione, problemi di prestazioni e mancanza di supporto per volumi di archiviazione molto grandi. Di seguito esaminiamo questi vantaggi e svantaggi di ext3.

Vantaggi

Ecco i vantaggi di ext3:

  • Affidabilità migliorata. La funzionalità di journaling migliora in modo significativo l'affidabilità del file system mantenendo un registro delle modifiche che stanno per essere apportate. In caso di arresto anomalo del sistema o interruzione di corrente, ciò consente al file system di ripristinarsi rapidamente riproducendo le modifiche da questo giornale, riducendo così al minimo il rischio di danneggiamento dei dati.
  • Tempi di recupero più rapidi. A differenza di ext2, che potrebbe richiedere controlli approfonditi del file system (fsck) dopo un crash, il journaling di ext3 riduce la necessità di tali controlli, portando a tempi di ripristino molto più rapidi.
  • Facilità di aggiornamento. Uno dei maggiori vantaggi di ext3 era la sua compatibilità con ext2. Ciò ha consentito agli utenti di aggiornare i propri file system da ext2 a ext3 senza la necessità di formattare o migrare i dati, il che ha rappresentato una notevole comodità e un notevole risparmio di tempo.
  • Flessibilità. I sistemi potrebbero montare un file system ext3 come ext2 se necessario (anche se senza vantaggi di journaling), fornendo flexcapacità nel modo in cui il file system è stato utilizzato e mantenuto.
  • Supporto per volumi e file di grandi dimensioni. ext3 supportava file system fino a 32 TB e dimensioni di file fino a 2 TB, il che era sufficiente per soddisfare le esigenze degli utenti con database e file di grandi dimensioni in quel momento.
  • Integrità dei dati migliorata. Le modalità di journaling (journal, ordinato e writeback) offrivano scelte tra livelli di prestazioni e integrità dei dati, consentendo agli amministratori di scegliere la modalità più appropriata per le proprie esigenze. Questo flexLa capacità ha aiutato a ottimizzare i sistemi in base alla priorità dell'integrità dei dati rispetto alle prestazioni.
  • Elenchi di controllo di accesso (ACL) e attributi estesi. Il supporto per gli ACL ha fornito un controllo più granulare sulle autorizzazioni dei file, migliorando le funzionalità di sicurezza e collaborazione. Gli attributi estesi consentono di archiviare metadati aggiuntivi, il che è vantaggioso per determinate applicazioni e servizi.

Svantaggi

Ecco un elenco degli svantaggi di ext3, soprattutto se confrontato con i sistemi più recenti:

  • Frammentazione. ext3 può soffrire di frammentazione nel tempo, soprattutto in ambienti con un gran numero di piccoli file o con file system che vengono spesso scritti e cancellati. La frammentazione può ridurre le prestazioni perché aumenta il tempo necessario per leggere o scrivere i file, poiché le testine di un disco rigido devono spostarsi in posizioni diverse per accedere ai frammenti di file.
  • Diario limitato flexflessibilità. Sebbene ext3 abbia introdotto il journaling, che ha migliorato significativamente l'integrità dei dati e i tempi di ripristino dopo gli arresti anomali, la sua implementazione non è altrettanto valida flexflessibile o efficiente come nei file system più recenti. Ad esempio, il journaling di ext4 è più efficiente e offre una funzionalità di allocazione ritardata che migliora le prestazioni e riduce la frammentazione.
  • Limitazioni sulla dimensione del file e sulla dimensione del file system. ext3 supporta dimensioni di file fino a 2 TB e dimensioni di file system fino a 32 TB, che, sebbene sufficienti al momento del suo sviluppo, sono limitanti per le applicazioni moderne che gestiscono set di dati più grandi. File system più recenti come ext4 and Btrfs supportano file e file system molto più grandi, rendendoli più adatti a esigenze di archiviazione su larga scala.
  • Mancanza di supporto integrato per istantanee e compressione. ext3 non offre supporto integrato per snapshot o compressione dei dati, funzionalità sempre più importanti per backup, recupero dei dati e gestione efficiente dello storage. Istantanee registra lo stato del file system in un particolare momento mentre la compressione riduce significativamente la quantità di spazio su disco utilizzato. Entrambe le funzionalità sono disponibili nei file system più recenti come Btrfs e ZFS.
  • Limitazione delle dimensioni del gruppo di blocchi singoli. La dimensione di un gruppo di blocchi in ext3 è fissa, limitando il numero massimo di blocchi e, di conseguenza, la dimensione totale del file system. Questa architettura influisce su modulabilità del file system, rendendolo meno adatto a volumi di archiviazione molto grandi rispetto alle soluzioni più recenti.
  • Efficienza nella gestione di directory di grandi dimensioni. Mentre l'indicizzazione Htree ha migliorato l'efficienza nella gestione di directory di grandi dimensioni rispetto a ext2, ext3 può ancora riscontrare un degrado delle prestazioni quando si gestiscono directory con decine di migliaia di file o più. I file system più recenti hanno ulteriormente ottimizzato la gestione e l'indicizzazione delle directory, riducendo i tempi di ricerca e migliorando le prestazioni generali in questi scenari.
  • L'allocazione ritardata non è supportata. L'allocazione ritardata, una funzionalità introdotta con ext4, consente al file system di ritardare l'allocazione dei blocchi del disco finché i dati non vengono scritti sul disco. Ciò migliora le prestazioni e riduce la frammentazione ma non è disponibile in ext3.

Come creare un file system ext3?

La creazione di un file system ext3 prevede la formattazione di una partizione con il tipo di file system ext3. Questa procedura può essere eseguita su qualsiasi dispositivo a blocchi, come dischi rigidi, SSD o partizioni, e in genere viene eseguita tramite riga di comando in Linux. Prima di procedere, assicurarsi di aver eseguito il backup di tutti i dati importanti presenti sulla partizione da formattare, poiché questa procedura cancellerà i dati esistenti.

Ecco come creare un file system ext3 passo dopo passo:

Passaggio 1: identificare la partizione

Innanzitutto, è necessario identificare il dispositivo a blocchi che si desidera formattare con il file system ext3. È possibile visualizzare l'elenco di tutti i dispositivi a blocchi disponibili e le relative partizioni utilizzando il comando lsblk o fdisk -l.

lsblk

or

sudo fdisk -l

Cerca l'identificativo del dispositivo corrispondente alla partizione che desideri formattare, ad esempio /dev/sdb1.

Passaggio 2: smontare la partizione (se necessario)

Se la partizione è montata, è necessario smontarla prima di formattarla. Utilizzare il comando umount seguito dall'identificativo del dispositivo:

sudo umount /dev/sdb1

Se la partizione non è montata, puoi saltare questo passaggio.

Passaggio 3: creare il file system ext3

Per formattare la partizione con il file system ext3, utilizzare il comando mkfs.ext3 seguito dall'identificativo del dispositivo:

sudo mkfs.ext3 /dev/sdb1

Questo comando creerà un file system ext3 sulla partizione specificata. È possibile aggiungere l' opzione -L per assegnare un'etichetta al file system:

sudo mkfs.ext3 -L MyExt3Partition /dev/sdb1

Passaggio 4: montare il file system

Dopo la formattazione, puoi montare il nuovo file system ext3 in una directory nella gerarchia del file system. Innanzitutto, crea un punto di montaggio se non esiste già:

sudo mkdir /mnt/myext3

Quindi, monta il file system ext3 nella directory appena creata:

sudo mount /dev/sdb1 /mnt/myext3

Passaggio 5: verificare il file system

Infine, è possibile verificare che il file system sia montato e controllarne il tipo utilizzando il comando df o mount :

df -Th /mnt/myext3

or

mount | grep /mnt/myext3

Questi comandi mostreranno informazioni sul file system montato, incluso il suo tipo (ext3 in questo caso).

Considerazioni importanti

  • Perdita di dati. La formattazione di una partizione cancellerà tutti i dati esistenti su di essa. Assicurati di averlo fatto backups prima di procedere.
  • Identificatore del dispositivo. Sii assolutamente certo dell'identificatore del dispositivo della partizione (/ dev / sdb1 nell'esempio). La formattazione della partizione errata può causare la perdita di dati.
  • Privilegi di root. Questi comandi richiedono i privilegi di root, quindi hanno il prefisso sudo. A seconda della configurazione del sistema, potrebbe essere necessario inserire la password.

Anastasia
Spasojevic
Anastazija è una scrittrice di contenuti esperta con conoscenza e passione per cloud informatica, informatica e sicurezza online. A phoenixNAP, si concentra sulla risposta a domande scottanti su come garantire la robustezza e la sicurezza dei dati per tutti i partecipanti al panorama digitale.