ReFS

Da Wikipedia, l'enciclopedia libera.
ReFS
Dati generali
Sviluppatore Microsoft
Nome completo Resilient File System
Introduzione 4 settembre 2012[1] Windows Server 2012, Windows 8 (sola lettura)
Struttura
Struttura contenuti directory B+Tree
Limiti
Dimensione massima di un file 16 EiB
Dimensione massima del nome di un file Stringhe di testo da 32 kB
Dimensione massima del volume 1 YiB

ReFS (acronimo di Resilient File System), precedentemente noto con il nome in codice Protogon,[2] è un file system che apporta alcuni miglioramenti a NTFS.[3][4]

Trapelato per la prima volta nella build 7955 di Windows 8[5] e introdotto ufficialmente a partire da Windows Server "8" Beta, è attualmente supportato in sola lettura da Windows 8 e anche in scrittura da Windows Server 2012.

Strutture dati e scalabilità[modifica | modifica sorgente]

I metadati e i file sono memorizzati in B+Tree, cioè sono organizzati in una struttura gerarchica a tabelle simile ai database relazionali: una tabella principale, detta Object Table, contiene i riferimenti alle directory, le quali a loro volta contengono ciascuna una tabella contenente i singoli file, i quali a loro volta sono in associazione ciascuno con una tabella File Metadata contenente i suoi metadati. Alle tabelle File Metadata si agganciano i File Extents, ossia delle tabelle atte a memorizzare i checksum del file.[6]

Le dimensioni dei file, le dimensioni totali del volume, il numero di file in una directory e il numero di directory in un volume sono limitati da numeri a 64 bit: la dimensione massima dei file risulta perciò di 16 exbibyte, e la dimensione massima dei volumi ammonta a 1 yobibyte (con cluster da 64 kB). I nomi e i percorsi dei file sono limitati a stringhe di testo da 32 kB, e lo spazio libero è calcolato da un allocatore gerarchico che contiene tre tabelle separate per blocchi piccoli, medi e grandi. Grazie a questa maggiore scalabilità rispetto a NTFS, ReFS mantiene una grande flessibilità e reattività anche di fronte a directory assai articolate e numerosi file di grandi dimensioni.

Resilienza[modifica | modifica sorgente]

I metadati possono avere un checksum facoltativo in un "flusso di integrità" separato: tutti i file possono così incorporare dei checksum a 64 bit, che sono memorizzati in modo indipendente all'interno delle tabelle File Extents. Ciò è controllato dal nuovo attributo "integrità" applicabile sia ai file sia alle directory.

Grazie alla resilienza incorporata, gli amministratori non hanno bisogno di eseguire periodicamente strumenti di controllo degli errori come Chkdsk durante l'utilizzo di ReFS: le funzionalità di resilienza di ReFS possono rilevare se una copia di mirroring dei file è danneggiata utilizzando un processo di pulitura dati in background, che legge periodicamente tutte le copie di mirroring e verifica i loro checksum, sostituendo poi le copie errate con quelle corrette.

Se ciononostante i file o i metadati si danneggiano, il file può essere eliminato senza dover porre offline l'intero volume per manutenzione, ripristinandolo poi da un backup.

Spazi di archiviazione[modifica | modifica sorgente]

ReFS si integra con Spazi di archiviazione, un livello di virtualizzazione archiviazione che consente il mirroring e lo striping dei dati ed anche la condivisione dei pool di archiviazione tra le macchine.[7]

I dischi dinamici con volumi di striping o di mirroring sono sostituiti con pool di archiviazione di mirroring o di striping forniti da Spazi di archiviazione. Tuttavia, in Windows Server 2012 la correzione automatica degli errori è supportata solo sugli spazi di mirroring.

Prestazioni[modifica | modifica sorgente]

ReFS impiega una strategia di aggiornamento allocation-on-write dei metadati, che evita i processi di scrittura inutili virtualizzando la scrittura alla duplicazione di una risorsa. Anche la gestione dei checksum dei file impiega una strategia di aggiornamento di tipo allocation-on-write.

Il numero di operazioni di input/output viene ridotto allocando nuovi blocchi per ogni transazione di aggiornamento, e accorpando in grandi batch le parti correlate alle singole transazioni.

Inoltre, il carico di lavoro del processo di pulitura dati in background grava esclusivamente sul file system, senza impegnare le risorse del sistema operativo.[6]

A partire dalla versione RTM di Windows Server 2012 sono supportati i file sparse.[8]

