Il Terzo File System Esteso (ext3) è un journaling file system che era ampiamente utilizzato da Kernel Linux. È stato progettato per essere un'estensione del secondo file system esteso (ext2), fornendo compatibilità con le versioni precedenti e aggiungendo nuove importanti funzionalità. Una delle aggiunte più significative è stata l'introduzione del journaling, che ha notevolmente migliorato l'affidabilità e l'integrità del file system, soprattutto in situazioni in cui il sistema potrebbe non essere spento in modo pulito, come durante un'interruzione di corrente o un arresto anomalo del sistema.
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 del file system online. Ciò è particolarmente utile per gli amministratori di sistema che necessitano di aumentare la capacità di archiviazione senza i tempi di inattività.
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 un hash Struttura ad albero B per indicizzare le voci della directory. Questo meccanismo riduce il tempo necessario per trovare 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 bilanciare prestazioni e l'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 e 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 scalabilità 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 implica la formattazione di una partizione con il tipo di file system ext3. Questo processo può essere eseguito su qualsiasi dispositivo a blocchi, come dischi rigidi, SSDo spazio partizionato e viene comunemente eseguito tramite il file riga di comando inLinux. Prima di procedere, assicurati di aver eseguito il backup di tutti i dati importanti sulla partizione da formattare, poiché questo processo cancellerà i dati esistenti.
Ecco come creare un file system ext3 passo dopo passo:
Passaggio 1: identificare la partizione
Innanzitutto, devi identificare il dispositivo a blocchi che desideri formattare con il file system ext3. Puoi elencare tutti i dispositivi a blocchi disponibili e le relative partizioni utilizzando il file lsblk or fdisk -l comando.
lsblk
or
sudo fdisk -l
Cerca l'identificatore del dispositivo che corrisponde alla partizione che desideri formattare, ad esempio / dev / sdb1.
Passaggio 2: smontare la partizione (se necessario)
Se la partizione è montata, è necessario smontarla prima della formattazione. Usa il umount comando seguito dall'identificatore 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 file mkfs.ext3 comando seguito dall'identificatore del dispositivo:
sudo mkfs.ext3 /dev/sdb1
Questo comando creerà un file system ext3 sulla partizione specificata. Puoi aggiungere il -L opzione 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, puoi verificare che il file system sia montato e controllarne il tipo utilizzando il file df or Mount comando:
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.