Sul canale https://kiwiirc.com/client/irc.freenode.net/#fedora-it ieri sera si è tornati a parlare di file system. Lascio qui qualche notizia e qualche riflessione personale
Btrfs sarebbe un filesystem fantastico. Snapshot al volo, deduplicazione, checksum dei metadati, correzione automatica degli errori (bitrot incluso) in configurazione RAID, volumi… Dico “sarebbe” perché purtroppo lo sviluppo pare essersi fermato due anni fa. Lo sviluppatore principale, al quale vengono assegnati in automatico i bug del kernel riguardanti Btrfs, è andato a lavorare per Facebook e lo sviluppo pare averne risentito in maniera importante. Ad oggi ci sono 367 bug aperti (https://bugzilla.kernel.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=btrfs&list_id=817871).
Recentemente, aggiornato Fedora, sono incappato in un problema micidiale: pur avendo metà disco libero, Btrfs ha incominciato ad agire come se lo spazio fosse esaurito, pur comunicando a df che c’erano più di 100 GB a disposizione. Il problema sta nel fatto che lo spazio dedicato ai metadati si era esaurito ed ho dovuto aumentarlo manualmente. Inoltre ha problemi di performance nella gestione dei dischi virtuali e database (ed è quindi meglio disabilitare la funzionalità COW nelle cartelle che contengono questo tipo di file).
Ext4 è solido e il suo fsck è micidiale. Dalla versione 4.1 supporta anche la cifratura. Si può utilizzare ext4-crypt, ma non è stato ancora pacchettizzato su Fedora. Lo si può combinare con overlayfs per “simulare” volumi condivisi, snapshot, ecc.
XFS è diventato il filesystem di default su RHEL & co. Tra poco dovrebbe arrivare il supporto per il reflink, ovvero la possibilità di copiare un file copiando semplicemente il suo riferimento, e non il dato intero (Btrfs lo fa di default).
LVM non è un filesystem, ma un gestore di volumi, è l’opzione di default per l’installazione di Fedora Workstation, permette di fare snapshot, RAID e cache su un device dedicato a prescindere dal filesystem.
Bcache è un sistema che permette di utilizzare un dispositivo come cache (ad esempio, si può prendere un piccolo ssd ed utilizzarlo come cache per un disco rigido) e funziona a livello di blocchi, quindi è indipendente dal filesystem. E’ integrato nei kernel 3.10 e superiori e su Fedora lo si può sfruttare grazie al pacchetto bcache-tools. La cosa interessante da questo progetto ne è nato un altro: bcachefs. E’ stato annunciato poco meno di un anno fa, e il suo creatore ora chiede di essere sostenuto per continuare il progetto.
Per maggiori informazinoi: https://www.patreon.com/bcachefs