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

비밀번호

댓글 작성자
 




... 121  122  123  124  125  126  127  128  129  130  131  132  [133]  134  135  ...
NoWriterDateCnt.TitleFile(s)
1730정성태8/11/201422065개발 환경 구성: 234. Royal TS의 터미널(Terminal) 연결에서 한글이 깨지는 현상 해결 방법
1729정성태8/11/201418127오류 유형: 236. SqlConnection - The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.
1728정성태8/8/201430136.NET Framework: 453. C# - 오피스 파워포인트(Powerpoint) 파일을 WinForm에서 보는 방법파일 다운로드1
1727정성태8/6/201420387오류 유형: 235. SignalR 오류 메시지 - Counter 'Messages Bus Messages Published Total' does not exist in the specified Category. [2]
1726정성태8/6/201419317오류 유형: 234. IIS Express에서 COM+ 사용 시 SecurityException - "Requested registry access is not allowed" 발생
1725정성태8/6/201421286오류 유형: 233. Visual Studio 2013 Update3 적용 후 Microsoft.VisualStudio.Web.PageInspector.Runtime 모듈에 대한 FileNotFoundException 예외 발생
1724정성태8/5/201426050.NET Framework: 452. .NET System.Threading.Thread 개체에서 Native Thread Id를 구하는 방법 - 두 번째 이야기 [1]파일 다운로드1
1723정성태7/29/201458247개발 환경 구성: 233. DirectX 9 예제 프로젝트 빌드하는 방법 [3]파일 다운로드1
1722정성태7/25/201420961오류 유형: 232. IIS 500 Internal Server Error - NTFS 암호화된 폴더에 웹 애플리케이션이 위치한 경우
1721정성태7/24/201423984.NET Framework: 451. 함수형 프로그래밍 개념 - 리스트 해석(List Comprehension)과 순수 함수 [2]
1720정성태7/23/201421982개발 환경 구성: 232. C:\WINDOWS\system32\LogFiles\HTTPERR 폴더에 로그 파일을 남기지 않는 설정
1719정성태7/22/201425943Math: 13. 동전을 여러 더미로 나누는 경우의 수 세기(Partition Number) - 두 번째 이야기파일 다운로드1
1718정성태7/19/201435177Math: 12. HTML에서 수학 관련 기호/수식을 표현하기 위한 방법 - MathJax.js [4]
1716정성태7/17/201434870개발 환경 구성: 231. PC 용 무료 안드로이드 에뮬레이터 - genymotion
1715정성태7/13/201430502기타: 47. 운영체제 종료 후에도 USB 외장 하드의 전원이 꺼지지 않는 경우 [3]
1714정성태7/11/201420830VS.NET IDE: 92. Visual Studio 2013을 지원하는 IL Support 확장 도구
1713정성태7/11/201444529Windows: 98. 윈도우 시스템 디스크 용량 확보를 위한 "Package Cache" 폴더 이동 [1]
1712정성태7/10/201432814.NET Framework: 450. 영문 윈도우에서 C# 콘솔 프로그램의 유니코드 출력 방법 [3]
1711정성태7/10/201438015Windows: 97. cmd.exe 창에서 사용할 폰트를 추가하는 방법 [1]
1710정성태7/8/201430522개발 환경 구성: 230. 유니코드의 Surrogate Pair, Supplementary Characters가 뭘까요?파일 다운로드2
1709정성태7/8/201427319VS.NET IDE: 91. Visual Studio에서 32/64비트 IIS Express 실행하는 방법
1708정성태7/7/201424678VS.NET IDE: 90. Visual Studio - 사용자 정의 정적 분석 규칙 만드는 방법 [3]파일 다운로드1
1707정성태7/4/201422965.NET Framework: 449. C#에서 C++로 VARIANT 넘겨주는 방법파일 다운로드1
1706정성태7/3/201421351.NET Framework: 448. .NET SmartClient 컨트롤을 윈도우 8/2012에서 활성화하는 방법파일 다운로드1
1705정성태7/2/201435031VC++: 78. 보이어-무어(Boyer-Moore) 알고리즘이 정말 빠를까? [6]파일 다운로드1
1704정성태7/2/201421627.NET Framework: 447. w3wp.exe AppPool 재생(recycle)하는 방법 정리
... 121  122  123  124  125  126  127  128  129  130  131  132  [133]  134  135  ...