Windows Assessment and Deployment Kit Long Booting 현상해결 Windows Assessment and Deployment Kit ( 이하 ADK) 는 Window 8 이미지엔지니어링동안에성능 baseline 을설정하기위해사용될수있는새로운성능도구입니다. 또한, 해당이미지가배포된후, 성능및안정성이슈를트러블슈팅할수있는도구입니다. 본문서에서는, 성능 baseline 을생성하기위하여, clean 이미지상에서 ADK 에서제공되는성능도구를사용하는방법에대해서확인합니다. ADK 는 clean 이미지를원격으로배포하기위해필요한 WDS(Windows 배포서비스 ) 를포함한모든역할을자동적으로구성할수있는기능도제공합니다. Clean 이미지가설치된컴퓨터는성능상의전사표준컴퓨터로생각할수있습니다. 이러한 Clean 이미지와비교하여성능상의문제가있는컴퓨터에서필요한성능데이터를수집하고, 이슈를해결하기위한도구를 ADK 에서제공합니다. ADK 는이러한작업역시원격에서수행할수있는방법을제공합니다. 이동철 2013-03-04
목차 데모환경... 2 개요... 3 Baseline 컴퓨터준비... 4 Long Boot 컴퓨터준비... 5 Windows Assessment and Deployment Kit 을위한 DHCP 서버준비... 12 Windows Assessment and Deployment Kit 설치서버준비... 13 Windows Assessment Services 설치및구성... 15 Windows 평가서비스설치및초기화... 15 Windows 평가서비스구성... 21 Windows Assessment Services 를사용한성능 baseline 생성... 28 Windows Assessment Services 를사용한성능이슈 Troubleshooting... 52 참조자료... 80 페이지 1 / 80
데모환경 본데모환경은아래와같습니다. Windows Assessment and Deployment Kit 데모환경 DC1.CORP.DOGNCLEE.com Windows Server 2012 Domain Controller DHCP Service 10.0.0.1 APP1.CORP.DONGCLEE.com Windows Server 2012 Member Windows ADK Service Windows Deployment Service 10.0.0.3 2 CompleteDeployment.cmd 표준부팅성능데이터수집 ServerCheck.vbs 1 Windows PE 이미지전사표준이미지적용 3 CompleteDeployment.cmd Slow 부팅성능데이터수집 ADKBASE1W7.CORP.DONGCLEE.com Windows 7 Client Standard Booting ADKTARGET1W7.CORP.DONGCLEE.com Windows 7 Client Slow Booting CORP.DONGCLEE.com 페이지 2 / 80
개요 Windows Assessment and Deployment Kit ( 이하 ADK) 는 Window 8 이미지엔지니어링동안에성능 baseline을설정하기위해사용될수있는새로운성능도구입니다. 또한, 해당이미지가배포된후, 성능및안정성이슈를트러블슈팅할수있는도구입니다. 본문서에서는, 성능 baseline을생성하기위하여, clean 이미지상에서 ADK에서제공되는성능도구를사용하는방법에대해서확인합니다. ADK는 clean 이미지를원격으로배포하기위해필요한 WDS(Windows 배포서비스 ) 를포함한모든역할을자동적으로구성할수있는기능도제공합니다. Clean 이미지가설치된컴퓨터는성능상의전사표준컴퓨터로생각할수있습니다. 이러한 Clean 이미지와비교하여성능상의문제가있는컴퓨터에서필요한성능데이터를수집하고, 이슈를해결하기위한도구를 ADK에서제공합니다. ADK는이러한작업역시원격에서수행할수있는방법을제공합니다. Windows 평가서비스 (Assessment Services) 는여러대의컴퓨터를운영하는랩환경에서성능, 안정성및기능성과같은 Quality 평가기준을자동화하기위한테스트프레임워크입니다. Windows 평가서비스 클라이언트 (Windows ASC) 는자산 (Assets) 및설정 (Settings) 을관리하기위해사용되는 GUI 도구입니다. 자산및설정의종류에는테스트대상랩컴퓨터, 이러한랩컴퓨터에적용될이미지, 랩컴퓨터를테스트하기위해사용되는평가요소등이있습니다. Windows ASC는또한수행되는작업의진행정도를모니터링하기위해사용됩니다. 또한, 작업을통해생성되는결과를확인할수도있습니다. 컴퓨터또는이미지 quality를평가하기위하여, Windows 평가서비스테스트프레임워크는다음요소를포함합니다. Windows ADK 설치및구성 Windows ADK의자동화스크립트, WDS 및 Windows PE를활용하여, 표준이미지를표준 (Baseline) 컴퓨터에설치하는과정을자동화 Windows 평가서비스의스크립트를사용하여, 표준이미지가적용된표준컴퓨터에서표준부팅성능데이터수집을자동화 Windows 평가서비스의스크립트를사용하여, 부팅속도가느린문제컴퓨터에서부팅성능데이터수집을자동화 표준부팅성능데이터와느린부팅성능데이터를비교분석하는과정을통해문제원인파악및해결 페이지 3 / 80
Baseline 컴퓨터준비 부팅속도의표준을정하기위한 Baseline 컴퓨터를준비합니다. 본데모환경에서는 Windows 7 운영체제가설치된 VM 컴퓨터를事前에설치합니다. Windows Assessment and Deployment Kit 이설치될서버컴퓨터와동일한도메인내의도메인클라이언트컴퓨터로구성합니다. 아래는부팅속도의표준컴퓨터의구성사항입니다. 페이지 4 / 80
Long Boot 컴퓨터준비 앞서구성한표준 Baseline 컴퓨터와부팅속도면에서현저하게비교될수있는컴퓨터를구성합니다. 본데모환경에서는부팅속도를고의로느리게하기위한별도의 OU 및그룹정책 (ServerCheck.vbs 시작스크립트 ) 도구성합니다. 본단계에서진행한과정을간략한그림으로표현하면아래와같습니다. Long Boot 환경준비 DC1.CORP.DOGNCLEE.com Windows Server 2012 Domain Controller DHCP Service 10.0.0.1 APP1.CORP.DONGCLEE.com Windows Server 2012 Member Windows ADK Service Windows Deployment Service 10.0.0.3 ServerCheck.vbs ADKBASE1W7.CORP.DONGCLEE.com Windows 7 Client Standard Booting ADKTARGET1W7.CORP.DONGCLEE.com Windows 7 Client Slow Booting CORP.DONGCLEE.com Long Boot 컴퓨터는 Baseline 컴퓨터와동일하게 Windows 7 운영체제를설치한 VM 컴퓨터를준 비하고, 동일한도메인으로구성합니다. 아래는 Long Boot 컴퓨터의구성사항입니다. 페이지 5 / 80
Long Boot 컴퓨터로구성한 ADKTARGET1W7.CORP.DONGCLEE.com 컴퓨터는아래와같이사전에특정 OU에위치합니다. 이작업은 Domain Controller의 Active Directory Users and Computers 도구를사용하여구성합니다. 본데모환경에서는 ADKCLIENTsOU 라는 OU를구성한후, ADKTARGET1W7 컴퓨터를위치시킵니다. 페이지 6 / 80
본데모환경에서고의적으로 Long Boot 현상을구현하기위한 VB 스크립트를먼저준비합니다. 아래스크립트를 Domain Controller 컴퓨터의적당한폴더에 ServerCheck.vbs 라는파일이름으 로저장합니다. option explicit 'This script will attempt to hit a network share for up to a minute (actually it is just slow and pointless)) dim i i=0 do while i<10 i=i+1 wscript.sleep(100000000) 'msgbox "here" loop 페이지 7 / 80
이제앞서구성한 ServerCheck.vbs 스크립트를 ADKTARGET1W7.CORP.DONGCLEE.com 컴퓨터가위치한 ADKCLIENTsOU OU의그룹정책의시작스크립트에적용하여, ADKTARGET1W7.CORP.DONGCLEE.com 컴퓨터가부팅단계에서대기시간을고의로장기대기하게구성합니다. 1 먼저, ADKCLIENTsOU 에 LongBootGP 라는그룹정책을생성합니다. 2 LongBootGP 그룹정책에서 ServerCheck.vbs를컴퓨터의 Startup 스크립트로구성하는작업을진행합니다. A. Computer Configuration -> Policies -> Windows Settings ->Scripts (Startup/Shutdown) 를선택한후, Startup 스크립트에앞서생성한 ServerCheck.vbs를추가합니다. 페이지 8 / 80
3 LongBootGP 그룹정책에서 ServerCheck.vbs 를컴퓨터의 Startup 스크립트로구성하는 페이지 9 / 80
작업을앞선단계에서완료한후, 실제적으로이 Startup 스크립트가비동기적으로수행되는것을방지해야합니다. 즉, Startup 스크립트가동기적으로수행되어야만, 실제적으로컴퓨터의부팅단계에서장시간대기합니다. 즉, Startup 스크립트가비동기적으로수행되는것을방지할수있는그룹정책을추가적으로구성합니다. A. Computer Configuration -> Policies -> Administrative Templates: Policy definition -> System -> Scripts 를선택한후, Run startup scripts asynchronously 항목을 Disabled 로구성합니다. 4 이제앞서구성한 LongBootGP 그룹정책의구성사항이정상적으로적용되어있음을, LongBootGP 그룹정책의 Setting 부분에서확인합니다. 페이지 10 / 80
이제마지막으로 ADKTARGET1W7.CORP.DONGCLEE.com 컴퓨터를재시작하여, 실제로부팅단계에서장시간대기하는지확인합니다. 아래와같이 Please Wait 메시지가대략 10분이상진행되고있으면위 Startup 스크립트가정상적으로작동하고있음을확인할수있습니다. 이제이컴퓨터의부팅단계에서장시간대기하게하는요소가 ServerCheck.vbs 임을검증하는도구로써 Windows Assessment and Deployment Kit을사용하는방법을습득합니다. 페이지 11 / 80
Windows Assessment and Deployment Kit 을위한 DHCP 서버준비 본데모환경에서 Windows Assessment and Deployment Kit 의 WDS 구성요소를설치하기위하 여, 事前에동일 Active Directory 에 DHCP 서버를준비합니다. DHCP 서버는 DC1 에설치합니다. 아래와같이본데모환경에서는 10.0.0.100 10.0.0.200 이라는영역을생성하고, 활성화합니다. 페이지 12 / 80
Windows Assessment and Deployment Kit 설치서버준비 Windows Assessment and Deployment Kit 를설치할서버를준비합니다. 설치할서버는앞서준비 한클라이언트컴퓨터와동일한도메인의 Windows Server 2012 서버로준비합니다. 아래는준비 한서버의구성사항입니다. 또한, APP1 서버에 Windows Assessment and Deployment Kit 서비스가사용할 8000 포트에 대한방화벽을허용합니다. 페이지 13 / 80
페이지 14 / 80
Windows Assessment Services 설치및구성 본단계에서는, 기본 Windows 7 이미지를위한성능 baseline 을생성하기위하여, Windows 평가 서비스를설치및구성하는방법을소개합니다. 본데모환경에서는, Windows 7 이미지를기준으 로하였지만, 동일한과정으로 Windows 8 이미지를구성할수있습니다. Windows 평가서비스설치및초기화 1. APP1 서버에서, 관리자계정으로로그인합니다. 2. 아래링크에서사전에 Windows Assessment and Deployment Kit 설치에필요한설치파일을다운로드받습니다. 본데모환경에서는, 설치파일을이미다운로드받은상태를가정합니다. 윈도우탐색기를수행하여, C:\Temp\Windows Kits\8.0\ADK 경로로이동합니다. Windows Assessment and Deployment Kit (ADK) for Windows 8 ( http://www.microsoft.com/en-us/download/details.aspx?id=30652 ) 페이지 15 / 80
3. Adksetup.exe 파일을수행합니다. 4. 평가및배포키트 (Assessment and Deployment Kit) 설치마법사가수행됩니다. 기본 설치경로를그대로사용하고, 다음을클릭합니다. 5. CEIP( 사용자환경개선프로그램 ) 참여페이지에서, 예를선택한후, 다음을클릭합니다. 6. 사용권계약페이지에서, 동의를클릭합니다. 페이지 16 / 80
7. 설치작업을수행할기능선택페이지에서, 아래와같이배포도구 (Deployment Tools), Windows 사전설치환경 (Windows Preinstallation Environment (Windows PE)), Windows Performance Toolkit, Windows 평가서비스 (Windows Assessment Services), Microsoft SQL Server 2012 Express 를선택한후, 설치를클릭하여, 설치를진행합니다. 페이지 17 / 80
8. 아래와같이설치완료가된후, 닫기를클릭합니다. 9. APP1 서버의시작화면을열기위하여, 시작을클릭합니다. 10. Windows 평가서비스 클라이언트를클릭합니다. 11. Windows 평가서비스 클라이언트가수행된후, 서버초기화 다이얼로그상자가수행됩니다. Windows 평가서비스는이미지를배포하고 Baseline을생성하기위하여, Windows 배포서비스를사용합니다. 또한, Baseline은기계에사전배포되어있는운영체제를사용할수있도록생성되는컴퓨터입니다. WDS가 APP1 서버에설치되어있지않기때문에, Windows 평가서비스는 WDS 역할을설치, 초기화및부트이미지를생성합니다. 12. WDS를설치, 초기화및부트이미지생성을위하여, 예를클릭합니다. 페이지 18 / 80
13. Windows 평가서비스 클라이언트다이얼로그상자에서, 초기화가완료되었음을확인 하고, 확인을클릭합니다. 14. Windows 평가서비스 클라이언트도구가아래와같이정상적으로수행됨을확인합니다. 또한, Windows 평가서비스 클라이언트도구가정상적으로설치및초기화된후, 기본적으로 C 드라이브에 C:\Relax 라는폴더가생성되고, 관련된하위폴더및스크립트가생성되어있음을확인합니다. 페이지 19 / 80
페이지 20 / 80
Windows 평가서비스구성 본과정에서는 Windows 평가서비스를구성하여, 초기성능 baseline을수립하기위하여, baseline 컴퓨터구성및이미지추가작업을수행합니다. 관리자가성능 baseline을수행할수있기前에, 관리자는 Windows 평가서비스인벤토리에컴퓨터및이미지를추가작업을반드시수행해야합니다. 1. Baseline 컴퓨터를인벤토리에추가하기위하여, ADKBASE1W7 컴퓨터에관리자계정으로로그인합니다. 2. ADKBASE1W7 컴퓨터에서, 명령어창을관리자권한으로수행합니다. 3. net use \\app1\relax /u:localadmin Pass.word 를입력한후, Enter 를수행합니다. 아 래와같이명령어가성공적으로수행되었음을확인합니다. 페이지 21 / 80
4. \\app1\relax\scripts\testmachine\completedeployment.cmd 를입력한후, Enter를수행합니다. 이명령어를수행하면, 아래와같이해당스크립트의용도를확인할수있는주석이보여집니다. 이스크립트는기본적으로신규컴퓨터에대한인벤토리를 Windows 평가서비스쪽으로보내주는역할을수행합니다. 이러한역할을수행하기위하여, 신규컴퓨터는자동로그인으로구성되고, 자동적으로리부팅하도록구성됩니다. 5. Y 를입력하고 Enter 를누릅니다. 6. 기계위치를별도로입력하거나, 또는기본으로진행합니다. 본데모환경에서는해당스 크립트를 Baseline 컴퓨터에서직접수행하기때문에, 기본으로진행합니다. 기본으로진 행하기위해별도의입력없이 Enter 를누릅니다. 페이지 22 / 80
7. 위스크립트는수행되고, Baseline 컴퓨터가리부팅된후, Windows 평가서비스의컴퓨터인벤토리항목에해당기계가추가됨을확인할수있습니다. ADKBASE1W7 컴퓨터가리부팅된후, 아래와같이자동로그인된계정이 ADKBASE1W7\localadmin 임을확인합니다. 8. APP1 서버의 Windows 평가서비스 클라이언트도구부분에서, 컴퓨터인벤토리항 목에 1 개의시스템이추가되어있음을확인할수있습니다. 9. 성능 baseline 수집용도의커스텀이미지를 Windows 평가서비스에추가하기위하여, Windows 평가서비스 -> 이미지인벤토리 -> Windows 평가서비스데이터베이스로 페이지 23 / 80
이미지가져오기 (Import image into the Windows Assessment Services database) 순서 로메뉴를클릭합니다. 10. 이미지가져오기화면이수행됩니다. 11. 이제앞서컴퓨터인벤토리에추가한 Baseline 컴퓨터가 Windows 7 운영체제이기때문 페이지 24 / 80
에, 이미지인벤토리에서사용할커스텀이미지를추가하기위해, Windows 7 이미지용 *.wim 파일을먼저준비합니다. 본데모환경에서는 DVD 드라이브에 Windows 7 설치 ISO를삽입하여, \Sources\install.wim 파일의위치를확인합니다. 12. install.wim 파일을오른쪽마우스를선택한후, 복사메뉴를클릭합니다. 13. Windows 평가서비스의기본폴더인 C:\Relax\Scripts 폴더에붙여넣기를수행합니다. 14. 이제다시 Windows 평가서비스 클라이언트도구의이미지가져오기화면을선택합니다. 15. 이미지가져오기화면의오른쪽위의 + 표시옆쪽의녹색순환화살표아이콘을클릭하여, 업데이트를수행합니다. 정상적으로 Windows 7 ENTERPRISEN 버전의 WIM 파일이나타남을확인합니다. 페이지 25 / 80
16. Windows 7 ENTERPRISEN 을선택한후, 가져오기버튼을클릭하여, 이미지를 Windows 평가서비스의이미지인벤토리로추가하는작업을완료합니다. 17. 자산인벤토리 (Asset Inventory) 화면에서, 정상적으로이미지가추가되었음을확인한 후, 확인을클릭합니다. 페이지 26 / 80
18. 이제 ADKBASE1W7 컴퓨터상에서, Windows 평가서비스에서추가한신규이미지를 사용하여 Baseline 을자동적으로생성할수있는프로젝트를만들수있는준비가완료 되었습니다. 페이지 27 / 80
Windows Assessment Services 를사용한성능 baseline 생성 본단계에서, Windows 7 클라이언트를위한 Windows 성능평가서비스를사용하여성능 baseline을생성하는방법을소개합니다. 아래와같은 2가지과정을본단계에서수행합니다. Windows 평가서비스를사용하여성능평가방법설정및수행 수집된성능평가결과를리뷰본과정을개략적으로표현한그림은아래와같습니다. 즉, 표준이미지적용및표준이미지가적용된컴퓨터에서표준부팅성능데이터수집을자동화합니다. 표준이미지설치및표준부팅성능데이터수집 DC1.CORP.DOGNCLEE.com Windows Server 2012 Domain Controller DHCP Service 10.0.0.1 APP1.CORP.DONGCLEE.com Windows Server 2012 Member Windows ADK Service Windows Deployment Service 10.0.0.3 2 CompleteDeployment.cmd 표준부팅성능데이터수집 1 Windows PE 이미지전사표준이미지적용 ADKBASE1W7.CORP.DONGCLEE.com Windows 7 Client Standard Booting ADKTARGET1W7.CORP.DONGCLEE.com Windows 7 Client Slow Booting CORP.DONGCLEE.com 실제운영환경에서, Windows 평가서비스는아래와같은다양한방법으로성능 baseline을생성할수있습니다. 1 PXE 부트및 WDS를사용하여 Bare Metal 기계 2 Windows 평가서비스에서제공하는기존운영체제리부팅하여 PXE 부트한후, 프로젝트내의 OS 설치이미지를사용하여깨끗한신규운영체제설치 3 기계에기존에설치된운영체제활용 (Reimaging 작업이발생하지않음 ) 페이지 28 / 80
본데모환경에서는 2번째방법을사용합니다. 1. 본데모환경에서, 앞서추가한 Windows 7 용설치이미지를사용하여, ADKBASE1W7 컴퓨터의재이미지 (reimage) 작업을수행하기전에, 관리적인측면의약간의변경작업이선행되어야합니다. 현재, 본데모환경의모든 Windows Server 2012 및 Windows 7 컴퓨터들은 Hyper-V 상의 VM으로구성되어있습니다. ADKBASE1W7 컴퓨터의재이미지작업을수행하기위해서, APP1 서버의 WDS 및 PXE 부트기능을사용합니다. PXE 부트기능을활성화하기위해서는, ADKBASE1W7 가상컴퓨터에 Legacy Network Adapter 를사전에추가해야합니다. 아래는 ADKBASE1W7 컴퓨터에 Legacy Network Adapter 이추가되어있음을확인합니다. 2. APP1 서버에관리자계정으로로그인한후, 서버관리자를수행합니다. 페이지 29 / 80
3. 서버관리자 -> 도구 -> Windows 배포서비스를클릭하여, Windows 배포서비스관리 도구를수행합니다. 4. Windows 배포서비스관리도구가수행됩니다. Windows 배포서비스에서 PXE 부트를 허용하기위한구성을수행합니다. 5. Windows 배포서비스밑의서버를확장합니다. 페이지 30 / 80
6. APP1.CORP.DONGCLEE.com 을오른쪽마우스클릭한후, 속성을클릭합니다. 7. PXE 응답탭을클릭합니다. 페이지 31 / 80
8. 알려지거나알수없는모든클라이언트컴퓨터에응답 (Respond to all client computers (known and unknown)) 을선택한후, OK 를클릭합니다. 9. Windows 배포서비스를닫습니다. 10. Windows 평가서비스 클라이언트도구를다시수행합니다. 11. 프로젝트시작항목밑의, 새프로젝트만들기 (Create a new project) 를클릭합니다. 12. 새프로젝트만들기페이지에서, 프로젝트이름부분에 Windows 7 Image Baseline 을 입력한후, 다음을클릭합니다. 페이지 32 / 80
13. 컴퓨터인벤토리페이지에서, 추가버튼을클릭합니다. 14. 컴퓨터인벤토리자산화면에서, ADKBASE1W7 을선택한후, 확인버튼을클릭합니다. 페이지 33 / 80
15. 컴퓨터인벤토리페이지로복귀한후, 앞서추가한 ADKBASE1W7 컴퓨터가추가되어있 음을확인한후, 다음을클릭합니다. 16. 이미지인벤토리페이지에서, 추가버튼을클릭합니다. 페이지 34 / 80
17. 이미지인벤토리자산화면에서, Windows 7 ENTERPRISEN 이미지를클릭한후, 확인을 클릭합니다. 18. 이미지인벤토리페이지로복귀한후, 앞서추가한 Windows 7 ENTERPRISEN 이미지가 추가되어있음을확인한후, 마침을클릭합니다. 페이지 35 / 80
19. Windows 7 Image Baseline 프로젝트화면이수행됩니다. 페이지 36 / 80
20. 새작업만들기 (Create a Job) 를클릭합니다. 21. 새작업페이지에서, 작업이름부분에 Create Windows 7 Baseline 을입력합니다. 22. 새작업페이지에서, 사용자지정작업만들기 (Create a custom job) 을클릭합니다. 페이지 37 / 80
23. 작업설정하위의자산을선택합니다. 자산부분은현재해당프로젝트 (image/computer) 에서사용가능한자산을보여줍니다. 현재는기본적으로어떠한자산도포함되어있지 않음을알수있습니다. 24. 평가자산하위의추가를클릭합니다. 페이지 38 / 80
25. 평가자산선택페이지에서, 앞서기존에이미추가되어있는 ADKBASE1W7 컴퓨터를 클릭한후, 다음을클릭합니다. 26. 평가자산선택페이지에서, Windows 7 ENTERPRISEN 이미지를클릭한후, 마침을클릭 합니다. 마침을클릭한후, 평가자산부분에 ADKBASE1W7 컴퓨터와 Windows 7 ENTERPRISEN 이미지가평가자산으로추가되어있음을확인합니다. 페이지 39 / 80
27. 평가하위의평가추가를클릭합니다. 평가추가부분에현재사용가능한성능평가항목을확인할수있습니다. 필요하다면, 평가추가항목을다중으로선택할수있습니다. 본데모환경에서는, 부팅성능 ( 전체부팅 )(Boot Performance (Full Boot)) 항목의 + 사인을클릭하여, 해당프로젝트성능평가항목으로써추가합니다. 페이지 40 / 80
28. 평가추가하위의실행버튼을클릭하여성능평가를시작합니다. 29. 작업실행페이지의작업인스턴스태그부분에 Create Window 7 Baseline 을입력한 후, 확인을클릭합니다. 페이지 41 / 80
30. Create Windows 7 Baseline 작업인스턴스모니터링화면이수행되고, 이작업인스턴 스에필요한작업의상태메시지가설명되어있습니다. 31. 슬라이드바를오른쪽으로이동한후, 컴퓨터상태의자세히보기를클릭합니다. 32. 자세히보기의메시지는현재 ADKBASE1W7 컴퓨터는리부팅이필요함을의미합니다. 이제 ADKABSE1W7 가상컴퓨터를리부팅한후, F12 키를사용하여 PXE 부팅하도록합니다. PXE 부팅과정으로진행해야만, 앞서지정한 부팅성능 ( 전체부팅 ) 평가과정을진행합니다. 페이지 42 / 80
33. ADKBASE1W7 가상컴퓨터를연결한후, 재시작합니다. 34. PXE 부팅을수행하기위해, Press F12 for network service boot 텍스트가보이는순간에 F12 키를입력하여, WDS 서버에연결함을반드시확인합니다. 이과정을진행하지못 했다면, 다시한번 ADKBASE1W7 컴퓨터를재시작합니다. 35. 아래와같이 Microsoft Windows PE (x86) 메뉴를선택한후, Enter 를누릅니다. 페이지 43 / 80
36. 이제 ADKBASE1W7 컴퓨터는재설치되고, 신규로설치될 clean 운영체제에서앞서지정 한 부팅성능 ( 전체부팅 ) 항목을평가합니다. 이과정은대략 2 시간정도소요됩니다. 페이지 44 / 80
37. ADKBASE1W7 컴퓨터의재이미지작업이완료되면, APP1 서버의 Windows 평가서비 스의작업인스턴스모니터링에아래와같이성공적으로상태가마침임을확인할수있 습니다. 38. 또한, 본데모환경에서의 Windows 7 ENTERPRISEN 운영체제설치 CD에서복사한기본 install.wim 파일을사용하여재이미지작업을수행하였기때문에, ADKBASE1W7 컴퓨터는워크그룹상태로설정되어있음도확인합니다. 그리고, 별도의프로그램도설치되어있지않고, 기본 Windows 7 운영체제임도확인합니다. 필요에따라서, 관리자의커스텀이미지를사용하여, 도메인죠인및기타필요한프로그램도사전에포함하여설치할수도있습니다. 페이지 45 / 80
39. 이제재이미지작업이완료되고, 재이미지작업후의 ADKBASE1W7 컴퓨터의성능측정결과를확인하기위하여, APP1 서버에서 Windows 평가서비스 클라이언트도구를수행합니다. 40. 파일 -> 결과비교메뉴를클릭합니다. 41. 결과선택페이지에서, 찾아보기를클릭합니다. 페이지 46 / 80
42. 기본적으로성능평가결과파일은 C:\Relax\Results 폴더하위에프로젝트파일이름폴더및작업인스턴스이름폴더밑에 merged-results.xml 입니다. 본데모환경에서는아래와같은 merged-results.xml 파일을선택합니다. C:\Relax\Results\Windows 7 Image Baseline\DefaultTestPass\Create Windows 7 Baseline\ADKBASE1W7\Create Windows 7 Baseline_20130303_031919\ merged-results.xml 파일임을확인합니다. 데모환경의설정에따라서위폴더이름은충분히변경될수있습니다. 43. 결과가 Windows 평가서비스 클라이언트도구에보여짐을확인합니다. 페이지 47 / 80
44. 이결과창을확인해보면, 관리자는재이미지작업된신규컴퓨터의전체셧다운시간, BIOS 초기화시간, BIOS 초기화를제외한전체부팅시간등을확인할수있습니다. 페이지 48 / 80
45. 좀더자세한평가결과를확인및 ETL 추적결과를확인하기위하여, 개요부분의결과 보기의최상부의 ADKBASE1W7 를클릭한후, 아래의자세히보기를클릭합니다. 46. 오른쪽창의 ETL 추적부분에서, 첫번째 ETL Timing trace: FullBoot_Timing_1.Boot.etl 페이지 49 / 80
을클릭합니다. 47. 첫번째 ETL 파일의자세한추적을위하여, Windows Performance Analyzer 가수행됨을 확인할수있습니다. 페이지 50 / 80
48. 다음단계에서는이번단계에서수집한 ADKBASE1W7 컴퓨터의기본성능결과와부팅 성능이느린컴퓨터의성능데이터를비교하여부팅속도를느리게하는근본원인을확 인하는과정을진행합니다. 페이지 51 / 80
Windows Assessment Services 를사용한성능이슈 Troubleshooting 본단계는아래와같은시나리오를가정하고, Windows 평가서비스를사용하여문제를해결하는과정을진행합니다. 사용자는자신의컴퓨터를로그온할때마다, 로그인화면에서너무많은대기시간이소요된다고, IT 운영자에게개선을요구합니다. IT 운영자는이미事前에전사표준의컴퓨터에서수집한표준부팅성능에대한 ETL 자료를확보한상태입니다. 이제문제 PC에서, Windows 평가서비스를사용하여부팅과정의평가자료를수집하여, 앞선단계에서수집한표준부팅성능데이터를비교하여부팅대기시간을장시간소요하게만드는실제원인을파악합니다. 본단계에서는아래과정을수행합니다. Windows 평가서비스로부터문제 PC의평가를수행합니다. 앞서수집한표준부팅성능데이터와문제 PC의부팅성능데이터와비교 문제트러블슈팅 사실이미본문서의앞선과정에서고의로 ADKTARGET1W7 컴퓨터의부팅속도를느리게하는 VB 스크립트를적용했습니다. ADKTARGET1W7 컴퓨터의부팅과정의모든데이터를 Windows 평가서비스를통하여수집하고, 실제부팅지연의원인이 VB 스크립트임을확인합니다. 1. 먼저, 문제 PC인 ADKTARGET1W7 컴퓨터의평가를수행하기前에, ADKTARGET1W7 컴퓨터를 Windows 평가서비스의인벤토리에추가하는작업을수행합니다. 2. ADKTARGET1W7 가상컴퓨터에연결한후, 관리자계정으로로그인합니다. 3. 관리자권한으로명령어창을수행합니다. 4. net use \\app1\relax /u:localadmin Pass.word 명령어를수행한후, Enter를누릅니다. 성공적으로명령어가수행됨을확인합니다. 5. \\app1\relax\scripts\testmachine\completedeployment.cmd 명령어를수행한후, Enter 를누릅니다. 실제진행을위해 Y 를입력한후, Enter 를누릅니다. 그런후에, 기계 위치를지정하기위한부분에서역시기본입력으로진행하기위해, Enter 를누릅니다. 페이지 52 / 80
6. 해당스크립트는수행된후, APP1 서버의 Windows 평가서비스 클라이언트도구에서인벤토리에 ADKTARGET1W7 컴퓨터가추가되어있음을확인합니다. 7. Windows 평가서비스 클라이언트도구가설치된 APP1 서버에연결한후, 관리자계정으로로그인합니다. 8. Windows 평가서비스 클라이언트도구에서, 프로젝트 -> 새프로젝트메뉴를클릭합니다. 9. 새프로젝트마법사에서, Boot Performance 를입력한후, 다음을클릭합니다. 10. 컴퓨터인벤토리페이지에서, 이제문제 PC 인 ADKTAEGET1W7 컴퓨터를선택한후, 다음을진행합니다. ADKTAEGET1W7 컴퓨터를선택할수없다면, 앞서컴퓨터인벤토리 페이지 53 / 80
추가작업이성공적으로진행되지못했음을의미합니다. 11. 이미지인벤토리페이지에서, 사전배포된이미지를사용하여트러블슈팅해야하기 때문에, 별도의이미지를추가하지않고, 마침을클릭합니다. 12. 프로젝트의작업 : Boot Performance 부분에서, 새작업만들기를클릭합니다. 13. 새작업페이지에서, 작업이름부분에 Boot Performance Job 을입력한후, 사용자지정 페이지 54 / 80
작업만들기를클릭합니다. 14. 작업설정하위의자산을클릭한후, 추가버튼을클릭하여, ADKTARGET1W7 컴퓨터를선택한후, 이미지는 < 사전배포된이미지사용 > 을 선택합니다. 15. 평가하위의평가추가를클릭한후, 부팅성능 ( 전체부팅 ) 을 추가합니다. 페이지 55 / 80
16. 오른쪽하단의실행버튼을클릭합니다. 17. 메타데이터지정페이지에서, 작업인스턴스태그부분에 Boot Performance Inst 를 입력한후, 확인을클릭합니다. 18. 작업인스턴스모니터링화면이수행되고, 작업상황을확인하기위해, 컴퓨터상태의 자세히보기를클릭합니다. 페이지 56 / 80
19. 이메시지를확인해보면, 이미지가컴퓨터에적용된후, completedeployment.cmd 파일이수행됨을의미합니다. 그러나, 이메시지는부정확할수있으니, ADKTARGET1W7 컴퓨터를강제적으로재시작을수행하게되면, 앞서지정한전체부팅평가를진행할것입니다. 즉, ADKTARGET1W7 컴퓨터를반드시강제적으로재시작합니다. 재시작後에, completedeployment.cmd 명령어를다시한번수행합니다. 20. 이평가작업은상당히오랜시간동안수행될것입니다. 제데모환경기준으로 2 시간 가량소요됩니다. ADKTARGET1W7 컴퓨터를재시작한후, 작업인스턴스모니터링 화면의진행률이변화됨을확인합니다. 21. 또한, 아래와같이 ADKTARGET1W7 컴퓨터에서작업에따른재부팅메시지가보임도 확인합니다. 재부팅이후에, 부팅데이터수집하는스크립트가자동으로수행되는지도 확인합니다. 페이지 57 / 80
22. 마지막으로아래와같이 APP1 서버에서 Windows 평가서비스 클라이언트도구에서 ADKTARGET1W7 컴퓨터의 부팅성능 ( 전체부팅 ) 작업이성공적으로완료되었음을확인합니다. 이러한문제 PC의 부팅성능 ( 전체부팅 ) 작업은통상적으로총 6단계를수행하고, 총 2~3시간정도의소요됩니다. 23. 이제기존 ADKBASE1W7 컴퓨터에서수집한표준부팅성능자료와부팅성능에문제가 있는 ADKTARGET1W7 컴퓨터에서수집한부팅성능자료와비교하는작업을수행합니다. APP1 서버의 Windows 평가서비스 클라이언트도구에서, 파일 -> 비교자료를 페이지 58 / 80
클릭합니다. 24. 결과선택화면에서, 먼저 ADKBASE1W7 컴퓨터를선택한후, 열기버튼을클릭합니다. 즉, 먼저 Baseline 컴퓨터의성능데이터를보여줍니다. 25. 결과보기화면에서 ADKBASE1W7 컴퓨터의부팅성능에대한요약결과가보여짐을 확인한후, 이제비교대상인 ADKTARGET1W7 컴퓨터의부팅성능결과를추가합니다. 결과추가링크를클릭합니다. 페이지 59 / 80
26. 결과선택화면에서, 먼저 ADKTARGET1W7 컴퓨터를선택한후, 추가버튼을클릭합니다. 27. 결과보기화면에서, ADKBASE1W7( 표준컴퓨터 ) 및 ADKTARGET1W7( 문제컴퓨터 ) 컴퓨터의성능결과가나란히보여짐을확인합니다. The results for the baseline and boot performance assessments appear side by side. 28. 개요밑의 ADKBASE1W7 컴퓨터를클릭한후, CTRL 키를누른후, ADKTARGET1W7 페이지 60 / 80
컴퓨터를클릭하면, 2 개의컴퓨터가하이라이트됩니다. 29. 2 개의컴퓨터가선택된상태에서, 오른쪽하단의자세히보기를클릭합니다. 30. 2 개컴퓨터의평가에대한좀더자세한내용이보여집니다. 페이지 61 / 80
31. 결과보기화면에서, 부팅성능 ( 전체부팅 ) -> 총부팅 [BIOS 제외 ] 기간밑의사후켜기 / 끄기기간은 2개의컴퓨터가크게차이나지않습니다. 그러나, 전체부팅시간은 ADKBASE1W7 컴퓨터는 21초, ADKTARGET1W7 컴퓨터는 620초정도로훨씬더길게나타남을확인할수있습니다. 페이지 62 / 80
32. 620초옆아이콘은현재빨강색으로보여짐을확인할수있습니다. 즉, 빨강색의의미는현재이부분이정상또는 healthy 하지않다는것입니다. 620초를클릭한후, 오른쪽창에 총부팅 [BIOS 제외 ] 기간 항목에대한설명이보여짐을확인하고, 이항목의값이 30초이상이라면개선이필요함을설명하는도움말을확인할수있습니다. 페이지 63 / 80
33. 즉이런 620 초와같이부팅시간이예상과는달리길어지는이유를이해하기위해, ADKTARGET1W7 컴퓨터를클릭한후, 오른쪽창의 Analysis trace: Fullboot_Analysis1.Boot.etl 파일을클릭합니다. 페이지 64 / 80
34. Trace 파일이 Windows Performance Analyzer (WPA) 도구에서수행됨을확인할수 있습니다. 여러개의그래프가 WPA 에자동적으로보여짐을확인할수있습니다. 페이지 65 / 80
35. CPU Usage 그래프를확인합니다. CPU 는어떠한프로세스에의해서도과도하게 사용되지않음을그래프에서확인할수있습니다. 36. CPU 그래프에서색깔라인중의하나에마우스를위치시킵니다. 마우스를위에가리키면, 특정색깔에의해표시되는프로세스가어떠한프로세스인지확인할수있습니다. 또한, 현재해당프로세스의 CPU 사용현황을확인할수있습니다. 아래는 System (4) 프로세스의 CPU 사용현황을확인할수있습니다. 37. Disk Usage 그래프를확인합니다. 중요한디스크 I/O는문제의원인이아님을확인할수있습니다. WPA의 Disk Usage Utilization by Disk 및 Disk Usage Counts by IO Type 항목에서중요한문제원인아님을알수있습니다. 아래그래프에서특정시점에만디스크사용률이높고, 그외시점에는디스크사용률이평범함을알수있습니다. 페이지 66 / 80
38. WPA의왼쪽창에서, System Activity 항목을확장합니다. 앞서, 문제컴퓨터의부팅성능데이터파일을수집했기때문에, 이제부팅성능데이터를분석합니다. 먼저, System Activity 항목을분석합니다. System Activity 항목을확장하게되면, 컴퓨터에서발생하는각종항목을확인할수있습니다. 페이지 67 / 80
39. Boot Phases 항목을오른쪽마우스클릭한후, Add Graph to New Analysis View 메뉴를클릭합니다. 40. Boot Phases 내의상세내역이포함된새로운그래프가새탭에보여짐을확인합니다. 페이지 68 / 80
41. Boot Phases 의상세단계를확인해보면, Winlogon Init 단계가대부분의시간을소요함을확인할수있습니다. Winlogon Init 단계의소요시간이대략 607초임을확인할수있고, Boot Phases 단계의대부분소요시간이 Winlogon Init 임을알수있습니다. 페이지 69 / 80
42. 왼쪽창의그래프탐색기에서, 동일탭에동일뷰에볼수있도록, Windows Logon 그래프를더블 - 클릭합니다. 아래와같이동일탭에 Boot Phases 단계와 Windows Logon 단계를확인할수있습니다. 페이지 70 / 80
더블클릭 43. Analysis 창에추가된 Windows Logon 그래프에서, Notification: Create Session -> SessionID:1 항목을확장합니다. 여기에서, Subscriber: GPClient 부분이 Winlogon Init 단계의길이가거의동일하게매칭됨을확인할수있습니다. 즉, Winlogon 단계의대부분소요시간은 Group Policy 때문에발생되었음을확인할수있습니다. 그러나, Group Policy의어떤부분이이러한이슈를유발했는지좀더자세한사항을확인해야합니다. 페이지 71 / 80
44. 왼쪽창의그래프탐색기에서, 동일탭에동일뷰에볼수있도록, Processes - Lifetime by Process 그래프를더블 - 클릭합니다. 아래와같이동일탭에 Boot Phases 단계, Windows Logon 단계및 Processes - Lifetime by Process 단계를확인할수있습니다. 페이지 72 / 80
더블클릭 45. Processes - Lifetime by Process 단계에서, Winlogon Init 시간과동일한시간을가진프로세스가 gpscript.exe 및 wscript.exe 임을확인할수있습니다. 이제 gpscript.exe 및 wscript.exe 수행된스크립트가어떠한것인지확인해야합니다. 페이지 73 / 80
46. Lifetime by Process 그래프의하이라이트된영역을오른쪽마우스클릭한후, Zoom graph in new view 를클릭합니다. 47. Lifetime by Process 그래프가신규분석탭에보여집니다. 페이지 74 / 80
48. 테이블뷰가나타나지않는다면, 그래프의상단의오른쪽코너에있는 Display graph and table 아이콘을클릭합니다. 49. 테이블뷰에서 wscript.exe 를클릭한후, 이프로세스의 Duration 이 599 초임을 확인합니다. 페이지 75 / 80
50. wscript.exe 프로세스를클릭한후, 해당행 (row) 의 Command Line 컬럼부분을오른쪽 마우스클릭한후, Copy Cell 메뉴를클릭합니다. 51. notepad 를수행하고, 내용을 paste 합니다. Notepad 의내용을확인해보면, 특정그룹 정책내의 Startup 스크립트에서수행되는스크립트임을확인할수있습니다. 52. 이제문제원인인특정그룹정책의 startup 스크립트를확인하기위해, DC1 도메인 컨트롤러에연결합니다. 연결후에, 관리자계정으로 DC1 서버에로그인합니다. 53. 로그인한후, Start 화면에서 Group Policy Management 도구를수행합니다. 페이지 76 / 80
54. Group Policy Management 콘솔에서, Forest: CORP.DONGCLEE.com -> Domains -> CORP.DONGCLEE.com -> ADKCLIENTsOU 순서로클릭한후, 해당 OU에적용된 LongBootGP 그룹정책을클릭합니다. LongBootGP 그룹정책을선택한후, 오른쪽창의 Settings 탭을클릭한후, Show All 링크를클릭합니다. 55. 위화면에서확인해보면, Startup 스크립트부분에 ServerCheck.vbs 스크립트가존재함을확인할수있습니다. 그러나, 이스크립트가 ADKCLIENTsOU OU에포함된모든컴퓨터에반드시적용되어야할중요한스크립트입니다. 즉, 이스크립트를제거할수는없습니다. 이러한상황을해결하기위해, System/Scripts 부분에 Run startup scripts asynchronously 항목을현재 Disabled 에서 not configured로변경하는작업을수행합니다. 즉, ServerCheck.vbs 스크립트가비동기적으로수행될수있게그룹정책을변경한다면, 문제컴퓨터들은이제더이상장시간부팅시간이소요되지않을것입니다. 56. LongBootGP 그룹정책을오른쪽마우스클릭한후, Edit를클릭합니다. 페이지 77 / 80
57. Group Policy Management Editor 에서, Computer Configuration -> Policies -> Administrative Templates ->System -> Scripts 순서로클릭합니다. 58. Run startup scripts asynchronously. 항목을더블클릭한후, 현재값인 Disabled 에서 Not Configured 로변경한후, OK 를클릭합니다. 페이지 78 / 80
59. 이제문제 PC 였던, ADKTARGET1W7 컴퓨터에연결한후, 변경된그룹정책을적용 받기위해, 관리자권한으로명령어창을수행한후, gpupdate /force 명령어를 수행합니다. 60. 변경된부팅시간을경험하기위해, ADKTARGET1W7 컴퓨터를재시작한후, 훨씬단축된부팅시간을경험할수있을것입니다. 이제부팅속도에서문제를겪던 PC는빠른부팅시간을경험할수있습니다. 페이지 79 / 80
참조자료 Windows Assessment and Deployment Kit (Windows ADK) ( http://msdn.microsoft.com/enus/library/windows/hardware/hh825420.aspx ) Windows Assessment and Deployment Kit (ADK) for Windows 8 ( http://www.microsoft.com/enus/download/details.aspx?id=30652 ) Use Startup, Shutdown, Logon, and Logoff Scripts ( http://technet.microsoft.com/enus/library/cc753404.aspx ) Run startup scripts asynchronously ( http://msdn.microsoft.com/en-us/library/ms811602.aspx ) 페이지 80 / 80