Diamo uno sguardo ai file system evoluti con funzionalita' di journaling disponibili per Linux.
Linux implementa una tecnica molto lenta per riprendersi da un crash di sistema. Se un computer con Linux, dotato di un grande sistema di storage va giu', per effettuare il reboot impieghera' un'enorme quantita' di tempo. Ma ora ci sono almeno otto file system consistenti che permettono di risolvere il problema.
Il file system standard di Linux non tiene traccia delle transazioni correnti. In questo modo non si puo' tornare indietro. Cosi', in caso di crash, occorre fare la scansione dell'intero file system prima di permettere la scrittura agli utenti. La comparsa generalizzata di file system journaled (con giornale), in grado di mantenere un elevatissimo grado di congruenza fra dati e metadati, e' la risposta alle richieste degli utenti di poter massimizzare la sicurezza di registrazione dei dati anche nelle condizioni piu' critiche, in cui ad es. non sia sempre garantita una chiusura (shutdown) corretta del sistema operativo.
La capacita' di effettuare il journaling dei dati e' una caratteristica considerata ormai indispensabile per i sistemi mission critical e per quelli destinati a un uso pubblico generalizzato da parte di utenti non necessariamente accorti, es. sistemi embedded, set top box, ecc.
Tutte le versioni di Unix invece hanno la capacita' di fare un reboot rapido. Riescono ad evitare la scansione di tutto il file system, leggendo solo il "giornale", un file di dimensioni contenute, dove vengono riportati tutti i cambiamenti recenti avvenuti nel file system.
Tra i file system journaled oggi disponibili per Linux citiamo:
- IBM JFS Journaling File System
http://oss.software.ibm.com/developerworks/opensource/jfs/?dwzone=opensource
- ReiserFS di Hans Rieserv
http://www.namesys.com/
- XFS dalla versione IRIX di SGI
http://oss.sgi.com/projects/xfs/
- Un file system e un "volume manager" della Veritas Software
http://www.sun.com/storage/software/veritas.html
- ext3fs di Stephne Tweedie
http://www.memalpha.cx/Linux/Ext3fs/
- Global File System della SiStina Software
http://www.sistina.com/gfs/
- Tux2 di Dan Philip
http://innominate.org/~phillips/tux2/
- Intermezzo
http://inter-mezzo.org/
Il ReiserFs e il JFS sono nella versione definitiva, mentre tutti gli altri sono ancora in fase di sviluppo. Tutti questi file system hanno in comune il fatto di scrivere ogni operazione di memorizzazione su un file separato, il giornale. In questo modo modo si velocizza il riavvio e soprattutto si minimizza il rischio di perdere pezzi di file.
I principi e i comandi per gestire un file system: mount, df, du, fsck, mkfs.