Opciones de seguimiento y solución de problemas de VSS
Resumen: En este artículo, se describe cómo es posible implementar algunas opciones de seguimiento para el servicio de instantáneas de volumen de Microsoft VSS. En ocasiones, es necesario recolectar información de depuración en la capa de VSS para solucionar problemas relacionados con la creación de instantáneas. ...
Instrucciones
La tecnología VSS es un componente fundamental en varias soluciones de protección de datos y facilita las funcionalidades de respaldo de los sistemas Microsoft Windows. Sin embargo, muchos elementos pueden hacer que una instantánea de VSS falle y podría ser útil extender la solución de problemas en el componente de VSS y sus módulos.
Este artículo se basa en el VSSTrace.exe Herramienta binaria que ofrece varias opciones para rastrear el servicio VSS en el momento en que se intenta la instantánea y puede proporcionar información significativa para fines de solución de problemas.VSSTrace.exe se incluye con el kit de desarrollo de software (SDK) de Microsoft Windows , que se puede descargar desde el Centro de descarga de Microsoft: Descargas de SDK de Windows: aplicaciones de Windows | Microsoft Learn
Para obtener más información sobre VSSTrace.exe, véase: Uso de herramientas de seguimiento con VSS - Aplicaciones Win32 | Microsoft Learn
Una vez instalado el SDK de Windows, vsstrace.exe se puede encontrar en la siguiente ubicación.
C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\vsstrace.exe
El siguiente comando se utiliza para redirigir el VSSTrace Salida a un archivo:vsstrace -o c:\Temp\VSSTrace\myTrace1.txt
En el momento en que se intentan realizar las instantáneas de VSS, los módulos de VSS rastreados se escriben en el archivo de registro para que se pueda realizar un análisis más profundo.
Consideraciones sobre el módulo VSS:
El rastreo selectivo para módulos VSS que se consideran pertinentes para la solución de problemas adicionales puede ayudar a reducir el tamaño de los datos recopilados y el archivo de rastreo. VSSTrace permite el seguimiento de módulos específicos y con nombre, por ejemplo: el servicio VSS se conoce como el coordinador, el solicitante, los escritores VSS, etc. Si existe la duda de que el solicitante o los escritores generen un error, restrinja el seguimiento a uno o varios módulos específicos.
Cada módulo tiene una máscara que se puede usar como bandera en la instrucción para VSSTrace. La siguiente instrucción, por ejemplo, deshabilitará el seguimiento para todos los módulos (-f 0) y habilitará el seguimiento para VSS Writers:vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
Cuando se inicia el seguimiento, la máscara 0x00000010 se informa y corresponde a la marca del módulo Writer.
A continuación, es posible añadir todos los módulos siguiendo la sintaxis: -f 0 +<MODULE> +<MODULE> +<MODULE> ...
Se puede obtener una lista de módulos disponibles mediante el siguiente comando:
vsstrace -help modules Available modules: Module : Flag : Default : Description ------------:--------------:---------:---------------------------------------------- EXCEPT : 0x00000001 : ON : C++ exception handling COORD : 0x00000002 : ON : VSS Coordinator service SWPRV : 0x00000004 : ON : System Provider service BUCOMP : 0x00000008 : ON : Requester and backup metadata processing WRITER : 0x00000010 : ON : Writer infrastructure and VSS hosted writers VSSAPI : 0x00000020 : ON : Miscellaneous VSSAPI exported routines HWDIAG : 0x00000040 : ON : Hardware Provider diagnostics ADMIN : 0x00000080 : ON : Command line utilities VSSUI : 0x00000100 : ON : Shadow Copies for Shared Folders UI TEST : 0x00000200 : ON : Internal test infrastructure (unused) IOCTL : 0x00000400 : ON : IOCTL and FSCTL operations GEN : 0x00000800 : ON : General purpose utilities (noisy) WRXML : 0x00001000 : OFF : Writer metadata processing (noisy) VSSXML : 0x00002000 : OFF : Metadata processing base classes (noisy) FSSPROV : 0x00004000 : OFF : File Server Shadow Copy Provider FSSAGENT : 0x00008000 : OFF : File Server Shadow Copy Agent FSSMD : 0x00010000 : OFF : File Server Shadow Copy Metadata
Consideraciones de nivel:
Hay 21 niveles diferentes con el valor predeterminado establecido en 170 , lo que significa que se registran los valores de retorno de la función de hasta módulos. El nivel 255 es el máximo, pero se incluyen muchos datos en el archivo de seguimiento si se selecciona este nivel.
En el ejemplo siguiente se habilita el nivel de seguimiento 190: Parámetros de función detallados solo para el servicio VSS:
vsstrace -f 0 +COORD -l 190 -o C:\Temp\VSSTrace\myTraceVSSService190.txt
C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64>vsstrace -f 0 +COORD -l 190 -o C:\Temp\VSSTrace\myTraceVSSService190.txt
Session started. Enabling provider...
Enabling provider {9138500e-3648-4edb-aa4c-859e9f7b7c38}on level 190 and flags 0x00000002 ...
Real-time tracing now in progress. Press Ctrl-C to stop tracing...
Tracing stopped.
Total Events Processed 0
Start Time 0 (0x0000000000000000)
End Time 0 (0x0000000000000000)
Elapsed Time 0 sec
+-------------------------------------------------------------------------------------+
|EventCount EventName EventType Guid |
+-------------------------------------------------------------------------------------+
+-------------------------------------------------------------------------------------+
190 se informa entonces como el nivel de seguimiento actual para el módulo cuya máscara es 0x00000002 correspondiente al coordinador de VSS.
La descripción de los niveles disponibles se encuentra a continuación como referencia:
Available levels: 000 : None 020 : Fatal Errors 030 : Unhandled Exception 040 : Error 050 : Assertion 060 : Warning 080 : Exception Handling 100 : Event Log Activity 120 : General Information 140 : Code flow 160 : Function enter/exit 170 : Function return values (Default level) 180 : Function Parameters 190 : Function Parameters Verbose 200 : Verbose Info Level 1 210 : Verbose Info Level 2 220 : Verbose Info Level 3 230 : Fast Code Level 1 240 : Fast Code Level 2 250 : Fast Code Level 3 255 : All
Solución de problemas de instantáneas manuales:
La mejor manera sería replicar el caso de uso que desencadena la situación de error, pero, dado que esto podría no ser siempre posible, el enfoque más simple es comprobar la funcionalidad del servicio VSS y probar si el VSSTrace binario se configuró correctamente con los parámetros deseados es generar un punto de restauración a petición.
Aquí, se crea un punto de restauración según demanda que, a su vez, da como resultado la creación de una copia oculta:
C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64>vssadmin list shadows
Contents of shadow copy set ID: {41167b4f-2da1-47cf-a9d6-235adf1e29df}
Contained 1 shadow copies at creation time: 08/05/2019 18:12:12
Shadow Copy ID: {09144331-79a6-4f34-9994-7ea22a72fbbd}
Original Volume: (C:)\\?\Volume{49ec4df8-2a9b-4f9a-8fa8-c9fe8e10943b}\
Shadow Copy Volume: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy9
Originating Machine: XXXXXXXXXXXXXX.corp.emc.com
Service Machine: XXXXXXXXXXXXXX.corp.emc.com
Provider: 'Microsoft Software Shadow Copy provider 1.0'
Type: ClientAccessibleWriters
Attributes: Persistent, Client-accessible, No auto release, Differential, Auto recovered
vssadmin Devuelve la lista de las sombras disponibles actuales y, por fecha y hora de creación, se identifican los puntos de restauración creados manualmente.
Ahora, habilitar la función VSSTrace y la generación de un punto de restauración inicia un seguimiento de VSS que ya podría incluir algunos datos interesantes para la solución de problemas adicionales.
En la figura anterior, se creó un punto de restauración mientras que el VSSTrace se habilitó solo para el módulo WRITER:vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
Cuando se creaba el punto de restauración y se invocaba el servicio VSS, se recopilaban y se rastreaban las actividades pertinentes del módulo WRITER según lo esperado.
Mantener los puntos de restauración creados manualmente no tiene sentido, por lo que, después de recolectar el seguimiento, es necesario eliminarlos.vssadmin permite la eliminación selectiva de instantáneas por sus ID:
Utilice el siguiente comando para enumerar instantáneas de VSS:
vssadmin list shadows
Elimine las instantáneas:
vssadmin delete shadows /shadow=SNAPSHOT_GUID
Utilice el Visor de eventos para obtener códigos y mensajes de error.
En el host donde se producen los problemas de VSS, el visor de eventos se puede ejecutar mediante lo siguiente: eventvwr.msc /s
Limite la búsqueda dentro de Registros de Windows --> Aplicación y Registros de Windows --> Sistema.
Filtrar según: VSS y VolSnap
Finalmente, los mensajes relacionados con VSS se muestran allí.