VSS-Ablaufverfolgungs- und Fehlerbehebungsoptionen
Zusammenfassung: In diesem Artikel wird beschrieben, wie es möglich ist, einige Ablaufverfolgungsoptionen für Microsoft Volume Shadow Copy Service VSS zu implementieren. Manchmal ist es erforderlich, Debug-Informationen auf der VSS-Ebene zu sammeln, um Probleme bei der Erstellung von Snapshots zu beheben. ...
Weisungen
Die VSS-Technologie ist eine grundlegende Komponente in mehreren Data-Protection-Lösungen und erleichtert die Backupfunktionen von Microsoft Windows-Systemen. Dennoch können viele Elemente dazu führen, dass ein VSS-Snapshot fehlschlägt, und es kann nützlich sein, das Troubleshooting auf die VSS-Komponente und ihre Module auszudehnen.
Dieser Artikel basiert auf dem VSSTrace.exe Binärtool, das mehrere Optionen zum Verfolgen des VSS-Service zum Zeitpunkt des Snapshot-Versuchs bietet und möglicherweise aussagekräftige Informationen für die Fehlerbehebung liefert.VSSTrace.exe ist im Microsoft Windows Software Development Kit (SDK) enthalten, das im Microsoft Download Center heruntergeladen werden kann: Windows SDK-Downloads – Windows-Apps | Microsoft Learn
Weitere Informationen zu VSSTrace.exeSieh: Verwenden von Ablaufverfolgungstools mit VSS – Win32-Apps | Microsoft Learn
Sobald das Windows SDK installiert ist, vsstrace.exe finden Sie an folgender Stelle.
C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\vsstrace.exe
Die folgende Befehlssyntax wird verwendet, um die VSSTrace Ausgabe in eine Datei:vsstrace -o c:\Temp\VSSTrace\myTrace1.txt
Zum Zeitpunkt des Versuchs, die VSS-Snapshots zu erstellen, werden die verfolgten VSS-Module in die Protokolldatei geschrieben, sodass weitere Analysen durchgeführt werden können.
Überlegungen zum VSS-Modul:
Die selektive Ablaufverfolgung von VSS-Modulen, die für die weitere Fehlerbehebung als relevant erachtet werden, kann dazu beitragen, die Größe der erfassten Daten und der Trace-Datei zu reduzieren. VSSTrace Ermöglicht die Ablaufverfolgung bestimmter und benannter Module, z. B.: Der VSS-Service wird selbst als Koordinator, Anforderer, VSS-Writer usw. bezeichnet. Wenn Zweifel bestehen, dass ein Fehler vom Requester oder von Writern erzeugt wird, beschränken Sie die Ablaufverfolgung auf ein bestimmtes Modul oder bestimmte Module.
Jedes Modul hat eine Maske, die als Flag in der Anweisung für VSSTrace verwendet werden kann. Die folgende Anweisung deaktiviert z. B. die Ablaufverfolgung für alle Module (-f 0) und aktiviert die Ablaufverfolgung für VSS Writers:vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
Wenn die Ablaufverfolgung beginnt, wird die Maske 0x00000010 wird gemeldet und entspricht dem Writer-Modul-Flag.
Es ist dann möglich, alle Module gemäß der folgenden Syntax anzuhängen: -f 0 +<MODULE> +<MODULE> +<MODULE> ...
Eine Liste der verfügbaren Module kann mit dem folgenden Befehl abgerufen werden:
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
Überlegungen auf Ebene:
Es gibt 21 verschiedene Ebenen , wobei die Standardeinstellung auf 170 festgelegt ist, was bedeutet, dass bis zu Modulfunktionsrückgabewerte protokolliert werden. Stufe 255 ist das Maximum, aber viele Daten sind in der Ablaufverfolgungsdatei enthalten, wenn diese Stufe ausgewählt ist.
Im folgenden Beispiel wird die Ablaufverfolgungsebene 190 aktiviert: Funktionsparameter Ausführlich nur für den 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 wird dann als die aktuelle Ablaufverfolgungsebene für das Modul gemeldet, dessen Maske 0x00000002 entsprechend dem VSS-Koordinator
.Die Beschreibung der verfügbaren Levels dient nachfolgend als Referenz:
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
Manuelles Snapshot-Troubleshooting:
Der beste Weg wäre, den Anwendungsfall zu replizieren, der die Fehlersituation auslöst, aber da dies möglicherweise nicht immer möglich ist, ist es am einfachsten, die Funktionalität des VSS-Dienstes zu überprüfen und zu testen, ob die VSSTrace Die Binärdatei mit den gewünschten Parametern korrekt eingerichtet wurde, besteht darin, bei Bedarf einen Wiederherstellungspunkt zu erzeugen.
Hier wird bei Bedarf ein Wiederherstellungspunkt erstellt, der wiederum zur Erstellung einer Schattenkopie führt:
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 Gibt die Liste der aktuell verfügbaren Schatten zurück und nach Erstellungsdatum und -uhrzeit werden die manuell erstellten Wiederherstellungspunkte identifiziert.
Das Aktivieren der VSSTrace und das Erzeugen eines Wiederherstellungspunkts starten Sie einen VSS-Trace, der möglicherweise bereits einige interessante Daten für die weitere Fehlerbehebung enthält.
In der obigen Abbildung wurde ein Wiederherstellungspunkt erstellt, während die VSSTrace wurde nur für das WRITER-Modul aktiviert:vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
Als der Wiederherstellungspunkt erstellt und der VSS-Service aufgerufen wurde, wurden die relevanten WRITER-Modulaktivitäten wie erwartet erfasst und nachverfolgt.
Es ist nicht sinnvoll, manuell erstellte Wiederherstellungspunkte beizubehalten, sodass sie nach dem Erfassen der Ablaufverfolgung entfernt werden müssen.vssadmin ermöglicht das selektive Entfernen von Schattenkopien anhand ihrer IDs:
Verwenden Sie den folgenden Befehl, um VSS-Snapshots aufzulisten:
vssadmin list shadows
Löschen Sie die Snapshots:
vssadmin delete shadows /shadow=SNAPSHOT_GUID
Verwenden Sie die Ereignisanzeige, um Fehlercodes und Meldungen abzurufen.
Auf dem Host, auf dem VSS-Probleme auftreten, kann die Ereignisanzeige wie folgt ausgeführt werden: eventvwr.msc /s
Schränken Sie die Suche in Windows-Protokolle –> Anwendung und Windows-Protokolle – System ein> .
Filtern nach: VSS und VolSnap
VSS-bezogene Meldungen werden schließlich dort angezeigt.