류짱:Beyond MySelf

테스트 환경의 시스코 UCS 블레이드에  Windows Sever 2016 를 설치  Hyper-V Role 인스톨 후 최근 릴리즈 된 Window Server 2016 insider preview 16257을 Guest VM 으로 설치하고 해당 VM에 Windows Subsystem for Linux (WSL) 설치 후 Ubuntu를 설치 하는 방법을 정리합니다.
아래 MS 사이트에 설명이 잘 되어 있지만 저의 경우에는 호스트 머신과 Window Server 2016 insider preview  VM이 인터넷이 안되는 환경이라 Hyper-v 호스트 서버에 Window Server 2016 insider preview VM을 설치하고 인터넷이 되는 환경에서 우분투를 다운 받고 해당 파일을 VM으로 복사후 설치 하였으니 참고 부탁 드립니다.
Windows Server 2016 Installation Guide
https://msdn.microsoft.com/commandline/wsl/install-on-server

[Window Server 2016 inside preview 16257버전에 Ubuntu 설치 하기]
1. 먼저 Hyper-v 호스트 서버에 Window Server 2016 inside preview 16257 설치 ISO파일을 다운로드 후 VM을 설치 합니다.
   VM 설치 방법은 워낙 간단하고 많이 알려져 있어서 간단하게 축약합니다.^^

Window Server 2016 inside preview 16257 Datacenter 버전을 선택하고 설치를 완료 합니다.

설치가 완료되면 패스워드 설정 후 해당 머신을 로그온 하여 IP 할당 및  Remote Management 등의 세팅을 완료 합니다.
Configure a Server Core installation of Windows Server 2016 with Sconfig.cmd
https://docs.microsoft.com/en-us/windows-server/get-started/sconfig-on-ws2016

그리고 Powershell을 실행 후 설치 된 VM의 버전을 확인 후

아래와 같은 커멘드로 Windows-subsystem-Linux Feature를 설치 합니다.

 

Windows-subsystem-Linux Feature의 설치가 완료되면 해당 VM은 인터넷이 안되는 환경이기 때문에 인터넷이 가능한 PC나 서버에서
Ubuntu설치 파일을 다운로드 합니다.
Windows Server 2016 Installation Guide
https://msdn.microsoft.com/commandline/wsl/install-on-server
download Ubuntu app
Ubuntu

파워셀로 다운로 예

다운로드 한 Ubuntu설치 파일을 Hyper-v 호스트에 복사 후 해당 파일을 copy-vmfile 명령어를 이용해서 해당 VM으로 복사 합니다

VM에 copy된 Ubuntu 압축 파일을 폴더를 생성 한 후 expand-archive 명령어를 이용해서 압축을 해제 합니다.

압축을 푼 후 해당 폴더로 이동하여 Ubuntu.exe 파일을 실행하여 인스톨을 진행합니다.

인스톨이 완료 되면 root 패스워드를 입력하고 정상 동작 하는지 확인을 합니다.

SSH 커멘트를 이용해서 해당 VM의 gateway인 시스토 스위치에도 접속을 해 보고

Top 커멘드로 메모리 리소스 사용률도 확인하고

lscpu 커멘드로 CPU의 상태와 lsb_release -a 커멘드로 설치 된 우분투의 버전도 확인 해 보았습니다.

WSL의 동작 방식을 공부 좀 하고 포스팅 후
그 다음엔 해당 머신에 Ansible을 설치하고 구성 하고 공유해보겠습니다.

Usng Ansible through Windows 10's Subsystem for Linux
https://www.jeffgeerling.com/blog/2017/using-ansible-through-windows-10s-subsystem-linux

Windows Support
http://docs.ansible.com/ansible/latest/intro_windows.html

감사합니다.

[참고 자료]
Windows Server 2016 Installation Guide
https://msdn.microsoft.com/commandline/wsl/install-on-server


Copy-VMFile
https://technet.microsoft.com/en-us/itpro/powershell/windows/hyper-v/copy-vmfile

Details on How Linux Runs Natively on Windows
https://www.infoq.com/news/2016/04/linux-windows

Windows Subsystem for Linux: Architectural Overview
https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-Architectural-Overview

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

Comment 0

