Opties voor VSS-tracering en probleemoplossing
Résumé: In dit artikel wordt beschreven hoe u enkele overtrekopties kunt implementeren voor Microsoft Volume Shadow Copy Service VSS. Soms is het nodig om foutopsporingsinformatie te verzamelen op de VSS-laag voor het oplossen van problemen met het maken van snapshots. ...
Instructions
VSS-technologie is een fundamenteel onderdeel in verschillende oplossingen voor databescherming en vergemakkelijkt de back-upmogelijkheden van Microsoft Windows-systemen. Desalniettemin kunnen veel elementen ervoor zorgen dat een VSS-snapshot mislukt en het kan nuttig zijn om de probleemoplossing uit te breiden met het VSS-onderdeel en de bijbehorende modules.
Dit artikel is gebaseerd op de VSSTrace.exe binaire tool die verschillende opties biedt voor het traceren van de VSS-service op het moment dat de snapshot wordt geprobeerd en zinvolle informatie kan bieden voor probleemoplossingsdoeleinden.VSSTrace.exe is inbegrepen in de Microsoft Windows Software Development Kit (SDK) die kan worden gedownload van Microsoft Download Center: Windows SDK downloads - Windows-apps | Microsoft Learn
Voor meer informatie over VSSTrace.exeZie: Traceringstools gebruiken met VSS - Win32-apps | Microsoft Learn
Zodra Windows SDK is geïnstalleerd, vsstrace.exe is te vinden op de volgende locatie.
C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\vsstrace.exe
De volgende opdrachtsyntaxis wordt gebruikt om de VSSTrace Uitvoer naar een bestand:vsstrace -o c:\Temp\VSSTrace\myTrace1.txt
Op het moment dat de VSS-snapshots worden geprobeerd, worden de getraceerde VSS-modules naar het logbestand geschreven, zodat verdere analyse kan worden uitgevoerd.
Overwegingen bij VSS-module:
Selectieve tracering voor VSS-modules die relevant worden geacht voor verdere probleemoplossing kan helpen om de grootte van verzamelde data en traceerbestanden te verminderen. VSSTrace maakt het mogelijk om specifieke en benoemde modules te traceren, bijvoorbeeld: de VSS-service staat zelf bekend als de coördinator, de aanvrager, de VSS-schrijvers, enzovoort. Als er twijfel bestaat dat er een fout is gegenereerd door de aanvrager of door schrijvers, beperk de tracering dan tot een specifieke module of modules.
Elke module heeft een masker dat als vlag kan worden gebruikt in de instructie voor VSSTrace. Met de volgende instructie wordt bijvoorbeeld tracering uitgeschakeld voor alle modules (-f 0) en wordt tracering voor VSS-schrijvers ingeschakeld:vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
Wanneer het traceren begint, wordt het masker 0x00000010 wordt gerapporteerd en komt overeen met de vlag van de Writer-module.
Het is dan mogelijk om alle modules toe te voegen volgens de syntaxis: -f 0 +<MODULE> +<MODULE> +<MODULE> ...
Een lijst met beschikbare modules kan worden verkregen met behulp van de volgende opdracht:
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
Niveau-overwegingen:
Er zijn 21 verschillende niveaus met de standaardinstelling op 170 , wat betekent dat maximaal modules functieretourwaarden worden gelogd. Niveau 255 is het maximum, maar er worden veel gegevens opgenomen in het traceringsbestand als dit niveau is geselecteerd.
In het volgende voorbeeld kunt u niveau 190 traceren: Functieparameters uitgebreid alleen voor de VSS-service:
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 wordt dan gerapporteerd als het huidige traceringsniveau voor module waarvan het masker is 0x00000002 overeenkomend met de VSS-coördinator.
De beschrijving voor de beschikbare niveaus vindt u hieronder ter referentie:
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
Handmatige probleemoplossing voor snapshots:
De beste manier zou zijn om het gebruiksscenario te repliceren dat de foutsituatie veroorzaakt, maar aangezien dit misschien niet altijd mogelijk is, is de eenvoudigste aanpak om de functionaliteit van de VSS-service te controleren en te testen of de VSSTrace Binair is correct ingesteld met de gewenste parameters is om een herstelpunt op aanvraag te genereren.
Hier wordt op aanvraag een herstelpunt aangemaakt, wat op zijn beurt resulteert in het maken van een schaduwkopie:
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 Retourneert de lijst met de huidige beschikbare schaduwen en op aanmaakdatum en -tijd worden de handmatig gemaakte herstelpunten geïdentificeerd.
Nu is het inschakelen van de VSSTrace en het genereren van een herstelpunt start een VSS-trace die mogelijk al enkele interessante data bevat voor verdere probleemoplossing.
In de bovenstaande afbeelding is een herstelpunt gemaakt terwijl de VSSTrace was alleen ingeschakeld voor de WRITER-module:vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
Toen het herstelpunt werd gemaakt en de VSS-service werd aangeroepen, werden de relevante WRITER-module-activiteiten verzameld en getraceerd zoals verwacht.
Het hebben van handmatig gemaakte herstelpunten heeft geen zin, dus nadat de trace is verzameld, is het noodzakelijk om ze te verwijderen.vssadmin Hiermee kunt u schaduwkopieën selectief verwijderen op basis van hun ID's:
Gebruik de volgende opdracht om VSS-snapshots weer te geven:
vssadmin list shadows
Verwijder de snapshots:
vssadmin delete shadows /shadow=SNAPSHOT_GUID
Gebruik Logboeken om foutcodes en berichten op te halen.
Op de host waar VSS-problemen optreden, kan de Event Viewer worden uitgevoerd door: eventvwr.msc /s
Beperk de zoekopdracht in Windows-logboeken --> Applicatie- en Windows-logboeken --> Systeem.
Filteren op: VSS en VolSnap
VSS-gerelateerde berichten worden daar uiteindelijk weergegeven.