Microsoft MVP성태의 닷넷 이야기
Windows: 130. Windows Server 2016 Nano 서버 설치 방법 [링크 복사], [링크+제목 복사],
조회: 16053
글쓴 사람
정성태 (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

비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  67  68  69  70  71  72  [73]  74  75  ...
NoWriterDateCnt.TitleFile(s)
11807정성태1/29/201912199Windows: 156. 가상 디스크의 용량을 복구 파티션으로 인해 늘리지 못하는 경우 [4]
11806정성태1/29/201911907디버깅 기술: 122. windbg - 덤프 파일로부터 PID와 환경 변수 등의 정보를 구하는 방법
11805정성태1/28/201913812.NET Framework: 806. C# - int []와 object []의 차이로 이해하는 제네릭의 필요성 [4]파일 다운로드1
11804정성태1/24/201911818Windows: 155. diskpart - remove letter 이후 재부팅 시 다시 드라이브 문자가 할당되는 경우
11803정성태1/10/201911322디버깅 기술: 121. windbg - 닷넷 Finalizer 스레드가 멈춰있는 현상
11802정성태1/7/201912687.NET Framework: 805. 두 개의 윈도우를 각각 실행하는 방법(Windows Forms, WPF)파일 다운로드1
11801정성태1/1/201913578개발 환경 구성: 427. Netsh의 네트워크 모니터링 기능 [3]
11800정성태12/28/201812914오류 유형: 509. WCF 호출 오류 메시지 - System.ServiceModel.CommunicationException: Internal Server Error
11799정성태12/19/201813752.NET Framework: 804. WPF(또는 WinForm)에서 UWP UI 구성 요소 사용하는 방법 [3]파일 다운로드1
11798정성태12/19/201812926개발 환경 구성: 426. vcpkg - "Building vcpkg.exe failed. Please ensure you have installed Visual Studio with the Desktop C++ workload and the Windows SDK for Desktop C++"
11797정성태12/19/201810322개발 환경 구성: 425. vcpkg - CMake Error: Problem with archive_write_header(): Can't create '' 빌드 오류
11796정성태12/19/20189975개발 환경 구성: 424. vcpkg - "File does not have expected hash" 오류를 무시하는 방법
11795정성태12/19/201812362Windows: 154. PowerShell - Zone 별로 DNS 레코드 유형 정보 조회 [1]
11794정성태12/16/20189810오류 유형: 508. Get-AzureWebsite : Request to a downlevel service failed.
11793정성태12/16/201811414개발 환경 구성: 423. NuGet 패키지 제작 - Native와 Managed DLL을 분리하는 방법 [1]
11792정성태12/11/201812200Graphics: 34. .NET으로 구현하는 OpenGL (11) - Per-Pixel Lighting파일 다운로드1
11791정성태12/11/201812167VS.NET IDE: 130. C/C++ 프로젝트의 시작 프로그램으로 .NET Core EXE를 지정하는 경우 닷넷 디버깅이 안 되는 문제 [1]
11790정성태12/11/201810549오류 유형: 507. Could not save daemon configuration to C:\ProgramData\Docker\config\daemon.json: Access to the path 'C:\ProgramData\Docker\config' is denied.
11789정성태12/10/201820381Windows: 153. C# - USB 장치의 연결 및 해제 알림을 위한 WM_DEVICECHANGE 메시지 처리 [2]파일 다운로드2
11788정성태12/4/201810359오류 유형: 506. SqlClient - Value was either too large or too small for an Int32.Couldn't store <2151292191> in ... Column
11787정성태11/29/201814297Graphics: 33. .NET으로 구현하는 OpenGL (9), (10) - OBJ File Format, Loading 3D Models파일 다운로드1
11786정성태11/29/201811063오류 유형: 505. OpenGL.NET 예제 실행 시 "Managed Debugging Assistant 'CallbackOnCollectedDelegate'" 예외 발생
11785정성태11/21/201813435디버깅 기술: 120. windbg 분석 사례 - ODP.NET 사용 시 Finalizer에서 System.AccessViolationException 예외 발생으로 인한 비정상 종료
11784정성태11/18/201813095Graphics: 32. .NET으로 구현하는 OpenGL (7), (8) - Matrices and Uniform Variables, Model, View & Projection Matrices파일 다운로드1
11783정성태11/18/201811217오류 유형: 504. 윈도우 환경에서 docker가 설치된 컴퓨터 간의 ping IP 주소 풀이 오류
11782정성태11/18/201810989Windows: 152. 윈도우 10에서 사라진 "Adapters and Bindings" 네트워크 우선순위 조정 기능 - 두 번째 이야기
... 61  62  63  64  65  66  67  68  69  70  71  72  [73]  74  75  ...