Retrocompatibilità[modifica | modifica sorgente]

ReFS non richiede nuove API di sistema, e la maggior parte dei filtri del file system continua a funzionare con i volumi ReFS. ReFS supporta molte delle funzionalità esistenti di Windows e di NTFS come la crittografia BitLocker, gli elenchi di controllo di accesso, il diario USN, le notifiche delle modifiche,[9] i collegamenti reali, i punti di giunzione, i punti di montaggio, i punti di analisi, gli snapshot di volume, gli ID file e gli oplock.

ReFS non supporta alcune funzionalità, tra cui i flussi denominati, gli ID oggetto, i nomi brevi, la compressione dei file, la crittografia a livello dei file (EFS), le transazioni dei dati dell'utente, i collegamenti reali, gli attributi estesi, le quote disco, e gli snapshot scrivibili o gli snapshot più grandi di 64 TB. Sono necessari prodotti di terze parti per la deduplicazione dei dati e per una cache di secondo livello tra la DRAM e l'archiviazione.

Supporto[modifica | modifica sorgente]

Il supporto a ReFS fu introdotto a partire da Windows Server "8" Beta[10] (Windows 8 Server Developer Preview ne era ancora privo[11]). Anche se le unità formattate dalle prime build trapelate di Windows 8 non vengono riconosciute correttamente da Windows 7 e precedenti,[5] Microsoft prevede di garantire in futuro il supporto a ReFS per tutti i sistemi operativi dotati del supporto a NTFS.[3]

I piani di Microsoft per l'adozione di ReFS prevedono tre principali fasi successive: attualmente ReFS è destinato esclusivamente ai file server, in sola lettura per Windows 8 e anche in scrittura per Windows Server 2012; in un secondo momento anche la versione client di Windows acquisirà il pieno supporto a ReFS per le unità esterne; infine sarà disponibile come normale file system anche per la partizione di sistema di Windows.[3]

Note[modifica | modifica sorgente]

  1. ^ (EN) Jeffrey Snover, Windows Server 2012 final release timing, Windows Server Blog, 9 luglio 2012. URL consultato il 16 luglio 2012 (archiviato il 16 luglio 2012).
  2. ^ (EN) Canouna, Good bye Protogon, welcome ReFS, WinUnleaked.tk, 1º dicembre 2011. URL consultato il 4 marzo 2012 (archiviato dall'url originale il 4 marzo 2012).
  3. ^ a b c (EN) Surendra, Building the next generation file system for Windows ReFS, Building Windows 8, 16 gennaio 2012. URL consultato il 28 febbraio 2012 (archiviato il 24 febbraio 2012).
  4. ^ (EN) Mary Jo Foley, Microsoft goes public with plans for its new Windows 8 file system, ZDNet, 16 gennaio 2012. URL consultato il 2 marzo 2012 (archiviato il 2 marzo 2012).
  5. ^ a b Marco Rinaldi, Alla scoperta del nuovo file system Protogon: come utilizzarlo per formattare un drive, WindowsBlogItalia, 14 giugno 2011. URL consultato il 4 marzo 2012 (archiviato il 4 marzo 2012).
  6. ^ a b Microsoft lancia ReFS in Computer Magazine, nº 187, marzo 2012, pp. 16-18.
  7. ^ (EN) Steven Sinofsky, Virtualizing storage for scale, resiliency, and efficiency, Building Windows 8 blog, 5 gennaio 2012. URL consultato il 24 febbraio 2012 (archiviato il 24 febbraio 2012).
  8. ^ (EN) Martin Lucas, Windows Server 2012: Does ReFS replace NTFS? When should I use it?, Ask Premier Field Engineering (PFE) Platforms, 1º gennaio 2013. URL consultato il 31 marzo 2013 (archiviato il 31 marzo 2013).
  9. ^ (EN) ReadDirectoryChangesW function, MSDN, 7 febbraio 2012. URL consultato il 3 marzo 2012 (archiviato il 3 marzo 2012).
  10. ^ (EN) Sean Deuby, Windows Server 8 Beta Introduces ReFS: Resilient File System, Windows IT Pro, 2 marzo 2012. URL consultato il 5 marzo 2012 (archiviato il 5 marzo 2012).
  11. ^ (EN) Owen Williams, Windows 8: New "Protogon" filesystem could be the next big thing, Neowin.net, 15 settembre 2011. URL consultato il 2 marzo 2012 (archiviato il 2 marzo 2012).

Voci correlate[modifica | modifica sorgente]