Cisco UCS Blade 서버에 Windows Server 2016을 설치 해 보았습니다. 상세 그림이 없어서 시스템 구성이  한눈에 와 닿지 않을 수 있지만 외장 스토리지가 연결 되어있고 해당 외장 스토리지에 OS가 설치 되는 구조 입니다.

 

설치와 관련한 자세한 방법은 아래와 같습니다.

[ ]

  • Windows Server 2016 Ent on UCS blade Server

 

[구성 하드웨어]

  • XIO Storage
  • Cisco MDS 9148
  • UCS 관리용 Windows 2008R2
  • Cisco UCS 6410XP Fabric Interconnect
  • Cisco Nexus 5596UP
  • UCS B200 M3 Blade Server

 

[사전 준비 사항]

  • Windows Server 2016 ISO 파일
  • Cisco UCS Virtual Interface Card Drivers (UCS 펌웨어 확인 후 호환 가능한 파일 다운로드)
    시스코
    홈페이지  통해서 다운로드 가능하나 일반 사용자 계정으로는 다운로드 불가
    등록
    파트너사 계정으로 다운로드 가능!!
  • 블레이드 서버에 외장 스토리지의 LUN 할당

[설치 방법]

UCS manager 설치 관리 서버에 접속 UCS Manager 실행 접속

UCS manager에서 서버 Windows Server 2016 설치 UCS 서버를 선택 geneneral => KVM console

콘솔화면에서 Virtual Media탭을 선택하고 아래와 같이 미리 다운로드 받은 Windows 설치 이미지를 삽입 한 후 reset을 클릭 합니다.

Gracefully restart OS를 선택 하고 OK를 누릅니다.

아래와 같은 팝업이 뜨면 OK를 클릭합니다.

아래 그림 처럼 KVM 탭을 클릭하여 서버의 부팅 상태를 확인 합니다.

아래와 같은 부팅 화면에서 키보드의 F6을 눌러 부팅 메뉴로 들어갑니다.

부팅 디바이스 선택 화면에서 Cisco vKVM-Mapped DVD를 선택 합니다.
Windows ISO 를 연결 한 디바이스 입니다.

ISO가 연결 된 가상 DVD를 통해 Windows Server의 부팅 파일이  로딩됨을 확인 합니다. 

Windows Server 2016설치 화면에서 다음을 설치 언어와 국가등을 선택하고 다음을 클릭 합니다.

Install Now를 클릭하여 설치를 진행합니다.

설치를 원하는 OS의 유형을 선택합니다. 저는 GUI가 필요하여 아래와 같이 Desktop Experience를 선택 하였습니다.

Windows Setup 화면에서 Custom을 선택 한 후 다음을 클릭합니다.

일반적인 경우라면 아래화면에서 OS 설치가 가능한 Disk가 확인 되지만 UCS B200 M3 Blade Server  경우 서버 자체
내장 디스크가 없기 때문에 외장 SAN 스토리지가 연결 되어 있고 해당 스토리지를 OS가 인식 할 수 있도록
스토리지를 연결 할 드라이버의 설치가 필요 합니다.

이에 아래 그럼에서 처럼 Load driver를 선택 합니다.

 

미리 다운 받아 놓은 시스코 드라이버 팩을 가상 디스크로 연결 하고 드라이버를 선택 합니다.
어떤 드라이버가 필요 한지는 사전에 미리 확인이 필요하나 UCS 블레이드의 경우 스토리지 연결을 위해서
Fnic이 필요하며 현재 UCS의 펌웨웨 버전에서는 Windows Server 2012R2까지만 호환이 되기 때문에
저의 경우 Windows server 2016을 설치 하기위해서 2012R2 용 드라이버를 선택 하였으니 참고 부탁 드립니다.

아래와 같이 스토리지 연결을 위한 fnic 드라이브를 선택 합니다.

그리고 다음을 누르면 아래 그럼처럼 "Windows can't be installed on~" 메시지가 나타나면 다시 Load Driver를
선택 한 후 KVM 화면에서 Virtual Media탭을 선택 한 후 설치 ISO가 연결 된 드라이브를 선택 합니다.

위 단계에서 스토리지 드라이버의 설치를 위해서 가상 디스크에 ISO의 연결을 해지하고 스토리지 드라이버를
인식 시켰기 때문에 드라이버의 인식이 완료 된 후 다시 OS 설치 파일을 연결 한 것입니다.

