I File System Journaled su Linux
di Luca Bove (PuntoWeb.Net Srl)
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.