GiĂ dal 2012, con l’introduzione di Windows Server 2012, Microsoft ha presentato ReFS (Resilient File System), un nuovo file system per gli ambienti Windows progettato per i workload moderni e, idealmente, per sostituire NTFS appena possibile. Le prime versioni di ReFS non brillavano per velocitĂ ma con Windows Server 2016 ReFS è diventato il file system raccomandato per workload importanti come i cluster di storage S2D o per le infrastrutture iperconvergenti basate su Hyper-V, promuovendolo ormai senza riserve all’uso in produzione.
Nel mondo di Windows Server è certamente inusuale discutere di file-system alternativi a NTFS, discussioni piĂ¹ comuni nel mondo Linux nel quale le alternative sono numerose, ma se Microsoft ha deciso di introdurre una alternativa a NTFS lo ha fatto probabilmente per superare le limitazioni di una tecnologia disegnata tantissimi anni fa
ReFS include novitĂ come l’introduzione dei B+ trees per incrementare le prestazioni, una tecnologia di block cloning che riduce la necessitĂ di trasferire i dati da una parte all’altra del disco implementando l’operazione come una modifica di puntatori che possono essere aggiornati con pochissimo I/O e lo sparse VDL (Valid Data Length) che puĂ² inizializzare in modo super-veloce i nuovi file e che rende quindi la creazione di file molto grandi una operazione che dura pochissimi secondi. Accanto a questo, la dimensione massima di ogni volume passa a 1 yottabyte, cioè un miliardo di terabyte, garantendo il supporto per dati di dimensioni difficilmente immaginabili quando il vecchio NTFS fu progettato e proiettando ReFS nell’era del cloud.
Ci sono perĂ² 4 funzionalitĂ killer che consentono al nuovo file system di fare da subito la differenza anche quando non si abbiano necessitĂ particolari come l’implementazione di cluster di storage o di virtualizzazione o sistemi complessi. Alcune di queste non sono novitĂ assolute ma richiedevano controller hardware per essere implementate mentre ReFS è un modulo completamente software che non usa i controller RAID hardware.
FunzionalitĂ #1: chkdsk senza downtime
Con l’avvento del cloud i workload sono diventati ancora piĂ¹ complessi e la mole di dati da gestire è aumentata a dismisura. In passato il danneggiamento di un file system richiedeva l’uso di chkdsk ma, soprattutto, la sospensione delle attivitĂ del volume per la correzione degli errori. L’unitĂ doveva essere messa offline e verificata, una operazione che poteva durare anche decine di ore per volumi molto grandi e questo spesso incoraggiava e creare volumi piĂ¹ piccoli per rendere questi tempi accettabili.
Nell’era del cloud la sospensione dell’attivitĂ di un volume, e quindi l’indisponibilitĂ dei relativi dati, per ore non è piĂ¹ accettabile. ReFS non ha quindi piĂ¹ bisogno di chkdsk e nemmeno di sospendere l’attivitĂ del volume perchĂ© il file system puĂ² correggere (se possibile) i problemi in modo automatico e, nei casi in cui la correzione non sia possibile, puĂ² rimuovere le aree danneggiate dalla gestione del volume senza andare ad intaccare gli altri dati.
Perchè è importante
Chiunque si sia trovato davanti alla necessitĂ di effettuare un chkdsk di un volume, magari a causa di un file danneggiato che non poteva essere rimosso nè rinominato, e abbia dovuto attendere ore per il completamento dell’operazione tirerĂ sicuramente un sospiro di sollievo. ReFS non fa magie e non puĂ² impedire la perdita di dati ma puĂ² rendere l’operazione molto meno impattante per il prosieguo delle attivitĂ ed evitare, almeno per i dati non danneggiati, downtime di ore solo per la correzione di pochi file.
FunzionalitĂ #2: correzione automatica degli errori
ReFS puĂ² correggere automaticamente gli errori del file system quando viene usato con tecnologie che lo supportino come Storage Spaces. Su volumi protetti con funzionalitĂ di mirror o parity, quando ReFS rileva un errore puĂ² automaticamente andare a leggere il dato da una delle altre copie disponibili prima di restituire un errore definitivo all’utente. Su un volume mirrored con 3 copie dei dati, ReFS puĂ² quindi provare a leggere una delle altre due copie che risiedono sugli altri dischi e rispondere con errore solo quando tutte e tre le copie siano danneggiate e tutto questo in modo trasparente.
Inoltre, ReFS puĂ² usare gli integrity file-stream come ulteriore meccanismo di protezione dal danneggiamento dei dati. Normalmente il file system memorizza il checksum solo per i metadata ma puĂ² essere configurato per memorizzare il checksum anche dei dati dei file e quindi rilevarne il danneggiamento anche quando le informazioni possano essere lette ma non siano corrette. Anche in questi casi ReFS puĂ² provare a leggere le altre copie disponibili prima di arrendersi e restituire un errore, sempre in modo trasparente per l’utente.
Perchè è importante
La correzione automatica dei dati consente di risolvere in modo rapido ed indolore situazioni nelle quali errori di lettura delle informazioni si potevano ripercuotere su altre parti del funzionamento di una applicazione e generare a cascata altri problemi. ReFS puĂ² risolvere queste situazioni in modo automatico e consentire alle applicazioni di funzionare normalmente e pianificare con una maggiore tranquillitĂ le attivitĂ di manutenzione.
FunzionalitĂ #3: performance migliorate
ReFS puĂ² gestire in modo piĂ¹ semplice quelle situazioni in cui NTFS veniva messo a dura prova, ad esempio nel caso di volumi o cartelle con un numero di file molto elevato che spesso diventavano quasi ingestibili. Inoltre, risolve i casi di estrema frammentazione di file molto grandi che causano errori e richiedono la formattazione NTFS con il famoso switch “/l” che aumenta la dimensione dei record. Con ReFS questo problema non esiste piĂ¹.
Le prestazioni di ReFS in generale variano in relazione ai casi d’uso. NTFS è sicuramente ancora piĂ¹ veloce come file system generico ma tecnologie come il fast-cloning possono rendere le operazioni in ReFS piĂ¹ veloci in determinati scenari ed in generale la differenza di prestazioni tra i due sistemi non è piĂ¹ così ampia, aggirandosi tra il 5 ed il 7%.
Perchè è importante
ReFS non è per adesso piĂ¹ veloce di NTFS per quello che riguarda la velocitĂ pura ma puĂ² compensare con le sue molteplici funzionalitĂ aggiuntive ed in generale è ormai davvero vicino alle prestazioni del suo fratellino piĂ¹ anziano.
FunzionalitĂ #4: scrubbing automatico
Questa funzionalitĂ sarebbe potuta comparire nel punto #2 ma merita un suo paragrafo perchè puĂ² risultare molto utile in alcuni scenari. ReFS ha infatti un processo di scrubbing automatico che viene eseguito ogni 4 settimane, anche se la frequenza puĂ² essere configurata, e che è pensato per combattere il cosiddetto bit flipping che puĂ² capitare con i dati ai quali si accede meno di frequente.
Lo scrubbing effettua un tentativo di accesso di tutti i dati memorizzati su disco e forza in questo modo la lettura delle informazioni ed eventualmente il rilevamento di eventuali errori. Grazie alle sue funzionalitĂ di protezione, ReFS puĂ² correggere automaticamente tali errori prendendo il dato da altre copie, come descritto nel paragrafo #2, ed evitare così la perdita dei dati.
Questa funzionalitĂ puĂ² risultare utilissima se sul volume sono memorizzati dati a cui si accede molto di rado perchè a volte l’infrequenza dell’accesso porta a rendersi conto del problema solo quando è troppo tardi, magari quando anche le copie aggiuntive sono danneggiate o non piĂ¹ recuperabili. Con lo scrubbing invece i dati vengono mantenuti verificati con una certa costanza ed è così possibile rilevare prima eventuali problemi.
Perchè è importante
Per motivi tecnici, i dati a cui si accede di meno sono quelli piĂ¹ a rischio di danneggiamento e spesso sono anche quelli di cui ci accorge solo quando è troppo tardi. Lo scrubbing automatico aiuta a rilevare eventuali problemi ed anche a correggerli automaticamente, se possibile.
FunzionalitĂ #5: deduplica dei dati
Un momento ma non erano 4 i motivi ? Si ma c’è un bonus perchè con il rilascio di Windows Server 1709, ReFS guadagna anche la deduplica dei dati, la tecnologia che consente di memorizzare piĂ¹ copie dello stesso dato solo una volta su disco promettendo un risparmio di spazio che arriva fino al 95% in alcuni scenari. Questa funzionalitĂ non è una esclusiva di ReFS perchè anche NTFS ha la deduplica dei dati ma questa funzionalitĂ aggiunge valore all’investimento in ReFS, specialmente quando la si usa con il block cloning di cui abbiamo giĂ parlato.
Perchè è importante
Ci sono molti scenari in cui lo stesso dato viene memorizzato piĂ¹ volte sullo stesso volume. Macchine e virtuali e backup sono candidati ideali ma ci possono essere altri scenari sorprendenti nei quali la deduplica puĂ² aiutare a risparmiare molto spazio.
Due motivi importanti per non usare ReFS
Ci sono anche limitazioni nell’usare ReFS sebbene siano di molto ridotte rispetto alle prime versioni della tecnologia. Alcune di queste limitazioni sono perĂ² da valutare molto attentamente perchĂ© possono influire sulla sicurezza dei dati e sulle funzionalitĂ del proprio sistema.
Limitazione #1: tool e filosofia interna
Il primo e piĂ¹ importante limite di ReFS sta proprio nella sua filosofia perchĂ© essendo progettato come file-system per l’era del cloud, è stato sviluppato per essere usato nelle infrastrutture di nuova generazione con le quali si suppone che il sistema non vada mai in crash completo grazie ad un design “resiliente”. Questo si nota anche dalla mancanza di sistemi di recupero delle informazioni in caso di volumi che, per qualsiasi ragione, non funzionino correttamente. Intendiamoci, ReFS non è fragile ed anche in deployment complessi come quelli di infrastrutture iperconvergenti con S2D puĂ² recuperare da crash completi e funzionare correttamente.
Come con tutti i sistemi informatici, perĂ², ci sono situazioni in cui – per diverse ragioni – il sistema non puĂ² tornare online da solo ed in questo caso l’assenza di tool di recupero puĂ² essere un fattore da tenere in considerazione. In questi casi il ripristino puĂ² avvenire solo da backup, almeno fino a quando non ci saranno strumenti elaborati da Microsoft o da terze parti che consentano di intervenire piĂ¹ a basso livello. In questo NTFS, che è in giro piĂ¹ di 20 anni, ha un vantaggio.
Limitazione #2: funzionalitĂ non supportate
Alcune delle funzionalitĂ di NTFS non sono supportate dal nuovo ReFS. Non è dato sapere ancora se queste funzionalitĂ siano in fase di completamento o se Microsoft ritenga che una o piĂ¹ di queste non siano utili per gli scenari per cui ReFS è stato progettato ma tra le funzionalitĂ non supportate ci sono la compressione dei file, gli hard link, la cifratura dei dati, le transazioni, i quota ed altre.
Bisogna tenere conto della mancanza di queste funzionalitĂ sia se ne facesse un uso diretto, sia se fossero necessarie per il corretto funzionamento di qualche applicazione che quindi potrebbe non essere eseguita correttamente se installata su ReFS.
In breve…
ReFS viene in genere considerata una tecnologia pensata in modo specifico per l’hardware e da usare nella costruzione di grandi infrastrutture cloud ed è sicuramente questo il suo obiettivo principale. Con le sue funzionalitĂ avanzate, specialmente quando usato con Storage Spaces o Storage Spaces Direct (S2D), ReFS è in grado di risolvere anche automaticamente molti problemi comuni per le infrastrutture di storage e questo senza usare controller particolari ma solo un layer software. Tuttavia la tecnologia è utilizzabile anche con le infrastrutture virtuali, sia quando l’infrastruttura stessa fornisca una resilienza di base, sia quando quest’ultima sia necessaria a livello di deployment virtuale.
CiĂ² che mi sento di raccomandare piĂ¹ che caldamente è perĂ² la necessitĂ di affiancare al deployment di ReFS un robusto sistema di backup. Come detto, ReFS è nuovo e, a parte i bug, la mancanza di tool di recupero potrebbe rendere i dati inaccessibili o costosi da recuperare
Alcune funzionalitĂ , come la capacitĂ di non dover mettere offline il volume da riparare, sono enorme aiuto anche in caso di virtualizzazione senza contare che in alcuni casi è Microsoft stessa che raccomanda l’uso di ReFS ad esempio per i database di Exchange 2016.
Nel mondo di Windows Server è certamente inusuale discutere di file-system alternativi a NTFS, discussioni piĂ¹ comuni nel mondo Linux nel quale le alternative sono numerose, ma se Microsoft ha deciso di introdurre una alternativa a NTFS lo ha fatto probabilmente per superare le limitazioni di una tecnologia disegnata tantissimi anni fa e che, seppur migliorata nel corso del tempo, probabilmente inizia a sentire il peso di un design pre-cloud e pre-Internet.
CiĂ² che mi sento di raccomandare piĂ¹ che caldamente è perĂ² la necessitĂ di affiancare al deployment di ReFS un robusto sistema di backup. Come detto, ReFS è nuovo e, a parte i bug, la mancanza di tool di recupero potrebbe rendere i dati inaccessibili o costosi da recuperare ed in questi casi è piĂ¹ pratico avere un backup da ripristinare per poter recuperare almeno la parte necessaria delle informazioni in base alle proprie necessitĂ . ReFS senza backup ? No no…

































Leave a Response