Windows Server 2016 ISO파일이 다시 연결 된 후 외장 SAN 스토리지로 OS가 설치 됨을 확인 할 수 있습니다.

OS의 설치가 완료 된 후 해당 서버로 로그온 하여 시스템 정보를 확인 해 보았습니다.

감사합니다.

[참고 자료]
Cisco UCS Virtual Interface Card Drivers Installation Guide

http://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/os-install-guides/3-1/b_Cisco_VIC_Drivers_Installation_Guide/b_Cisco_VIC_Drivers_Installation_Guide_chapter_01.html

 

 

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

Comment 0

조직에서 WSUS를 이용 하고 있다면  WUinstall이라는 툴을 이용하면 Windows update를 좀더 편하게 할 수 있습니다.
해당 프로그램을 작업 스케줄로 등록하여 자동으로 업데이트 파일 다운로드 및 설치, 재 시작이 가능 하며 ,
psexec를 이용한다면
작업 스케줄 등록이 아니더라도 Remote 서버의 업데이트를 관리 서버 한 대에서 일괄적으로 진행 할 수 있습니다.

WUinstall 프로그램은 아래사이트에서 다운로드가 가능 한데 현재 제공하는 버전은 Free Trial 과 구매 버전 밖에 없습니다.
https://wuinstall.com/

최신 Free trial 버전의 경우 일정 기간이 지나면 무료 이용이 불가능 합니다만 구글링을 조금해서 약간 오래 된 
Wuinstall 1.x 버전을 구하신다면 옵션에 제약이 있긴 하지만 기본적으로 업데이트를 search, download, install,reboot 하는 것이
가능 하니 굳이 최신 버전이 필요하지 않다면 조금의 구글링으로 이전 버전을 다운로드 후 테스트 해 보시기 바랍니다.

예전에는 아래 그림 처럼 Free 버전과 Pro버전으로 제공 되었는데 이게  Free Trial 버전과 구매 버전으로 바뀐 것 같습니다.


Wuinstall을 이용해서 Windows update를 작업 스케줄에 등록하여 업데이트의 설치 및 재 시작을 하는 상세 방법은 아래와 같습니다.

먼저 Wuinstall을 다운로드 받아 적당한 곳에 압축을 풉니다. 그럼 아래 그림에서 처럼 Wuinstall.exe 파일과 관련 문서 폴더가 있습니다. 



Wuisntall.exe파일을 적당한 곳에 옮겨 놓고 작업 스케줄 등록을 위한 스크립으를 만듭니다. Wuinsall의 이용 방법은
다운로드 받은 폴더의 docs를 이용하시면 됩니다.

cmd /c c:\tools\wuinstall\WUInstall.exe /install /reboot 10 >> c:\tools\wuinstall\insall.log 2>>&1

위 커멘드를 update.cmd로 저장합니다.

작업 스케줄을 실행하고 작업 스케줄을 실행할 계정과 권한을 적용하고 작업 스케줄 이름을 입력합니다.
만약 로그파일을 로컬이 아닌 원격 서버의 공유 폴더에 저장하고 싶을 경우에는 system 계정이 아닌 별도
계정을 적용하시면 됩니다만 해당 계정이 반드시 작업 스케줄이 실행되는 서버의 local admin 그룹에 포함 되어 있어야
Windows update가 가능 하니 참고 하시기 바랍니다.

Action탭에서 위에서 만든 실행 할 스크립트를 선택후 적용합니다.

스크립트와 작업 스케줄에서 정상 등록하는지 실행을 해 봅니다.
이 부분은 주의가 필요한데 최소 스크립트를 만들 때 위 에서처럼 /install 옵션이 아닌 /search 옵션만
준다면 search만 하므로 테스트가 용이하니 참고 하십시오.

위 스크립트처럼 install까지 테스트가 필요하다면 반드시 테스트 환경에서^^


여튼 위 작업을 실행하게 되면 로그를 통해서를 wuinstall이 /insall과 /reboot 10 옵션으로 실행 된 것을 확인 할 수 
있습니다.

미리 적영 되어 있는 WSUS를 찾아서 자동으로 업데이트를 시작하고 업데이트의 설치가 완료되면 10초 후 시스템을
재 시작 합니다.



테스트가 잘 되었다면 Trigger를 통해서 점검과 같은 특정 시간에 예약 스케줄을 등록하고 업데이트를 진행하시면 됩니다.


