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

비밀번호

댓글 작성자
 




... 46  47  48  49  50  51  [52]  53  54  55  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
12319정성태9/10/20209459오류 유형: 647. smigdeploy.exe를 Windows Server 2016에서 실행할 때 .NET Framework 미설치 오류 발생
12318정성태9/9/20208994오류 유형: 646. OpenVPN - "TAP-Windows Adapter V9" 어댑터의 "Network cable unplugged" 현상
12317정성태9/9/202011277개발 환경 구성: 511. Beats용 Kibana 기본 대시 보드 구성 방법
12316정성태9/8/20209719디버깅 기술: 170. WinDbg Preview 버전부터 닷넷 코어 3.0 이후의 메모리 덤프에 대해 sos.dll 자동 로드
12315정성태9/7/202011975개발 환경 구성: 510. Logstash - FileBeat을 이용한 IIS 로그 처리 [2]
12314정성태9/7/202010356오류 유형: 645. IIS HTTPERR - Timer_MinBytesPerSecond, Timer_ConnectionIdle 로그
12313정성태9/6/202011675개발 환경 구성: 509. Logstash - 사용자 정의 grok 패턴 추가를 이용한 IIS 로그 처리
12312정성태9/5/202015673개발 환경 구성: 508. Logstash 기본 사용법 [2]
12311정성태9/4/202010822.NET Framework: 937. C# - 간단하게 만들어 보는 리눅스의 nc(netcat), json_pp 프로그램 [1]
12310정성태9/3/202010055오류 유형: 644. Windows could not start the Elasticsearch 7.9.0 (elasticsearch-service-x64) service on Local Computer.
12309정성태9/3/20209784개발 환경 구성: 507. Elasticsearch 6.6부터 기본 추가된 한글 형태소 분석기 노리(nori) 사용법
12308정성태9/2/202011082개발 환경 구성: 506. Windows - 단일 머신에서 단일 바이너리로 여러 개의 ElasticSearch 노드를 실행하는 방법
12307정성태9/2/202011847오류 유형: 643. curl - json_parse_exception / Invalid UTF-8 start byte
12306정성태9/1/20209960오류 유형: 642. SQL Server 시작 오류 - error code 10013
12305정성태9/1/202010908Windows: 172. "Administered port exclusions"이 아닌 포트 범위 항목을 삭제하는 방법
12304정성태8/31/20209854개발 환경 구성: 505. 윈도우 - (네트워크 어댑터의 우선순위로 인한) 열거되는 IP 주소 순서를 조정하는 방법
12303정성태8/30/202010011개발 환경 구성: 504. ETW - 닷넷 프레임워크 기반의 응용 프로그램을 위한 명령행 도구 etrace 소개
12302정성태8/30/20209987.NET Framework: 936. C# - ETW 관련 Win32 API 사용 예제 코드 (5) - Private Logger파일 다운로드1
12301정성태8/30/202010248오류 유형: 641. error MSB4044: The "Fody.WeavingTask" task was not given a value for the required parameter "IntermediateDir".
12300정성태8/29/20209691.NET Framework: 935. C# - ETW 관련 Win32 API 사용 예제 코드 (4) CLR ETW Consumer파일 다운로드1
12299정성태8/27/202010621.NET Framework: 934. C# - ETW 관련 Win32 API 사용 예제 코드 (3) ETW Consumer 구현파일 다운로드1
12298정성태8/27/202010331오류 유형: 640. livekd - Could not resolve symbols for ntoskrnl.exe: MmPfnDatabase
12297정성태8/25/20209511개발 환경 구성: 503. SHA256 테스트 인증서 생성 방법
12296정성태8/24/202010016.NET Framework: 933. C# - ETW 관련 Win32 API 사용 예제 코드 (2) NT Kernel Logger파일 다운로드1
12295정성태8/24/20209357오류 유형: 639. Bitvise - Address is already in use; bind() in ListeningSocket::StartListening() failed: Windows error 10013: An attempt was made to access a socket ,,,
12293정성태8/24/202010706Windows: 171. "Administered port exclusions" 설명
... 46  47  48  49  50  51  [52]  53  54  55  56  57  58  59  60  ...