Options de traçage et de dépannage VSS
Résumé: Cet article décrit comment il est possible d’implémenter quelques options de suivi pour Microsoft Volume Shadow Copy Service VSS. Il est parfois nécessaire de collecter des informations de débogage au niveau de la couche VSS pour résoudre les problèmes liés à la création de snapshots. ...
Instructions
La technologie VSS est un composant fondamental de plusieurs solutions de protection des données et facilite les fonctionnalités de sauvegarde des systèmes Microsoft Windows. Néanmoins, de nombreux éléments peuvent être à l’origine de l’échec d’un snapshot VSS et il peut être utile d’étendre le dépannage au composant VSS et à ses modules.
Cet article est basé sur le VSSTrace.exe Il s’agit d’un outil binaire qui offre plusieurs options de suivi du service VSS au moment de la tentative de snapshot et peut fournir des informations utiles à des fins de dépannage.VSSTrace.exe est inclus dans le kit de développement logiciel (SDK) Microsoft Windows, qui peut être téléchargé à partir du Centre de téléchargement Microsoft : Téléchargements du Kit de développement logiciel (SDK) Windows - Applications Windows | Microsoft Learn
Pour plus d’informations sur VSSTrace.exeVoir: Utilisation des outils de traçage avec VSS - Applications Win32 | Microsoft Learn
Une fois le SDK Windows installé, vsstrace.exe se trouve à l’emplacement suivant.
C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\vsstrace.exe
La syntaxe de commande suivante est utilisée pour rediriger le VSSTrace Sortie vers un fichier :vsstrace -o c:\Temp\VSSTrace\myTrace1.txt
Au moment de la tentative d’exécution des snapshots VSS, les modules VSS suivis sont écrits dans le fichier journal afin que des analyses plus approfondies puissent être effectuées.
Remarques relatives au module VSS :
Le suivi sélectif des modules VSS jugés pertinents pour un dépannage ultérieur peut aider à réduire la taille des données collectées et du fichier de suivi. VSSTrace permet le traçage de modules spécifiques et nommés, par exemple : le service VSS est lui-même connu sous le nom de coordinateur, de demandeur, de rédacteurs VSS, etc. En cas de doute sur la génération d’une erreur par le demandeur ou par les writers, limitez la trace à un ou plusieurs modules spécifiques.
Chaque module possède un masque qui peut être utilisé comme indicateur dans l’instruction pour VSSTrace. L’instruction suivante, par exemple, désactive le suivi pour tous les modules (-f 0) et active le suivi pour les enregistreurs VSS :vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
Lorsque la trace démarre, le masque 0x00000010 est signalée et correspond à la balise du module Writer.
Il est alors possible d’ajouter l’ensemble des modules en suivant la syntaxe : -f 0 +<MODULE> +<MODULE> +<MODULE> ...
La liste des modules disponibles peut être obtenue à l’aide de la commande suivante :
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
Considérations relatives aux niveaux :
Il existe 21 niveaux différents avec la valeur par défaut réglée sur 170 , ce qui signifie que jusqu’à des valeurs de retour de fonction de module sont enregistrées. Le niveau 255 est le maximum, mais beaucoup de données sont incluses dans le fichier de trace si ce niveau est sélectionné.
L’exemple suivant active le niveau de suivi 190 : Function Parameters Verbose for the VSS service only :
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 est ensuite signalé comme le niveau de suivi actuel pour le module dont le masque est 0x00000002 correspondant au coordinateur VSS.
Vous trouverez ci-dessous une description des niveaux disponibles à titre de référence :
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
Dépannage manuel des snapshots :
La meilleure méthode consiste à répliquer le cas d’utilisation qui déclenche la situation d’erreur, mais, comme cela n’est pas toujours possible, l’approche la plus simple consiste à vérifier la fonctionnalité du service VSS et à vérifier si le VSSTrace binaire a été correctement configuré avec les paramètres souhaités est de générer un point de restauration à la demande.
Ici, un point de restauration est créé à la demande, ce qui entraîne la création d’une copie de clichés instantanés :
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 Renvoie la liste des clichés instantanés actuellement disponibles. Les points de restauration créés manuellement sont identifiés par date et heure de création.
Maintenant, l’activation de l’option VSSTrace et la génération d’un point de restauration démarre une trace VSS qui peut déjà inclure des données intéressantes pour un dépannage ultérieur.
Dans la figure ci-dessus, un point de restauration a été créé pendant VSSTrace a été activé pour le module WRITER uniquement :vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
Lorsque le point de restauration a été créé et que le service VSS a été appelé, les activités pertinentes du module WRITER ont été collectées et suivies comme prévu.
Conserver les points de restauration créés manuellement n’ayant aucun sens, il est nécessaire de les supprimer une fois la trace collectée.vssadmin permet la suppression sélective des clichés instantanés en fonction de leurs ID :
Utilisez la commande suivante pour répertorier les snapshots VSS :
vssadmin list shadows
Supprimez les snapshots :
vssadmin delete shadows /shadow=SNAPSHOT_GUID
Utilisez l’Observateur d’événements pour obtenir les codes et messages d’erreur.
Dans l’hôte où des problèmes VSS se produisent, l’observateur d’événements peut être exécuté par : eventvwr.msc /s
Limitez la recherche dans Journaux Windows --> Application et Journaux Windows --> Système.
Filtrer par : VSS et VolSnap
Les messages relatifs à VSS finissent par s’y afficher.