Flussi di integrità ReFS

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 10

I flussi di integrità sono una funzionalità facoltativa in ReFS che convalida e mantiene l'integrità dei dati usando i checksum. Anche se ReFS usa sempre i checksum per i metadati, ReFS non, per impostazione predefinita, genera o convalida i checksum per i dati dei file. I flussi di integrità sono una funzionalità facoltativa che consente agli utenti di utilizzare i checksum per i dati dei file. Quando i flussi di integrità sono abilitati, ReFS può determinare chiaramente se i dati sono validi o danneggiati. Inoltre, ReFS e Archiviazione Spaces possono correggere automaticamente i metadati e i dati danneggiati.

Funzionamento

I flussi di integrità possono essere abilitati per singoli file, directory o per l'intero volume e le impostazioni del flusso di integrità possono essere attivate in qualsiasi momento. Inoltre, le impostazioni del flusso di integrità per file e directory vengono ereditate dalle directory padre.

Dopo aver abilitato i flussi di integrità, ReFS creerà e manterrà un checksum per i file specificati nei metadati del file. Questo checksum consente a ReFS di convalidare l'integrità dei dati prima di accedervi. Prima di restituire tutti i dati con flussi di integrità abilitati, ReFS calcolerà prima il checksum:

Compute checksum for file data

Quindi, questo checksum viene confrontato con il checksum contenuto nei metadati del file. Se i checksum corrispondono, i dati vengono contrassegnati come validi e restituiti all'utente. Se i checksum non corrispondono, i dati sono danneggiati. La resilienza del volume determina il modo in cui ReFS risponde ai danneggiamenti:

  • Se ReFS è montato su uno spazio semplice non resiliente o su un'unità bare, ReFS restituirà un errore all'utente senza restituire i dati danneggiati.
  • Se ReFS è montato in uno spazio mirror o parità resiliente, ReFS tenterà di correggere il danneggiamento.
    • Se il tentativo ha esito positivo, ReFS applicherà una scrittura correttiva per ripristinare l'integrità dei dati e restituirà i dati validi all'applicazione. L'applicazione rimane a conoscenza di eventuali danneggiamenti.
    • Se il tentativo non riesce, ReFS restituirà un errore.

ReFS registrerà tutti i danneggiamenti nel registro eventi di sistema e il log rifletterà se i danneggiamenti sono stati corretti.

Corrective write restores data integrity

Prestazioni

Anche se i flussi di integrità offrono un maggiore integrità dei dati per il sistema, comporta anche un costo delle prestazioni. Esistono due motivi diversi per questo:

  • Se i flussi di integrità sono abilitati, tutte le operazioni di scrittura diventano operazioni allocate-on-write. Anche se in questo modo si evitano colli di bottiglia di lettura-modifica-scrittura, poiché ReFS non deve leggere o modificare dati esistenti, i dati dei file vengono spesso frammentati, che ritardano le letture.
  • A seconda del carico di lavoro e dell'archiviazione sottostante del sistema, il costo di calcolo e la convalida del checksum può causare un aumento della latenza di I/O.

Poiché i flussi di integrità comportano un costo delle prestazioni, è consigliabile lasciare disabilitati i flussi di integrità nei sistemi sensibili alle prestazioni.

Scrubber di integrità

Come descritto in precedenza, ReFS convaliderà automaticamente l'integrità dei dati prima di accedere ai dati. ReFS usa anche uno scrubber in background, che consente a ReFS di convalidare i dati a cui si accede raramente. Questo scrubber analizza periodicamente il volume, identifica i danneggiamenti latenti e attiva in modo proattivo una riparazione di eventuali dati danneggiati.

Nota

Lo strumento di pulizia dell'integrità dei dati può convalidare solo i dati dei file per i file in cui sono abilitati i flussi di integrità.

Per impostazione predefinita, lo scrubber viene eseguito ogni quattro settimane, anche se questo intervallo può essere configurato all'interno dell'Utilità di pianificazione in Microsoft\Windows\Data Integrity Scan.

Esempi

Per monitorare e modificare le impostazioni di integrità dei dati dei file, ReFS usa i cmdlet Get-FileIntegrity e Set-FileIntegrity .

Get-FileIntegrity

Per verificare se i flussi di integrità sono abilitati per i dati dei file, usare il cmdlet Get-FileIntegrity .

PS C:\> Get-FileIntegrity -FileName 'C:\Docs\TextDocument.txt'

È anche possibile usare il cmdlet Get-Item per ottenere le impostazioni del flusso di integrità per tutti i file in una directory specificata.

PS C:\> Get-Item -Path 'C:\Docs\*' | Get-FileIntegrity

Set-FileIntegrity

Per abilitare/disabilitare i flussi di integrità per i dati dei file, usare il cmdlet Set-FileIntegrity .

PS C:\> Set-FileIntegrity -FileName 'H:\Docs\TextDocument.txt' -Enable $True

È anche possibile usare il cmdlet Get-Item per impostare le impostazioni del flusso di integrità per tutti i file in una cartella specificata.

PS C:\> Get-Item -Path 'H\Docs\*' | Set-FileIntegrity -Enable $True

Il cmdlet Set-FileIntegrity può essere usato anche nei volumi e nelle directory direttamente.

PS C:\> Set-FileIntegrity H:\ -Enable $True
PS C:\> Set-FileIntegrity H:\Docs -Enable $True

Riferimenti aggiuntivi