Flujos de integridad de ReFS

Se aplica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 10

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, ReFS no genera o valida sumas de comprobación de forma predeterminada para los datos de archivo. Las secuencias de integridad son una característica opcional que permite a los usuarios usar sumas de comprobación para los datos de archivo. Cuando se habilitan flujos 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:

Compute checksum for file data

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.

Corrective write restores data integrity

Rendimiento

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 esto evita cuellos de botella de lectura-modificación-escritura, ya que ReFS no necesita leer ni modificar ningún dato existente, los datos de archivo se fragmentan con frecuencia, 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 los flujos de integridad conllevan un costo de rendimiento, se recomienda dejar los flujos de integridad deshabilitados en sistemas sensibles al rendimiento.

Limpieza de integridad

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

Nota

El limpieza de integridad de datos solo puede validar los datos de archivo para los archivos en los que se habilitan las secuencias de integridad.

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

Ejemplos

Para supervisar y cambiar la configuración de la integridad de datos de archivo, ReFS usa los cmdlets de Get-FileIntegrity y Set-FileIntegrity cmdlets.

Get-FileIntegrity

Para ver si se habilitan las secuencias de integridad para los datos de archivos, usa el cmdlet Get FileIntegrity.

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

También puedes usar el cmdlet Get-Item para obtener la configuración de las secuencias de integridad para todos los archivos de un directorio específico.

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

Set-FileIntegrity

Para habilitar/deshabilitar las secuencias de integridad para los datos de archivos, usa el cmdlet Set-FileIntegrity.

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

También puedes usar el cmdlet Get-Item para establecer configuración de las secuencias de integridad para todos los archivos de una carpeta específica.

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

El cdmlet Set-FileIntegrity puede usarse directamente en volúmenes y directorios.

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

Referencias adicionales