류짱:Beyond MySelf

VMWare Host에서 운영 중인 Windows Server의 NMI를 이용한 Hang dump 수집 방법

Widows server를 운영 중 Hang 증상이 발생 할경우 원인 분석을 위해서 키보드 덤프나 NMI를 이용한 메모리 덤프를 수집 하는 경우가 종종 있습니다. Hyper-v Host나 물리 머신의 경우도 마찬가지이지만  
VMWare Host에서 운영 중인 Windows 가상머신에 hang이 발생 했을 때 NMI를 이용하여 Hang dump를 수집이 가능합니다.

자세한 방법은 아래 글을 참고 하시기 바랍니다.


먼저 NMI덤프를 수집하기 위해서는 레지스트리에 아래 첫번 째 그림과 같이 NMI 키 값이 등록 되어있어야 합니다.
Windows Server 2012부터는 별도의 키값 생성 없이 NMI덤프가 생성 가능 하므로 아래 키는 Windows server 2008R2와 그 이하 OS 버전에만 적용 하시면 됩니다. Windows Server 2012이상 버전의 NMI 관련 글은아래 블로그 참고.

Coming soon: How to generate a kernel or a complete memory dump file in Windows Server 2012 and Windows Server 2012 R2

https://blogs.technet.microsoft.com/yongrhee/2015/04/05/coming-soon-how-to-generate-a-kernel-or-a-complete-memory-dump-file-in-windows-server-2012-and-windows-server-2012-r2/


본격적으로 NMI 덤프 수집을 위한 세팅을 해보겠습니다.

먼저 덤프 수집필요한 대상 서버로 로그온 후 명령프롬프트에서 아래와 같이 커멘드를 입력하고 NMI 키를 생성합니다. 레지스트리 적용을 위해서는 시스템 재 시작 필요합니다.

NMI 덤프 설정 커멘드

do Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl /v NMICrashDump /t REG_DWORD /d 1 /f



가상머신의 덤프 설정이 완료되면 해당 서버를 운영 중인 VM Host서버에 접속을 합니다. 접속 방법은 따로 설명 드리지 않겠습니다.^^
호스트 접속 후 /sbin 경로로 이동 후 vmdumper -l 커맨드를 이용해서 해당 VM명과 wid를 확인 합니다. 그리고 
vmdumper wid명 nmi를 입력 합니다. 예) vmdumper 1653269 nmi


시스템이 재 시작 된 후 덤프가 Windows에 폴더에서 방금 생성한 메모리 덤프를 확인 할 수 있습니다.



이벤트 로그도 참고 하시면 좋겠네요^^


수집 된 덤프를 분석 합니다.


[참고자료]

How to send NMI to Guest OS on ESXi 6.x (2149185)

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2149185

 

Coming soon: How to generate a kernel or a complete memory dump file in Windows Server 2012 and Windows Server 2012 R2

https://blogs.technet.microsoft.com/yongrhee/2015/04/05/coming-soon-how-to-generate-a-kernel-or-a-complete-memory-dump-file-in-windows-server-2012-and-windows-server-2012-r2/


감사합니다.

저작자 표시 비영리 변경 금지
신고

Comment 0

리소소를 더~ 적게, 효율적으로 나~노(눠) 쓸수 있는 나노서버. 최근에 알게 된 나노서버가 나오게 된 배경은 

다음에 포스팅 하기로 하고 일단 나노 서버를 Nano Server Image Builder를 이용하여 설치 하는 방법을

먼저 포스팅 해봅니다.

 

[사전 요구 사항]
  1.     Nano Server Image Builder 이미지 빌더
  2.     Windows Server 2016 설치 ISO
  3.     Windows 10 ADK
  4.     Hyper-V on Windows 10

 

[Nano Server  가상 머신 만드는 방법]

먼저 Nano server image builder 아래 사이트에서 다운로드 설치 합니다.

https://www.microsoft.com/en-us/download/details.aspx?id=54065




설치가 완료 되면 아래와 같이  Nano Server Image Builder 실행 합니다


이미지 빌더 실행 만약 해당 머신에 Windows ADK가 설치 되어 있지 않다면 아래와같이

ADK를 설치 하라는 팝업이 뜹니다. OK를 누르고 ADK를 설치합니다


메시지에서 Deployment tools WinPE  필요 하다고 하였으니 선택 후 설치를진행합니다.


Windows 10 ADK 설치가 완료되면 다시 Nano Server Image Builder 실행하여 아래와 같은 화면에서
Create a new Nano Server image 클릭합니다.



마운트 Windows Server 2016 설치 ISO 선택합니다.


라이선스 동의를 체크하고 다음을 진행합니다


가상머신 생성 위치와 파일명을 입력합니다.

여기서 주의 할점이 저는 가상 머신 파일을 vhd.로 만들었기 때문에

추후 가상 머신은 1세대로만 만들 수 있습니다물론 vhdx로도 만들 수 있습니다.


다음을 클릭 하고 아래 화면에서 나노 서버 Edition 설치 Role이나 기능 선택합니다


추가로 설치 드라이버가 없기 때문에 다음을 클릭합니다


가상 머신 이름과 계정 정보를 입력합니다


도메인 조인을 하지 않을 것이기 때문에 다음을 클릭합니다.


필요에 따라 미리 네트워크 설정을 진행합니다


이제 거의 마지막 단계입니다.

Create basic nano server image 클릭합니다.


최종 확인 Create를 클릭합니다



PC의 경우 Disk SATA라 이미지를 생성하는데 약 3분정도 소요 되었습니다



이제 이미지 생성이 완료 되었습니다.

Hyper-v를 실행하고 앞서 나노 서버 vhd vhdx가 아닌 vhd로 생성 하였기 때문에1세대 가상 머신을 만들어서 부팅을 합니다.

가상 머신 생성 방법은 생략합니다.



감사합니다.


[참고 자료]

Introducing the Nano Server Image Builder

https://blogs.technet.microsoft.com/nanoserver/2016/10/15/introducing-the-nano-server-image-builder/

Download Nano Server Image Builder (1.0.78)

https://blogs.technet.microsoft.com/ausoemteam/2016/11/07/download-nano-server-image-builder-1-0-78/

저작자 표시 비영리 변경 금지
신고

Comment 0