참고로 작업 스케줄을 각 서버마다 등록하고 한대의 서버에서 파워셀로 해당 작업을 실행하는 커멘드를 실행하거나
혹은 Psexec를 이용해서 특정 서버에서 원격 서버의 Windowus update도 가능하니 자세한 내용은 메뉴얼을 참고 하시기 바랍니다.

고맙습니다.

[참고자료]
Wuinstall
https://wuinstall.com/

Automatically updating a new windows installation
https://www.experts-exchange.com/articles/6852/Automatically-updating-a-new-windows-installation-scripted.html


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

Comment 0

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

인터넷이 안되는 환경의 서버에서 Livekd를 이용한 Full dump 수집 방법

인터넷이 안되는 환경의 서버에서 간혹 LiveKD를 이용해서 메모리 덤프 수집을 해야 하는 경우가 간혹 있는데 예전에는 해당 머신과
동일 빌드 버전의 OS를 인터넷  환경에 설치하거나 인터넷이 연결 된 동일 환경 OS에서 Windbg 설치 후 LiveKD를 이용하여 심볼을
다운 받고 그 심볼을 인터넷이 안되는 환경에 복사 후 Livekd를 이용하여 Full dump를 수집 하였습니다.
그런데 인터넷이 안되는 환경과 인터넷이 되는 환경의 같은 OS도 빌드 버전이 보안 업데이트 설치 여부에 따라 달라지는 경우가 많아
같은 OS의 심볼을 받아도 LiveKD가 실행 되지 않는 경우가 다반사 였습니다.

최근 서버에서 online 중에 덤프 수집이 필요하여 여러번 삽집을 하면서 keyboard 나 NMI 혹은 notmyfault로 덤프 수집을 해야 하나
고민하다가 우연찮게...블로그를 발견해서.. 얼마나 고맙든지.. (오래 됬는데 왜 이제서야 알게 되었을까요? ㅎㅎ)

Livekd를 이용한 덤프 수집 방법은 http://ryuchan.kr/145 에 오래 전에 정리 해 두었었는데... windbg 파일 다운로드 링크는 업데이트가
좀 필요 하네요^^

여튼 방법은 이렇습니다.

먼저 LiveKD를 이용해서 덤프를 수집 할 인터넷이 안되는 환경의 서버에서 Kernel32.exe, Ntdll.dll, ntoskrnl.exe 파일을 복사하여
인터넷이 되는 PC에 복사를 합니다.
아래 예에서는 인터넷이 되는 제 PC에 D:\Testsymbols\system32 폴더를 만들고 온라인 덤프 수집이 필요한 서버의 해당 파일을 복사
하였습니다.


제 PC에는 Windows debugging tool이 설치 되어 있고 Livekd 또한 미리 복사 되어 있기 때문에 명령 프롬프트를 실행 후 해당 폴더로
이동을 합니다. 그리고 아래와 같은 명령어를 입력 합니다.

symchk /if d:\testsymbols\system32\*.* /s srv*d:\testsymbols*http://msdl.microsoft.com/download/symbols

명령어를 실행 하면 아래와 같이 tessymbols 폴더에 3개의 .pdb 폴더가 다운로드 됩니다.

제 PC에 다운로드 된 3개의 *.pdb 폴더를 인터넷이 안되는 덤프 수집이 필요한 서버에 복사합니다.
해당 서버에도 미리 Windows debugging tool설치하고 Livekd를 복사 해 놓았기 때문에 c:\testsysmbols라는 폴더에 해당 파일을 복사 하였습니다.

해당 서버에서 명령프롬프트를 실행하여 Windows debugging tool이 설치 된 , Livekd가 복사 된 폴더로 이동하여 Livekd.exe를 실행합니다.

정상적으로 라이브 커널 디버깅이 연결 된 것이 확인 됩니다. 이제 full dump 수집을 위해서 아래 명령어를 실행하고 덤프가 수집 되는 것을 확인 합니다. 

덤프 수집이 완료되면 q 명령어로 kernel debugging 연결을 끊고 수집 된 덤프를 분석 합니다.

[참고 자료]
Online Kernel Memory Dump using LiveKd.exe
https://blogs.technet.microsoft.com/carlh/2009/11/30/online-kernel-memory-dump-using-livekd-exe/


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

Comment 0

