이번 포스트에서는 시스템이 예고 없이 Shutdown된 경우 이벤트 로그에 로깅 되는 Eventlog, 6008이 어떻게 로깅 되는지 그리고 일반적인 원인 대해서 설명 드리겠습니다.
[Eventlog]
EVENT ID: 6008
Source: Eventlog
Type: 오류
Description: 2008-02-04의 오후 3:17:29에서 이전에 예기치 않은 시스템 종료가 있었습니다.
Windows은 Shutdown을 두 가지 종류로 구분합니다
1. Clean Shutdown(=Expected Shutdown): 정상적인 Shutdown
2. Dirty Shutdown(=Unexpected Shutdown): 비정상적인 Shutdown
사용자가 시스템을 정상으로 종료한 것이 아니고 비정상적으로 종료 된 경우가 Dirty Shutdown에 해당 되며 바로 6008 오류가 로깅 됩니다.
Windows는 Clean Shutdown의 경우 Event Log service가 레지스트리에 있는 LastAliveStamp라는 값을 삭제 합니다. 그리고 다음 재부팅 시 LastAliveStamp의 값이 존재하지 않으면 이전에 Clean Shutdown이 되었다고 판단합니다.
만약 시스템이 Dirty Shutdown이 되었다면 Event Log service가 정상적으로 LastAliveStamp 값을 삭제 하지 못합니다, 다음 재부팅시 Windows는 LastAliveStamp 값이 존재함을 확인하고 이전에 Dirty Shutdown이 있었음을 판단하여 이벤트 로그 6008 오류를 남깁니다.
∙LastAliveStamp Registry값은 아래와 같습니다.
LastAliveStamp
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability
∙이 Time Stamp는 아래 값의 시간 주기를 체크하여 업데이트 됩니다.
TimeStampInterval
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability
Windows가 Dirty Shutdown하는 경우는 아래와 같습니다
1. Hardware 로 인한 문제:
a. 하드웨어와 관련된 Firmware issue, Power failure, Disk failure, Disk Controller fault 등의 문제가 있을 경우 발생합니다. 제 경험으로는 Bluescreen을 제외한 6008의 대부분은 Hardware 관련 문제였습니다.
2. Software 로 인한 문제:
a. 시스템이 비정상적으로 종료되는 일반적인 경우로 KeBugcheckEx를 호출하여 Bluescreen을 발생시킵니다. 이 때 발생한 메모리 덤프 파일을 확인하면 원인을 알 수 있습니다.
b. Services.exe 또는 Lsass.exe 와 같은 중요 프로세스가 Crash 되었을 경우 발생합니다. 이 경우에는 이벤트 로그에 해당 정보가 로깅 되어 windows에서 원인을 파악할 수 있습니다.
3. ASR 기능이 Enable되어 있는 경우:
a. 이 기능이 포함되어 있는 하드웨어 장비에서 발생할 수 있습니다. ASR 기능은 System에 Hardware문제(발열 또는 Driver Fault 등)가 있을 때 자동으로 서버가 재 시작하는 역할을 합니다.
댓글 없음:
댓글 쓰기