La scelta del file system
Forse i "newbie" non sapranno nemmeno cos'è un file system, eppure saperlo è molto, molto importante. Chi avrà installato WindowsXP, avrà dovuto scegliere tra FAT e NTFS, mentre con linux si pone lo stesso dubbio EXT3 o EXT4?. Un file system è una sorta di "pavimento" del disco (infatti sta sotto ogni file), che determina la velocità, il numero di file, la loro dimensione e tanto altro. In questo articolo conosceremo i vari FS e impareremo a sceglierli per pregi e difetti!CARATTERISTICHE DI UN FILE SYSTEM
Prima di buttarci nella scelta vera e propria, dobbiamo sapere meglio le caratteristiche di un file system. In genere, le caratteristiche che veramente bisogna sapere sono poche:
- Il Journaling, che crea dei registri per rendere più facili le operazioni di recupero file dopo uno spegnimento brusco o cose simili, è sempre meglio optare per un FS journaled.
- Numero massimo file: determina quanti file potete caricare in un disco, indeterminamente dalla dimensione. Conviene optare per un numero alto in caso di server o altre applicazioni che neessitano di creare tanti file piccoli
- Dimensione massima file: determina qual'è la dimensione massima che può avere un singolo file. Se lavorate con il multimedia, questo valore dovrà essere molto alto
- Dimensione massima disco: determina quanto può essere grande la memoria, anche quì, dipende dal disco che acquistate.
- Allocazione dei file: quì entriamo nel più tecnico, si tratta del tipo di allocazione file, ovvero in quale modo i file vengono ritrovati su disco. Esistono le allocazioni a tabelle, a bitmap, a inodi, a b-tree...
- Permessi file system: i file system più sicuri permettono di impostare i permessi ai file a basso livello.
- Nomi: determina la lunghezza massima del nome dei file
EXT2: Vecchio ma moderno
Nato nel lontano 1993 per sostituire il vetusto ext, è stato il secondo file system di tipo esteso. Anche se ormai è obsoleto (niente journaling, bassa dimensione massima disco...), ha avuto (e continua ad avere) un successo strepitosa grazie alla sua stabilità e sicurezza... peccato che pecchi un pò in velocità. Se volete formattare una piccola memoria, ext2 è ancora la scelta migliore.
EXT3: ext2 con journaling
Da come si intuisce dal titolo, ext3 ha aggiunto il supporto al
journaling, ma non solo, infatti ha aumentato la dimensione massima del
disco e cambiato il sistema di allocazione al più
performante h-tree (mantenendo i Bitmap e il sistema a
tabelle). Inoltre ext3 ha una grande retrocompatibilità,
tanto che molti strumenti e driver nati per ext2 funzionano benissimo
anche su ext3!
EXT4: Il futuro
Da quando, a dicembre del 2008, è nato, è sempre
stato considerato da tutti il file system del futuro. E in effetti
è così. Dopo la rimozione di tantissimi bug,
finalmente ext4 è diventato stabilissimo ed è il
predefinito di distribuzioni dal calibro di Ubuntu, Fedora e Sabayon.
Il punto di forza di EXT4 è quello di sfruttare pienamente
la memoria RAM del sistema, aumentando drasticamente le performance. Se
poi a questo aggiungiamo velocità, sicurezza e
retrocompatibilità, scopriamo che il futuro si chiama EXT4.
REISERFS: Il meglio per file piccoli
Il punto di forza di questo file system (creato nel 2001, creato da
Hans Raiser) è quello di poter gestire ben 232 file
per un totale di 16TiB. Purtroppo questo filesystem ha un lento
sviluppo e quindi è stato accantonato da Reiser4. Degna di
nota la notevole capacità di recuperare file cancellati.
REISER4: Evoluzione di reiserfs
Con la versione 4, Reiser diventa più sicuro (crittografia
integrata), più moderno (journaling, 64bit...), ma che
mantiene tutti i difetti del suo predecessore: sviluppo lento e scarso
supporto. Si tratta, però, del sistema migliore per gestire
tanti file piccoli.
FAT: dove c'è disco c'è fat
Rappresenta il monopolista della situazione, grazie alla sua
facilità di creare driver che lo ha portato ad essere
l'unico filesystem che gira su tutti i sistemi (compresi i vecchi DOS).
Per questo è il predefinito di floppy e chiavette.
Purtroppo, però, è anche il peggiore:
è poco affidabile, lento e soffre della cosidetta
frammentazione dei file.
NTFS: Il file system di casa Microsoft
File system sviluppato da Microsoft per tutti i windows NT (nt, 2000,
xp, vista, 7...), permette di gestire 4 miliardi di file e si basa su
una tabella chiamata MFT. Anche se supporta tutte le nuove
caratteristiche, rimane lento e obsoleto, ma cnhge sicuro, stabile e
flessibile.
HFS+: Il file system di casa Apple
File System simile ad EXT3, nato per sostituire HFS (paragonabile ad
ext2), è purtroppo lento e obsoleto, ma stabile e sicuroXFS: Il multimediale
Sviluppato da SGI per il sistema IRIX, è un file system molto moderno e performante (journaled, 64bit), che dispone una serie di tool di amministrazione, è ottimo per usi multimediale (grazie alle sue capacità di gestire file e volumi enormi), è efficente, flessibile e velocissimo!ZFS: Giovane promessa
File system nato da poco e sviluppato da Sun, ha prestazioni eccezionali e, grazie ai suoi 128 bit, riesce a gestire ben 16 exabyte di memoria. Purtroppo ancora non è supportato nativamente da Linux e va montato tramite FUSE.FUSE. COS'È? Fuse è un programma che permette di montare virtualmente dei filesystem, anche se non supportati dal kernel. Per esempio si possono utilizzare FS particolari per gestire facebook, gmail, youtube, flickr e wikipedia, oppure montare file system di cui i driver sono ancora in sviluppo.
JOURNALED | NUMERO MASSIMO FILE | DIMENSIONE MASSIMA FILE | DIMENSIONE MASSIMA VOLUME | ALLOCAZIONE DEI FILE | PERMESSI | |
EXT2 | NO | 1018 | 2TiB | 16TiB | I-nodes | POSIX |
EXT3 | SI | VARIABILE | 2TiB | 32TiB | Bitmap, Table | UNIX, ACL |
EXT4 | SI | VARIABILE | 16TiB | 1024PiB | Bitmap, Table | POSIX |
REISERFS | SI | 232 | 8TiB | 16TiB | Bitmap | UNIX, ACL |
REISER4 | SI | ILLIMITATO | 8TiB | ILLIMITATO | Bitmap | UNIX, ACL |
FAT | NO | 228 | 4GB | 2TiB | Linked List | - |
NTFS | SI | 232 | 16TiB | 256TiB | Bitmap, Extents | ACL |
HFS+ | SI | ILLIMITATO | 16EiB | 16EiB | B-tree | UNIX, ACL |
XFS | SI | ILLIMITATO | 8 EXABYTE | 16 EXABYTE | B-tree extent | ACL |
ZFS | SI | 248 | 16 EXABYTE | 16 EXABYTE | - | POSIX |