Windows Server 2012R2 로 구성 된 클러스터 된 파일 서버에서 Nonpaged Pool 사용률이 비 정상적으로 높아
어떤 녀석이 많은 메모리를 사용 중인지 확인 하기 위해서 Livekd를 이용해서 라이브 디버깅을 해 보았습니다. 

[환 경]
 OS : Fail Over Cluster File Server on Windows Server 2012R2

[증 상]
 Nonpaged Paginng Pool의 메모리 사용률이 비 정상적으로 높앞으며 시스템 프로세스가 사용하는 핸들 수 도 2만이 
 넘었음.


[확인 사항]

  • 파일 서버 이기 때문에 오픈 된 파일이나 연결 된 사용자 사세션이 많은 지 확인 해 보았으나 연결 된 세션이 많지 않았음
  • 각 노드의 TCP 커넥션 수 확인

  

원인 분석을 위해서
Windows debugging tool 설치 후 해당 설치 디렉터리에 Livekd 를 복사한다.

  

디버깅을 위한 심볼 Fix를 위해서

파일 서버에서 MS 심볼 서버로 접근 할 수 없기 때문에 로컬 컴퓨터(Windows 8.1)에서 widbg를 실행 후 덤프를 하나 열고
심볼을 받아서 해당 심볼 중 아래 두 폴더를 라이브 디브깅을 할 폴더로 복사한다.
 



분석을 진행 할 서버에서 명령 프롬프트를 이용해서 Windows debugging 폴더로 이동하여
Livekd -y c:\symbols 

명령어 입력 후
정상적으로 로컬 디비깅이 실행 되면 리소스 확인에 필요한 커멘드를 이용해서 리소스 사용률 확인
   

0: kd> !vm 4

*** Virtual Memory Usage ***

Physical Memory: 6288149 ( 25152596 Kb)
Page File: \??\C:\pagefile.sys
Current: 26214400 Kb Free Space: 25872832 Kb
Minimum: 26214400 Kb Maximum: 75497472 Kb
unable to get nt!MmSystemLockPagesCount
Error reading free nonpaged PTEs 0000000000000004
Available Pages: 1703176 ( 6812704 Kb)
ResAvail Pages: 2875193 ( 11500772 Kb)
Locked IO Pages: 0 ( 0 Kb)
Free System PTEs: 59377 ( 237508 Kb)
Free NP PTEs: 0 ( 0 Kb)
Modified Pages: 8080 ( 32320 Kb)
Modified PF Pages: 8089 ( 32356 Kb)
NonPagedPool 0 Used: 1455190 ( 5820760 Kb)
NonPagedPool 1 Used: 1651617 ( 6606468 Kb)
NonPagedPool Usage: 3250905 ( 13003620 Kb)
NonPagedPool Max: 4294967296 (17179869184 Kb)
PagedPool 0 Usage: 147291 ( 589164 Kb)
PagedPool 1 Usage: 42232 ( 168928 Kb)
PagedPool 2 Usage: 35308 ( 141232 Kb)
PagedPool Usage: 224831 ( 899324 Kb)
PagedPool Maximum: 4160749568 (16642998272 Kb)
Shared Commit: 348374 ( 1393496 Kb)
Special Pool: 0 ( 0 Kb)
Shared Process: 11828 ( 47312 Kb)
PagedPool Commit: 224941 ( 899764 Kb)
Driver Commit: 55834583195 (223338332780 Kb)
Committed pages: 4696802 ( 18787208 Kb)
Commit limit: 12841749 ( 51366996 Kb)

Nopaged Pool을 가장 많이 사용하는 top5 Pool tag 확인 

0: kd> !poolused /t5 2

Sorting by NonPaged Pool Consumed
Pool Used:
NonPaged Paged

Tag Allocs Used Allocs Used

MPP. 49781288 10354777664 0 0 UNKNOWN pooltag ' MPP', please update pooltag.txt
VoSm 3689 240181440 0 0 Bitmap allocations , Binary: volsnap.sys
Mdl 81341 170719024 0 0 Io, Mdls
ConT 387 140668928 0 0 UNKNOWN pooltag 'ConT', please update pooltag.txt
Cont 1112 106383968 0 0 Contiguous physical memory allocations for device dr
TOTAL 51007260 11496509728 604302 758159552


MPP 풀태그를 사용하는 시스템 드라이버 확인
   

