VSS-spårning och felsökningsalternativ
Sammanfattning: Den här artikeln beskriver hur det är möjligt att implementera några spårningsalternativ för Microsoft Volume Shadow Copy Service VSS. Ibland är det nödvändigt att samla in felsökningsinformation på VSS-lagret för felsökning av problem med att skapa ögonblicksbilder. ...
Instruktioner
VSS-teknik är en grundläggande komponent i flera dataskyddslösningar och underlättar säkerhetskopieringsfunktionerna i Microsoft Windows-system. Många element kan dock göra att en VSS-ögonblicksbild misslyckas och det kan vara användbart att utöka felsökningen av VSS-komponenten och dess moduler.
Den här artikeln är baserad på VSSTrace.exe binärt verktyg som erbjuder flera alternativ för att spåra VSS-tjänsten vid den tidpunkt då ögonblicksbilden görs och kan ge meningsfull information för felsökning.VSSTrace.exe ingår i Microsoft Windows SDK (Software Development Kit) som kan laddas ned från Microsoft Download Center: Nedladdningar av Windows SDK – Windows-appar | Microsoft Learn
Mer information om VSSTrace.exeSe: Använda spårningsverktyg med VSS – Win32-appar | Microsoft Learn
När Windows SDK har installerats vsstrace.exe finns på följande plats.
C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\vsstrace.exe
Följande kommandosyntax används för att omdirigera VSSTrace Utdata till en fil:vsstrace -o c:\Temp\VSSTrace\myTrace1.txt
När VSS-ögonblicksbilderna görs skrivs de spårade VSS-modulerna till loggfilen så att ytterligare analys kan göras.
Överväganden för VSS-modulen:
Selektiv spårning för VSS-moduler som anses vara relevanta för ytterligare felsökning kan bidra till att minska storleken på insamlade data och spårningsfiler. VSSTrace tillåter spårning av specifika och namngivna moduler, till exempel: VSS-tjänsten kallas koordinator, beställare, VSS-skrivare och så vidare. Om det finns tvivel om att ett fel genereras av beställaren eller av skrivare begränsar du spårningen till en specifik modul eller moduler.
Varje modul har en mask som kan användas som en flagga i instruktionen för VSSTrace. Följande instruktion inaktiverar till exempel spårning för alla moduler (-f 0) och aktiverar spårningen för VSS-skrivare:vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
När spårningen startar visas masken 0x00000010 rapporteras och motsvarar skrivarmodulens flagga.
Det är sedan möjligt att lägga till alla moduler enligt syntaxen: -f 0 +<MODULE> +<MODULE> +<MODULE> ...
En lista över tillgängliga moduler kan hämtas med hjälp av följande kommando:
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
Nivåöverväganden:
Det finns 21 olika nivåer med standardvärdet inställt på 170 , vilket innebär att upp till modules funktionsreturvärden loggas. Nivå 255 är maxvärdet, men mycket data inkluderas i spårningsfilen om den här nivån väljs.
I följande exempel aktiveras spårningsnivå 190: Funktionsparametrar Utförlig endast för VSS-tjänsten:
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 rapporteras då som aktuell spårningsnivå för modul vars mask är 0x00000002 motsvarande VSS-samordnaren.
Beskrivningen av de tillgängliga nivåerna finns här nedan som referens:
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
Manuell felsökning av snapshots:
Det bästa sättet är att replikera det användningsfall som utlöser felsituationen, men eftersom detta kanske inte alltid är möjligt är det enklaste sättet att kontrollera VSS-tjänstens funktioner och testa om VSSTrace binär har konfigurerats korrekt med de önskade parametrarna är att generera en återställningspunkt på begäran.
Här skapas en återställningspunkt på begäran, vilket i sin tur resulterar i att en skuggkopia skapas:
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 Returnerar en lista över aktuella tillgängliga skuggor och när de skapades identifieras de manuellt skapade återställningspunkterna.
Nu är det möjligt att VSSTrace och generera en återställningspunkt, starta en VSS-spårning som redan kan innehålla intressanta data för ytterligare felsökning.
I bilden ovan skapades en återställningspunkt medan VSSTrace aktiverades endast för WRITER-modulen:vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
När återställningspunkten skapades och VSS-tjänsten anropades samlades relevanta WRITER-modulaktiviteter in och spårades som förväntat.
Att behålla manuellt skapade återställningspunkter är meningslöst, så när spårningen har samlats in är det nödvändigt att ta bort dem.vssadmin gör det möjligt att selektivt ta bort skuggkopior med deras ID:n:
Använd följande kommando för att lista VSS-ögonblicksbilder:
vssadmin list shadows
Ta bort ögonblicksbilderna:
vssadmin delete shadows /shadow=SNAPSHOT_GUID
Använd Loggboken för att hämta felkoder och meddelanden.
På värden där VSS-problem uppstår kan loggboken köras av: eventvwr.msc /s
Begränsa sökningen i Windows-loggar –> Program- och Windows-loggar –> System.
Filtrera efter: VSS och VolSnap
VSS-relaterade meddelanden visas så småningom där.