Microsoft MVP성태의 닷넷 이야기
Windows: 130. Windows Server 2016 Nano 서버 설치 방법 [링크 복사], [링크+제목 복사],
조회: 23355
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Windows Server 2016 Nano 서버 설치 방법

Nano 서버를 실습하고 싶어서, 지난 2번의 시행착오를 거쳤는데요.

Windows Server 2016 Nano 서버 VHD 이미지 만드는 방법 - TP5 기준
; https://www.sysnet.pe.kr/2/0/11078

Windows Server 2016 설치 CD에 있는 Convert-WindowsImage.ps1 사용 방법 정리
; https://www.sysnet.pe.kr/2/0/11079

제 딴에는, "블랙 박스"를 없애고 싶어서 나름 "Convert-WindowsImage.ps1"을 이용해 VHD를 만들려고 무던히도 노력했는데 일단은 문제점을 해결하지 못하고 넘어갑니다.

그래도 괜찮은 것이, Nano 서버를 VHD로 아주 간단하게 만들어주는 "Nano Server Image Builder"가 나왔기 때문입니다. ^^ (사실, 이것도 내부적으로 Convert-WindowsImage.ps1를 이용합니다. 그런데, 왜 직접 하면 안 되고 이걸로 하면 잘 될까요?)

Introducing the Nano Server Image Builder
; https://docs.microsoft.com/en-us/archive/blogs/nanoserver/introducing-the-nano-server-image-builder

Nano Server Image Builder (1.0.78) 
; https://www.microsoft.com/en-us/download/details.aspx?id=54065

다운로드해 설치하고 실행하면, ADK 툴이 설치되지 않은 경우 이것도 다운로드할지 여부를 묻습니다. 선택의 여지가 없으니 설치해야 합니다.



실행하면, GUI 작업을 통해 원하는 대로 Nano Server 이미지를 만들 수 있는데 다음은 그 첫 화면입니다.

nano_image_builder_1.png

제 경우에는 Hyper-V VM에서 쓸 수 있도록 VHD 파일을 원하기 때문에 첫 번째 "Create a new Nano Server image"를 선택했지만, 만약 부팅 가능한 USB 디스크를 원한다면 두 번째 "Create bootable USB media"를 선택하시면 됩니다.

다음은 Windows Server 2016 ISO 파일이 마운트 된 경로, 또는 ISO 파일이 풀린 폴더를 지정하는 단계입니다.

nano_image_builder_2.png

저는 en_windows_server_2016_x64_dvd_9327751.iso 파일을 I 드라이브에 마운트 했기 때문에 "I:\"로 선택한 것입니다.

그다음 화면은 라이선스 확인이고, 그다음 단계에서 이렇게 생성될 VHD 파일의 경로와 크기, 로그 폴더의 경로를 입력받습니다.

nano_image_builder_3.png

다음으로 Nano 서버의 Standard, Datacenter 에디션을 선택하는 화면이 나옵니다. 제 경우에는 Datacenter로 선택하고 부가 패키지를 3가지(Failover Clustering Service, File Server role and other storage components, Web Server (IIS))만 선택했습니다.

nano_image_builder_4.png

그다음은 별도의 Device Driver 선택인데, 제 경우에는 물리 머신에 설치하는 것이 아니므로 그냥 넘어갔습니다. 그러면 컴퓨터 명과 관리자 계정의 초기 비밀번호를 지정할 수 있는 화면이 나옵니다.

nano_image_builder_5.png

이후 Active Directory 도메인 참여 여부를 묻지만 저는 그냥 넘어갔습니다. 다음으로 WinRM 원격 제어를 미리 허용할 수 있는 옵션과 기타 네트워크 옵션이 제공됩니다.

nano_image_builder_6.png

이제 마지막 화면입니다. 지금까지의 설정으로 이미지를 만들려면 "Create basic Nano Server image"를 선택하고, 좀 더 세세한 구성을 하고 싶다면 "Continue to configure advanced settings"를 선택합니다.

nano_image_builder_7.png

제 경우에는 "Create basic Nano Server image" 링크를 선택해 마무리했고, 다음 단계에서 내용 요약과 함께 "Create" 버튼을 누르면 이렇게 작업이 진행됩니다.

nano_image_builder_8.png

위의 화면을 보면, 하단에 "Nano Server image creation PowerShell command" 항목이 나오는데요.

New-NanoServerImage -MediaPath 'I:\' -Edition 'Datacenter' -DeploymentType Guest -TargetPath 'c:\temp\vhd\nanoserver01.vhd' -MaxSize 10737418240 -EnableRemoteManagementPort -SetupUI ('NanoServer.FailoverCluster', 'NanoServer.Storage', 'NanoServer.IIS') -ComputerName 'nanoserver01' -SetupCompleteCommand ('tzutil.exe /s "Korea Standard Time"') -LogPath 'C:\Users\kevin\AppData\Local\Temp\NanoServerImageBuilder\Logs\2016-10-21 22-31'

우리가 마법사에 지정한 그 설정으로 Nano 서버 이미지를 만들어주는 New-NanoServerImage.ps1의 메서드를 호출합니다. 즉, 저 내용을 그대로 복사해서 보관해 나중에 재사용하면 됩니다. 당연히 동일한 VHD 파일이 생성되겠고!