C:\Windows\System32\drivers>findstr /l /m MPP *.sys

afd.sys
ClusDisk.sys
CsvFlt.sys
CsvFs.sys
ds4dsm.sys
ds4utm.sys
dxgkrnl.sys
FWPKCLNT.SYS
http.sys
mup.sys
ndis.sys
ndiswan.sys
pacer.sys
rassstp.sys
sdstor.sys
SerCx.sys... 등등


대부 분 MS에서 제공하는 드라이브 이나 Ds4dsm.sys와 Ds4utm.sys만 IBM 에서 제공한 모듈로 해당 모듈의 최신 버전 확인 필요
추가로 서치를 좀 해보니 해당 모듈에서 메모리 릭이 발생 한 사례가 있네요.

http://www-01.ibm.com/support/docview.wss?uid=ssg1S1005069


[참고자료]

http://ryuchan.kr/145

http://ryuchan.kr/344

http://blogs.technet.com/b/askperf/archive/2011/09/23/getting-to-know-the-mmst-pool-tag.aspx

https://windowsarchitecture.wordpress.com/2015/01/12/windows-2012-r2-poolmon/

   

   

   

  

신고

Comment 0

Windows Server 2012R2 hyper-v cluster에서 사용 중인 CSV 볼륨에 Cache를 사용 하는 방법을 정리 해 보았습니다.


[
설정 방법]

Windows Server 2012R2에서는 BlockCacheSize가  Default Enable 되어 있지만

Size Zero 설정 되어 있기 때문에 Cache 사이즈는 아래 명령어를 통해서 설정 해줘야 합니다.

 

Windows 2012R2 경우 Cachesize 물리적 메모리의 최대 80%설정 가능합니다만 권장은 512MB 입니다.

 

 

 

설정 cache size 모니터링 하기위해서는 성능 모니터를 실행 아래 항목을 확인 하면 되지만
해당 볼륨의 offline online 실행 적용 가능하며 한 번 적용이 된 후 부터는 변경 할 경우 실시간으로 변경 됩니다.

 

 

 

 

CSV 볼륨의 디스크를 오프라이인으로 변경 후 다시 온라인 한 후 부터 아래와 같이 캐시 사이즈를 변경하면 실시간으로 해당 캐시 사이즈가 적용 됨을 확인 할 수 있습니다.
 

감사합니다.

 

[참고자료]

How to Enable CSV Cache
http://blogs.msdn.com/b/clustering/archive/2013/07/19/10286676.aspx


 

 

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

Comment 0

온프레미스 Windows Server or PC 와 Azure File Storage를 네트워크 드라이브로 연결 방법

  

먼저 Portal.azure.com 에 로그 온 후 리소스 그룹을 클릭합니다. 그리고 Default-Storage EastAsia를 선택 합니다.


 

 

리소스 그룹 화면에서 추가를 클릭 한 후 저장소 클릭 한 후 배포 모델을 선택하고 만들기를 클릭합니다.


 

 

 

저장소 만들기 화면에서 아래와 같이 사용하자 하는 이름으로 저장소를 만듭니다.


 

 

저장소가 만들기가 완성되면 아래와 같은 화면이 보입니다.


 

이제 저장소 만들기를 완료 하였으므로 지금 만든 azure file storage를 연결 할 서버나 PC에서 Powershell일 실행 한 후 Add-AzureAccount 명령어를 하여 azure 계정으로 로그온을 합니다.

 

 

로그온이 완료되면 파워셀이 화면이 아래와 같이 보입니다.

 

 

 Azure file storage를 온프레미스 서버에 연결 하기 위한 상세 과정은 아래와 같습니다.

1. 저장소 계정 및 키에 대한 컨텍스트 만들기

# create a context for account and key
$ctx
=New-AzureStorageContext storage-account-name storage-account-key

 

2. 새 파일 공유 만들기

# create a new share
$s
= New-AzureStorageShare logs -Context $ctx

 

3. 파일 공유에 디렉터리 만들기

# create a directory in the share
New-AzureStorageDirectory -Share $s -Path CustomLogs

 

4. 디렉터리에 로컬 파일 업로드

# upload a local file to the new directory
Set-AzureStorageFileContent -Share $s -Source C:\temp\Log1.txt -Path CustomLogs

 

5. 디렉터리의 파일 나열

