Compartir a través de


Flujos de integridad de ReFS

Las secuencias de integridad son una característica opcional en ReFS que valida y mantiene la integridad de datos usando sumas de comprobación. Aunque ReFS siempre usa sumas de comprobación para los metadatos, de forma predeterminada, no genera ni valida dichas sumas para los datos de archivo. Las secuencias de integridad son una característica opcional con la que los usuarios usan sumas de comprobación para los datos de archivo. Al habilitar las secuencias de integridad, ReFS puede determinar claramente si los datos son válidos o están dañados. Además, los espacios de almacenamiento y ReFS pueden arreglar datos y metadatos dañados automáticamente y de manera conjunta.

Cómo funciona

Las secuencias de integridad pueden habilitarse para archivos individuales, directorios o un volumen completo y la configuración de las secuencias de integridad puede cambiarse en cualquier momento. Además, la configuración de la secuencia de integridad de archivos y directorios se hereda de sus directorios principales.

Una vez que las secuencias de integridad se han habilitado, ReFS creará y mantendrá una suma de comprobación para los archivos especificados en los metadatos del archivo. Esta suma comprobación permite a ReFS validar la integridad de los datos antes de acceder a él. Antes de devolver cualquier dato que tenga secuencias integridad habilitadas, ReFS calculará, en primer lugar, la suma de comprobación:

Suma de comprobación de proceso de los datos de archivo

A continuación, esta suma de comprobación se compara con la que se incluye en los metadatos de archivo. Si las sumas de comprobación coinciden, los datos se marcan como válidos y se devuelven al usuario. Si las sumas de comprobación no coinciden, los datos están dañados. La resistencia del volumen determina cómo responde ReFS a los daños:

  • Si ReFS está montado en un espacio simple y no resistente o en una unidad vacía, ReFS devolverá un error al usuario sin devolver los datos dañados.
  • Si ReFS está montado en un espejo resistente o en un espacio de paridad, ReFS intentará arreglar todos los daños.
    • Si el intento se realiza con éxito, ReFS aplicará una escritura correctiva para restaurar la integridad de los datos y devolverá los datos válidos a la aplicación. La aplicación no es consciente de la existencia de ningún daño.
    • Si el intento no se realiza con éxito, ReFS devolverá un error.

ReFS registrará todos los daños en el registro de eventos del sistema y aquí se reflejarán si los daños se han solucionados.

La escritura correctiva restaura la integridad de los datos

Performance

Aunque las secuencias de integridad proporcionan mayor integridad de datos para el sistema, esto también incurre en un coste del rendimiento. Hay un par de diferentes razones para ello:

  • Si las secuencias de integridad están habilitadas, todas las operaciones de escritura se convierten en operaciones de asignar a la escritura. Aunque de este modo se evitan cuellos de botella de lectura, modificación y lectura, ya que ReFS no necesita leer ni modificar los datos existentes, los datos de archivo suelen fragmentarse, lo que retrasa las lecturas.
  • Dependiendo de la carga de trabajo y el almacenamiento subyacente del sistema, el coste computacional de la computación y la validación de la suma de comprobación puede causar que la latencia de la E/S aumente.

Dado que las secuencias de integridad conllevan un coste de rendimiento, se recomienda deshabilitarlas en los sistema de alto rendimiento sensibles.

Integrity scrubber

Como se ha explicado anteriormente, ReFS validará automáticamente la integridad de los datos antes de acceder a ellos. ReFS también usa una limpieza en segundo plano, lo que le permite validar los datos a los que se accede con poca frecuencia. Esta limpieza examina el volumen de manera periódica, identifica los daños latentes y desencadena de manera proactiva una reparación de los datos dañados.

Note

La limpieza de integridad de datos solo puede validar los datos de archivo para los archivos con los flujos de integridad habilitados.

De forma predeterminada, la limpieza se ejecuta cada cuatro semanas, aunque se puede configurar esta frecuencia en el Programador de tareas en Microsoft\Windows\Examen de integridad de datos.

Examples

To monitor and change the file data integrity settings, ReFS uses the Get-FileIntegrity and Set-FileIntegrity cmdlets.

Get-FileIntegrity

To see if integrity streams is enabled for file data, use the Get-FileIntegrity cmdlet.

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

You can also use the Get-Item cmdlet to get the integrity stream settings for all the files in a specified directory.

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

Set-FileIntegrity

To enable/disable integrity streams for file data, use the Set-FileIntegrity cmdlet.

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

You can also use the Get-Item cmdlet to set the integrity stream settings for all the files in a specified folder.

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

The Set-FileIntegrity cmdlet can also be used on volumes and directories directly.

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

Additional References