Continuando l'argomento del salvataggio dei dati, di cui al
precedente articolo, la soluzione di
ZFS consiste in un sistema di copia in scrittura basato sulle transazioni, che combina file system e volume manager; i comandi a livello di file system si distanziano dai dischi fisici sottostanti grazie a un meccanismo di virtualizzazione dello
storage pool che, mancando un volume manager, riduce in modo significativo i tempi necessari per le attività più tipiche degli amministratori di sistema. Le interazioni ad alto livello avvengono attraverso unità di gestione dei dati (DMU) con transazioni atomiche per evitare di ritrovarsi con dati inconsistenti.
Le operazioni
Copy-On-Write avvengono in modo tale da spostare il puntatore al blocco di dati dopo il completamento della transazione: in questo modo, i puntatori ai dati "buoni" non si spostano finché la scrittura non è completa, e non c'è bisogno di filesystem journaling, logging, o di un resinc del mirror se la macchina si riavvia inaspettatamente.
Il cosiddetto
end-to-end checksumming serve ad evitare possibili errori dovuti al fatto che il checksum è salvato all'interno del blocco stesso che controlla, e quindi manca una verifica esterna di validità. Le possibilità di errore vengono risolte da questo file system salvando il checksum al di fuori del blocco, e tra questo e il cosiddetto
uberblock, che è l'unico ad avere un checksum auto-validante SHA-256. Tutti i controlli sui blocchi vengono effettuati nella memoria server, in modo tale che gli errori vengano intercettati senza peraltro mettere in ginocchio la CPU.
Come ho già sottolineato, il
primo articolo descrive in generale il funzionamento del sistema, mentre il
secondo approfondisce con esempi gli strumenti di amministrazione e le prospettive di sviluppo per il futuro, indicando anche risorse utili come il sito della
community, il
Learning Center e alcuni collegamenti a
blog che hanno parlato dell'argomento. La documentazione presenta tra l'altro numerose
risposte a svariate questioni su
ZFS e i motivi per cui adottarlo, e si possono postare quesiti anche sulla
lista di discussione. E' anche possibile provare Solaris 10
scaricandolo gratuitamente dal sito.