VSS:n jäljitys- ja vianmääritysvaihtoehdot
Yhteenveto: Tässä artikkelissa kuvataan, miten Microsoft Volume Shadow Copy Service VSS:ssä voidaan toteuttaa joitakin jäljitysvaihtoehtoja. Joskus on tarpeen kerätä virheenkorjaustietoja VSS-kerroksessa tilannevedosten luomiseen liittyvien ongelmien vianmäärityksen vuoksi. ...
Ohjeet
VSS-tekniikka on olennainen osa useita tietosuojaratkaisuja ja helpottaa Microsoft Windows -järjestelmien varmuuskopiointiominaisuuksia. VSS-tilannevedos saattaa kuitenkin epäonnistua monien tekijöiden vuoksi, ja voi olla hyödyllistä laajentaa VSS-osan ja sen moduulien vianmääritystä.
Tämä artikkeli perustuu VSSTrace.exe Binäärityökalu, joka tarjoaa useita vaihtoehtoja VSS-palvelun jäljittämiseen tilannevedoksen luontihetkellä ja voi antaa merkityksellisiä tietoja vianmääritystä varten.VSSTrace.exe sisältyy Microsoft Windows Software Development Kit (SDK) -pakettiin , joka voidaan ladata Microsoft Download Centeristä: Windows SDK -lataukset – Windows-sovellukset | Microsoft Learn
Lisätietoja aiheesta VSSTrace.exeKatso: Jäljitystyökalujen käyttäminen VSS:n kanssa – Win32-sovellukset | Microsoft Learn
Kun Windows SDK on asennettu, vsstrace.exe löytyy seuraavasta sijainnista.
C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\vsstrace.exe
Seuraavaa komentosyntaksia käytetään ohjaamaan VSSTrace Tulostaminen tiedostoon:vsstrace -o c:\Temp\VSSTrace\myTrace1.txt
Kun VSS-tilannevedoksia yritetään, jäljitetyt VSS-moduulit kirjoitetaan lokitiedostoon lisäanalyysien tekemistä varten.
VSS-moduulissa huomioitavat seikat:
Niiden VSS-moduulien valikoiva jäljitys, joiden uskotaan olevan merkityksellisiä lisävianmäärityksen kannalta, voi auttaa pienentämään kerättyjen tietojen kokoa ja jäljitystiedostoa. VSSTrace Mahdollistaa esimerkiksi tiettyjen ja nimettyjen moduulien jäljittämisen: VSS-palvelu tunnetaan itse koordinaattorina, pyytäjänä, VSS-kirjoittajina jne. Jos on epäilyksiä siitä, että pyytäjä tai kirjoittajat aiheuttavat virheen, rajoita jäljitys tiettyyn moduuliin tai moduuleihin.
Jokaisessa moduulissa on maski, jota voidaan käyttää lippuna VSSTrace-lausunnossa. Esimerkiksi seuraava lauseke poistaa kaikkien moduulien jäljityksen käytöstä (-f 0) ja ottaa käyttöön VSS-kirjoittajien jäljityksen:vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
Kun jälki alkaa, maski 0x00000010 on raportoitu ja vastaa Writer-moduulin lippua.
Sitten on mahdollista liittää kaikki moduulit syntaksin mukaisesti: -f 0 +<MODULE> +<MODULE> +<MODULE> ...
Luettelo käytettävissä olevista moduuleista saadaan käyttämällä seuraavaa komentoa:
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
Tasonäkökohdat:
Eri tasoja on 21 , ja oletusasetus on 170 , mikä tarkoittaa, että jopa moduulien toimintojen palautusarvot kirjataan. Taso 255 on suurin, mutta jos tämä taso valitaan, jäljitystiedostoon sisältyy paljon tietoja.
Seuraava esimerkki mahdollistaa tason 190 jäljittämisen: Toimintoparametrien yksityiskohtaisuus vain VSS-palvelussa:
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 ilmoitetaan sitten sen moduulin nykyisenä seurantatasona, jonka peite on 0x00000002 vastaa VSS-koordinaattoria.
Käytettävissä olevien tasojen kuvaus on alla alla:
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
Manuaalinen tilannevedosten vianmääritys:
Paras tapa olisi toistaa virhetilanteen laukaiseva käyttötapaus, mutta koska tämä ei ehkä ole aina mahdollista, yksinkertaisin tapa tarkistaa VSS-palvelun toimivuus ja testata, onko VSSTrace binaari on määritetty oikein halutuilla parametreilla on luoda palautuspiste pyynnöstä.
Tässä palautuspiste luodaan pyynnöstä, mikä puolestaan johtaa varjokopion luomiseen:
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 Palauttaa luettelon nykyisistä käytettävissä olevista varjoista. Luontipäivämäärän ja -ajan mukaan manuaalisesti luodut palautuspisteet tunnistetaan.
Nyt otetaan käyttöön VSSTrace ja palautuspisteen luominen käynnistävät VSS-jäljityksen, joka saattaa jo sisältää mielenkiintoisia tietoja vianmääritystä varten.
Yllä olevassa kuvassa luotiin palautuspiste, kun VSSTrace oli käytössä vain WRITER-moduulissa:vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
Kun palautuspiste luotiin ja VSS-palvelu käynnistettiin, asiaankuuluvat WRITER-moduulin toiminnot kerättiin ja jäljitettiin odotetulla tavalla.
Manuaalisesti luotujen palautuspisteiden pitäminen ei ole järkevää, joten jäljen keräämisen jälkeen on tarpeen poistaa ne.vssadmin Sallii tilannevedosten valikoivan poistamisen tunnuksen perusteella:
Käytä seuraavaa komentoa VSS-tilannevedosten luetteloimiseksi:
vssadmin list shadows
Poista tilannevedokset:
vssadmin delete shadows /shadow=SNAPSHOT_GUID
Käytä Tapahtumienvalvontaa saadaksesi virhekoodit ja viestit.
Isännässä, jossa VSS-ongelmia esiintyy, tapahtumien katseluohjelman voi suorittaa: eventvwr.msc /s
Rajoita hakua kohdassa Windows-lokit --> Sovellus- ja Windows-lokit --> Järjestelmä.
Suodatusperuste: VSS ja VolSnap
VSS:ään liittyvät viestit näkyvät lopulta siellä.