Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporciona una solución a un problema por el que los archivos no se pueden abrir y se registran como dañados en volúmenes desduplicados.
Número de KB original: 3066174
Síntomas
Los usuarios ya no pueden abrir archivos en un volumen habilitado para desduplicación que se creó con la compresión NTFS habilitada en la raíz del volumen. Además, el trabajo de limpieza de desduplicación de datos puede registrar un evento en el registro de eventos para notificar daños en el volumen de archivos que no puede reparar.
Causa
Este problema se produce porque los metadatos de desduplicación almacenados en la raíz del volumen comprimido se dañan cuando un proceso escribe en contexto en un archivo del volumen desduplicado. Los metadatos de desduplicación almacenados en la raíz del volumen comprimido se encuentran en la carpeta Información del volumen del sistema (SVI).
No se admite la duplicación en volúmenes que tienen la compresión habilitada en la raíz cuando se crea el volumen. Sin embargo, la desduplicación en carpetas comprimidas se admite y funciona según lo previsto.
Solución
Para resolver este problema, no habilite la desduplicación de datos en un volumen NTFS que tenga habilitada la compresión de nivel de volumen.
Desafortunadamente, no podemos restaurar los datos que ya están dañados en los volúmenes comprimidos existentes que tienen habilitada la desduplicación. Los archivos que ya están dañados deben restaurarse a partir de copias de seguridad, si están disponibles.
Para descomprimir la carpeta de metadatos de desduplicación para que las acciones de escritura en archivos desduplicados de este volumen ya no estén dañadas, siga estos pasos.
Nota:
En los comandos de ejemplo, <X> es un volumen que se ha creado como comprimido y que tiene habilitada la desduplicación de datos.
Descargue la herramienta PsExec desde el siguiente sitio web de Windows Sysinternals: PsExec v2.2
Nota:
La herramienta PsExec permite a los usuarios ejecutar procesos teniendo derechos de usuario "SYSTEM". Esto es necesario para acceder a la carpeta de metadatos de desduplicación de datos protegida que se encuentra en la carpeta Información del volumen del sistema.
Bloquear el acceso a los datos para los usuarios en el volumen afectado. Para ello, ejecute el siguiente comando disable-dedupvolume de Windows PowerShell:
disable-dedupvolume X: -dataaccess
Nota:
- Este comando desmonta y vuelve a montar el volumen sin el filtro de desduplicación de datos adjunto. Esto impide que los usuarios accedan a los archivos desduplicados.
- La acción de desmontar invalida los identificadores de archivo abiertos de este volumen.
Use PsExec para ejecutar Cmd.exe como usuario "SYSTEM". Para ello, ejecute el siguiente comando:
Psexec.exe -i -s cmd
Nota:
Ahora se abrirá la ventana del símbolo del sistema con derechos de usuario "SYSTEM" asignados.
Precaución
La cuenta "SYSTEM" es una cuenta de usuario que tiene un nivel de acceso mucho mayor que una cuenta de administrador. Los usuarios deben tener cuidado de realizar solo los pasos que se mencionan en el artículo mientras ejecutan la cuenta "SYSTEM". Los usuarios deben tener especial cuidado de no cambiar las ACL ni tomar posesión de la carpeta Información del volumen del sistema.
En la ventana Del símbolo del sistema de PsExec, busque la carpeta Información de volumen del sistema del volumen afectado.
Compruebe que la carpeta de metadatos de desduplicación del volumen está comprimida actualmente.
Descomprima la carpeta de metadatos de desduplicación del volumen.
En la ventana del símbolo del sistema de PsExec, ejecute el siguiente comando:
X:\System Volume Information>compact /s:Dedup
La salida incluirá el siguiente mensaje de resumen:
De los archivos M dentro de N directorios
<X> están comprimidos e <Y> no se comprimen.Si <X> es mayor que cero (0), vaya al paso 8. De lo contrario, vaya al paso 11 porque la carpeta de metadatos de desduplicación no está comprimida.
En la ventana del símbolo del sistema de PsExec, ejecute el siguiente comando:
X:\System Volume Information>compact /u /s:Dedup
Espere a que la carpeta de metadatos de desduplicación se descomprima. El proceso funciona en un archivo cada vez y puede ser lento.
Nota:
El tiempo que requiere este proceso es proporcional a la cantidad de datos que se encuentra en el volumen. En el caso de los volúmenes que contienen terabytes de datos, este proceso puede tardar varias horas en finalizar. Una vez finalizado, el comando sale y genera el siguiente mensaje de estado:
N archivos dentro de directorios M no se comprimiron.En la ventana del símbolo del sistema de PsExec, ejecute el siguiente comando "mostrar estado de compresión" para comprobar que no hay archivos comprimidos en la carpeta Desduplicación de datos.
X:\System Volume Information>compact /s:Dedup
Cierre la ventana del símbolo del sistema psExec.
Vuelva a habilitar el acceso a datos para los usuarios en el volumen afectado. Para ello, ejecute el siguiente comando:
Enable-DedupVolume X: -DataAccess
Nota:
- Este comando desmonta y, a continuación, vuelve a montar el volumen con el filtro de desduplicación de datos adjunto. Los usuarios ahora podrán acceder a los archivos desduplicados.
- La acción de desmontar invalida los identificadores de archivo abiertos de este volumen.
Nota:
Para evitar que se produzcan daños similares, realice este procedimiento en todos los volúmenes habilitados para desduplicación que se crearon como comprimidos.