VSS 추적 및 문제 해결 옵션
요약: 이 문서에서는 Microsoft Volume Shadow Copy Service VSS에 대한 몇 가지 추적 옵션을 구현하는 방법을 설명합니다. 스냅샷 생성과 관련된 문제를 해결하기 위해 VSS 계층에서 디버그 정보를 수집해야 하는 경우도 있습니다.
지침
VSS 기술은 여러 데이터 보호 솔루션의 기본 구성 요소이며 Microsoft Windows 시스템의 백업 기능을 용이하게 합니다. 그럼에도 불구하고 많은 요소로 인해 VSS 스냅샷이 실패할 수 있으므로 VSS 구성 요소 및 해당 모듈에서 문제 해결을 확장하는 것이 유용할 수 있습니다.
이 문서는 다음을 기반으로 합니다. VSSTrace.exe 스냅샷 시도 시 VSS 서비스를 추적하기 위한 몇 가지 옵션을 제공하며 문제 해결을 위해 의미 있는 정보를 제공할 수 있는 바이너리 툴입니다.VSSTrace.exe 는 Microsoft Windows SDK(Software Development Kit)에 포함되어 있으며 Microsoft 다운로드 센터에서 다운로드할 수 있습니다. Windows SDK 다운로드 - Windows 앱 | Microsoft Learn
에 대한 자세한 내용은 VSSTrace.exe참조: VSS에서 추적 도구 사용 - Win32 앱 | Microsoft Learn
Windows SDK가 설치되면 vsstrace.exe 다음 위치에서 찾을 수 있습니다.
C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\vsstrace.exe
다음 명령 구문은 VSSTrace 파일로 출력:vsstrace -o c:\Temp\VSSTrace\myTrace1.txt
VSS 스냅샷을 시도하면 추가 분석을 수행할 수 있도록 추적된 VSS 모듈이 로그 파일에 기록됩니다.
VSS 모듈 고려 사항:
추가 문제 해결과 관련이 있다고 판단되는 VSS 모듈에 대한 선택적 추적은 수집된 데이터 및 추적 파일의 크기를 줄이는 데 도움이 될 수 있습니다. VSSTrace 는 특정 모듈과 명명된 모듈의 추적을 허용합니다(예: VSS 서비스 자체는 코디네이터, 요청자, VSS 기록기 등으로 알려져 있습니다). 오류가 요청자 또는 기록기에 의해 생성되었다는 의심이 있는 경우 추적을 특정 모듈로 제한하십시오.
모든 모듈에는 VSSTrace에 대한 문에서 플래그로 사용할 수 있는 마스크가 있습니다. 예를 들어 다음 문은 모든 모듈 (-f 0) 에 대한 추적을 사용하지 않도록 설정하고 VSS 기록기에 대한 추적을 사용하도록 설정합니다.vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
추적이 시작되면 마스크가 0x00000010 가 보고되고 기록기 모듈 플래그에 해당합니다.
그런 다음 다음 구문에 따라 모든 모듈을 추가할 수 있습니다. -f 0 +<MODULE> +<MODULE> +<MODULE> ...
사용 가능한 모듈 목록은 다음 명령을 사용하여 가져올 수 있습니다.
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
레벨 고려 사항:
21개의 서로 다른 수준이 있으며 기본값은 170으로 설정되며, 이는 최대 모듈 함수 반환 값이 기록됨을 의미합니다. 수준 255가 최대값이지만 이 수준을 선택하면 추적 파일에 많은 데이터가 포함됩니다.
다음 예제에서는 추적 수준 190을 사용하도록 설정합니다. 기능 매개변수 VSS 서비스 전용 세부 정보:
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은 마스크가 다음과 같은 모듈의 현재 추적 수준으로 보고됩니다. 0x00000002 VSS 코디네이터에 해당합니다.
사용 가능한 레벨에 대한 설명은 참조를 위해 아래에 나와 있습니다.
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
수동 스냅샷 문제 해결:
가장 좋은 방법은 오류 상황을 트리거하는 사용 사례를 복제하는 것이지만 항상 가능한 것은 아니므로 VSS 서비스 기능을 확인하고 VSSTrace 바이너리가 원하는 매개 변수로 올바르게 설정되었는지 확인하면 필요에 따라 복원 지점을 생성 할 수 있습니다.
여기에서 복원 지점은 요청 시 생성되며, 이로 인해 섀도 복사본이 생성됩니다.
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 현재 사용 가능한 섀도우 목록을 반환하고 생성 날짜 및 시간별로 수동으로 생성된 복원 지점을 식별합니다.
이제 VSSTrace 복원 지점을 생성하면 추가 문제 해결을 위해 흥미로운 데이터가 이미 포함될 수 있는 VSS 추적이 시작됩니다.
위 그림에서 복원 지점은 VSSTrace WRITER 모듈에 대해서만 활성화되었습니다.vsstrace -f 0 +WRITER -o C:\Temp\VSSTrace\myTraceWriters.txt
복원 지점이 생성되고 VSS 서비스가 호출되면 관련 WRITER 모듈 작업이 예상대로 수집 및 추적되었습니다.
수동으로 만든 복원 지점을 유지하는 것은 의미가 없으므로 추적이 수집된 후 제거해야 합니다.vssadmin ID별로 섀도 복사본을 선택적으로 제거할 수 있습니다.다음
명령을 사용하여 VSS 스냅샷을 나열합니다.
vssadmin list shadows
스냅샷을 삭제합니다.
vssadmin delete shadows /shadow=SNAPSHOT_GUID
이벤트 뷰어를 사용하여 오류 코드 및 메시지를 가져옵니다.
VSS 문제가 발생하는 호스트에서 이벤트 뷰어는 다음을 통해 실행할 수 있습니다. eventvwr.msc /s
Windows 로그 -- 애플리케이션 및 Windows 로그 -->> 시스템 내에서 검색을 제한합니다.
필터링 기준: VSS 및 VolSnap
결국 VSS 관련 메시지가 표시됩니다.