# list files in the new directory
Get-AzureStorageFile -Share $s -Path CustomLogs

 

6. 파일 공유 마운트

net use <drive-letter>: \<storage-account-name>.file.core.windows.net<share-name> /u:<storage-account-name> <storage-account-key>

 

이제 파일 공유가 완료 되었습니다. 공유 네트워크 드라이브인  X 드라이브로 이동 해 봅니다.

 


추가로 익스플로러를 실행하여 Azure File Storage가 연결 된 것을 확인 할수 있습니다. 신기하게도 파일 포멧이 MAFS 이네요^^


 

파워 셀에서 SMB 커넥션 명령어를 실행하면 아래와 같이 SMB 3.0 (Windows 8.1에서 연결)으로 연결 된 것을 확인 할수 있습니다. 


 

[참고 자료]

How to use Azure File storage with Windows

https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-files/

 

Azure PowerShell을 설치 및 구성하는 방법
https://azure.microsoft.com/ko-kr/documentation/articles/powershell-install-configure/

 

Azure 저장소 계정 정보
https://azure.microsoft.com/ko-kr/documentation/articles/storage-create-storage-account/#view-copy-and-regenerate-storage-access-keys

 


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

Comment 0

Domain admin 패스워드 리셋 방법 

ERD 커멘드를 이용해서 로컬 admin의 패스워드를 리셋 하는 것은 알고 있었고 실제로 몇 번 변경을 해봤습니다만 
도메인 admin의 패스워드를 변경 할 수 있는 방법은 없는 것으로 알고 있었는데.. 그게 아니었네요.
지인(?)이 운영하는 회사의 AD+ SQL cluster 2대 구성 된 서버의 domain admin 패스워드가 분실 되 도움을 요청하여
방법을 찾다가 보니 아래와 같이 아주 쉽게 domain admin의 패스워드 리셋이 가능 하더군요..

방법은 아래와 같습니다.

먼저 Window Server 2008 R2 설치 CD를 이용해서 서버를 부팅하여 부팅 중 아래와 같은 화면이 나오면
Repair your computer를 클릭 합니다.

 시스템 복구 옵션 팝업창에서 현재 서버의 OS와 Disk가 선택 된 것을 확인하고 다음을 클릭합니다.

 시스템 복구 옵션 화면에서 명령 프롬프트를 클릭 합니다.

명령 프롬프트가 시작 되면 기존 OS가 로드 된 D: 드라이브로 이동하여 아래의 명령어를 실행하여 utilman.exe 파일을 백업 합니다..
move d:\windows\system32\utilman.exe d:\windows\system32\utilman.exe.bak

Umtiman.exe 파일의 백업이 완료 되면 아래의 명령어를 실행하여 Cmd.exe를 utilman.exe로 copy 합니다. 
Copy d:\windows\system32\CMD.exe d:\windows\system32\utilman.exe

 카피가 완료 되면 시스템을 재 시작 합니다.

 시스템이 재 시작 되면 로그온 화면에서 아래 접근성 아이콘을 클릭 합니다.

접근성 아이콘 클릭 시 명령 프롬프트가 실행 되면 net user 명령어를 이용하여 Domain admin의 패스워드를 변경 합니다.

 

패스워드 변경이 완료 되면 로그온 화면에서 Ctntrl+Alt+Del 를 실행 후 변경 된 패스워드로 로그온을 합니다.

 로그온이 완료 되면 C:\windows\system32폴더로 이동하여 utilman.exe를 삭제 합니다.

그리고 utilman.exe.bak를 원래 이름인 utilman.exe로 변경 합니다.

만약 utilman.exe.bak의 이름 변경시 권한 문제로 변경 할 수 없다는 메시지가 팝업 된다면 설치 CD로 부팅 후 복원 모드에서 파일 이름을 변경 하시기 바랍니다.

   

 이름 변경 시 권한이 없다는 메시지 발생시 설치 CD로 부팅 후 복원 모드에서 파일 네임을 변경 하시면 됩니다.

감사합니다.

[참고자료]
ERD Commander를 이용한 패스워드 복구 방법
http://ryuchan.kr/55

http://www.bursky.net/index.php/2012/04/reset-domain-administrator-password-windows-server-2008/

http://www.howtogeek.com/106333/how-to-reset-your-forgotten-domain-admin-password-on-server-2008-r2/

 

신고

Comment 0