Windows 8 ReFS, un nuovo file system flessibile e sicuro

Resilient File System (ReFS), è il nuovo file system che Microsoft presenterà con Windows Server 8. Non sarà offerto con la versione client. ReFS è dedicato solo all'archiviazione in volumi dei dati, e non può essere usato su partizioni di avvio.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

ReFS (Resilient File System) è il nuovo file system creato da Microsoft per Windows Server 8. A presentare la novità è stato Surendra Verma del team Storage and File System, sul blog dedicato al futuro sistema operativo. Verma ha spiegato che ReFS è dedicato solo all'archiviazione in volumi dei dati (in un futuro non specificato anche su client e volume di avvio), e non è possibile usarlo per partizioni di avvio (in futuro sì, ma non si sa quando). Inoltre non può essere sfruttato su supporti o dischi rimovibili.

Lo sviluppo di ReFS ha seguito precise direttrici, tra cui mantenere un grado elevato di compatibilità con un sottoinsieme di caratteristiche dell'NTFS, la struttura estremamente scalabile e infine l'integrità, la verifica e l'autocorrezione dei dati.

"Non abbiamo iniziato da zero, ma lo abbiamo ripensato nelle parti in cui aveva senso, mentre abbiamo costruito sopra le cose buone di NTFS per tutto il resto", ha spiegato Verma. Per ReFS l'azienda ha riusato il codice responsabile per l'implementazione della semantica del file system di Windows e l'ha combinato con un "motore totalmente nuovo", dedicato alle strutture on-disk e alla loro manipolazione.

Le directory sono rappresentate in tabelle. "Le directory possono scalare in modo efficiente, diventando molto grandi. I file sono implementati come tabelle integrate all'interno di una riga della directory di origine, che è essa stessa una tabella (rappresentata come File Metadata nel diagramma superiore)".

"La fila all'interno della tabella File Metadata rappresenta i vari attributi del file. La posizione ed estensione dei dati è rappresentata da una tabella di mappature offset e opzionalmente checksum. Questo significa che file e directory possono essere molto grandi senza avere un impatto prestazionale, eclissando le limitazioni riscontrate in NTFS".

"Tutto lo spazio di allocazione su disco è gestito da un allocatore gerarchico. Per offrire scalabilità ci sono tre di queste tabelle  - allocatori grandi, medi e piccoli. […] Questo permette agli algoritmi di allocazione di scalare molto bene e ci consente di collocare naturalmente i metadati associati per avere migliori prestazioni. […] A parte il sistema globale delle tabelle e metadati, le voci nella tabella object riferiscono alle directory, dal momento che i file sono incorporati all'interno di directory".

Microsoft ha speso molto tempo sul tema dell'affidabilità ed efficienza dei dati, arrivando a puntare sull'approccio "allocate-on-write", che non aggiorna mai i metadati sul posto, ma li scrive in una locazione differente. "Le transazioni sono basate quest'approccio allocate-on-write. Lo strato superiore di ReFS è derivato da NTFS, perciò il nuovo modello di transazione sfrutta perfettamente la logica di recupero dai fallimenti già presente, che è stata testata e stabilizzata".

"ReFS alloca i metadata in modo tale da consentire scritture combinate per parti correlate (per esempio attributi, nomi e pagine) in un minor numero di operazioni (più grandi) di I/O, una grande cosa sia per gli hard disk che per la memoria Flash. Allo stesso tempo, è mantenuta una misura di contiguità in lettura. In questo caso lo schema di allocazione gerarchica è sfruttato pesantemente".

Per rilevare e correggere dati corrotti, tutti i metadata ReFS sono verificati e il checksum è archiviato in modo indipendente dalla pagina stessa. "Questo ci permette di rilevare tutte le forme di corruzione, incluse scritture errate e la degradazione dei dati sul supporto. Abbiamo un'opzione per cui sono controllati anche i contenuti di un file, chiamata integrity streams. ReFS scrive sempre i cambiamenti dei file in una locazione differente da quella originale, ma al contempo i dati preesistenti non vengono persi a causa di nuove scritture".

Storage Spaces, una tecnologia che lavora insieme a ReFS, oltre a migliorare le prestazioni protegge i dati mantenendo copie su più dischi. In caso di problemi in lettura, Storage Spaces, è in grado di leggere le altre copie e in caso di problemi in scrittura di riallocare dati in modo trasparente. Storage Spaces e ReFS fanno anche molte altre cose per migliorare la gestione dei dati e consigliamo a chi è del settore e ha le necessarie competenze tecniche una lettura approfondita del post scritto dallo specialista di casa Microsoft.