"Nano Server Image Builder" 도구는 내부적으로 NanoServerImageGenerator.psm1과, Convert-WindowsImage.ps1 파일을 사용합니다. 그리고 이 2가지 파일은 Windows Server 2016 설치 ISO 파일에도 포함되어 있으므로 "New-NanoServerImage" 사용법을 알고 있다면 굳이 "Nano Server Image Builder" 도구를 설치할 필요 없이, ISO 파일에서 "\NanoServer\NanoServerImageGenerator" 폴더에 있는 "Convert-WindowsImage.ps1", "NanoServerImageGenerator.psm1" 파일을 추출해서 ImportModule 후 사용하면 됩니다.



지난번과 달리, Hyper-V의 Gen1 VM에 VHD 붙여서 부팅하면 다음과 같이 "Firewall Rules" 목록이 잘 나옵니다.

nano_image_builder_9.png

첫 번째 부팅까지 완료한 시점의 디스크 소비 크기는 1.62GB입니다. 말 그대로 10GB VHD 용량이면 웬만한 응용 프로그램 구축에는 충분한 용량이 될 수 있습니다.

물론, 이후의 모든 관리는 WinRM을 이용해 PowerShell로 원격 설정을 하시면 됩니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 6/27/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 106  107  108  109  110  111  112  113  114  115  116  117  118  [119]  120  ...
NoWriterDateCnt.TitleFile(s)
10949정성태4/28/201619825.NET Framework: 575. SharedDomain과 JIT 컴파일파일 다운로드1
10948정성태4/28/201623740.NET Framework: 574. .NET - 눈으로 확인하는 SharedDomain의 동작 방식 [3]파일 다운로드1
10947정성태4/27/201621604.NET Framework: 573. .NET CLR4 보안 모델 - 4. CLR4 보안 모델에서의 조건부 APTCA 역할파일 다운로드1
10946정성태4/26/201624458VS.NET IDE: 106. Visual Studio 2015 확장 - INI 파일을 위한 사용자 정의 포맷 기능 (Syntax Highlighting)파일 다운로드1
10945정성태4/26/201618178오류 유형: 327. VSIX 프로젝트 빌드 시 The "VsTemplatePaths" task could not be loaded from the assembly 오류 발생
10944정성태4/22/201619408디버깅 기술: 80. windbg - 풀 덤프 파일로부터 텍스트 파일의 내용을 찾는 방법
10943정성태4/22/201624258디버깅 기술: 79. windbg - 풀 덤프 파일로부터 .NET DLL을 추출/저장하는 방법 [1]
10942정성태4/19/201619609디버깅 기술: 78. windbg 사례 - .NET 예외가 발생한 시점의 오류 분석 [1]
10941정성태4/19/201619512오류 유형: 326. Error MSB8020 - The build tools for v120_xp (Platform Toolset = 'v120_xp') cannot be found.
10940정성태4/18/201622772Windows: 116. 프로세스 풀 덤프 시간을 줄여 주는 Process Reflection [3]
10939정성태4/18/201623803.NET Framework: 572. .NET APM 비동기 호출의 Begin...과 End... 조합 [3]파일 다운로드1
10938정성태4/13/201623369오류 유형: 325. 파일 삭제 시 오류 - Error 0x80070091: The directory is not empty.
10937정성태4/13/201631594Windows: 115. UEFI 모드로 윈도우 10 설치 가능한 USB 디스크 만드는 방법
10936정성태4/8/201642245Windows: 114. 삼성 센스 크로노스 7 노트북의 운영체제를 USB 디스크로 새로 설치하는 방법 [3]
10935정성태4/7/201626571웹: 32. Edge에서 Google Docs 문서 편집 시 한영 전환키가 동작 안하는 문제
10934정성태4/5/201625317디버깅 기술: 77. windbg의 콜스택 함수 인자를 쉽게 확인하는 방법 [1]
10933정성태4/5/201630904.NET Framework: 571. C# - 스레드 선호도(Thread Affinity) 지정하는 방법 [8]파일 다운로드1
10932정성태4/4/201623215VC++: 96. C/C++ 식 평가 - printf("%d %d %d\n", a, a++, a);
10931정성태3/31/201623484개발 환경 구성: 283. Hyper-V 내에 구성한 Active Directory 환경의 시간 구성 방법 [3]
10930정성태3/30/201621427.NET Framework: 570. .NET 4.5부터 추가된 CLR Profiler의 실행 시 Rejit 기능
10929정성태3/29/201631556.NET Framework: 569. ServicePointManager.DefaultConnectionLimit의 역할파일 다운로드1
10928정성태3/28/201637269.NET Framework: 568. ODP.NET의 완전한 닷넷 버전 Oracle ODP.NET, Managed Driver [2]파일 다운로드1
10927정성태3/25/201626507.NET Framework: 567. System.Net.ServicePointManager의 DefaultConnectionLimit 속성 설명
10926정성태3/24/201626021.NET Framework: 566. openssl의 PKCS#1 PEM 개인키 파일을 .NET RSACryptoServiceProvider에서 사용하는 방법 [10]파일 다운로드1
10925정성태3/24/201620344.NET Framework: 565. C# - Rabin-Miller 소수 생성 방법을 이용하여 RSACryptoServiceProvider의 개인키를 직접 채워보자 - 두 번째 이야기파일 다운로드1
10924정성태3/22/201620945오류 유형: 324. Visual Studio에서 Azure 클라우드 서비스 생성 시 Failed to initialize the PowerShell host 에러 발생
... 106  107  108  109  110  111  112  113  114  115  116  117  118  [119]  120  ...