본문 바로가기
Azure & Windows/Windows Server

Provisioning Nano Server using PowerShell

by 강철 벼룩 2016. 3. 1.

Windows Server 2016 정식 출시된 버전이 아니지만,

최근 TP4까지의 변화만 보더라도 IT Pro 마음을 설레게 하는 기술과 기능이 포함되고 있습니다.

중에서도 핵심 특징 중의 하나인 Nano Server PowerShell 통해 프로비저닝하는 방법을 살펴보겠습니다.


준비

먼저 해야할 작업은 Windows Server 2016 TP4 다운로드하는 일입니다.

다운로드는 다음 링크를 클릭하세요.


Windows Server 2016 TP4 다운로드


다운로드 받은 ISO 이미지를 마운트 하면 탐색기에서 다음과 같은 폴더 구조를 있습니다.


여기서 "NanoServer"라는 폴더를 적절한 위치로 복사합니다.

복사한 해당 폴더를 열어보면 다음과 같은 구조로 되어 있습니다.


NanoServer.wim 파일이 실제 서버 이미지 파일이며 대략 130MB 정도 되는 아주 작은 크기임을 있습니다.

Convert-WindowsImage.ps1 NanoServerImageGenerator.psm1 Nano Server 가상 머신을 만드는데 사용할 있는 cmdlet 물리 서버 프로비저닝 이미지를 만드는데 필요한 cmdlet 제공합니다.

Packages 폴더에서는 Nano Server 설치할 있는 역할과 기능을 제공합니다.

폴더 안에는 언어별 폴더가 별도로 존재합니다.


이제 PowerShell 열고 다음 명령을 입력해 폴더를 복사한 위치로 변경합니다.


 Set-Location C:\NanoServer


 다음 명령으로 Nano Server wim 파일과 관련 패키지를 복사할 폴더를 만듭니다.


 New-Item -Name Base -ItemType Directory


 결과로 생성되는 Nano Server 이미지가 저장될 위치를 다음 명령으로 만듭니다.


 New-Item -Name NanoVM -ItemType Directory


 NanoServer라는 폴더의 구조는 다음과 같이 변경되었습니다.


Nano Server 가상 머신 이미지 만들기

다음 명령구문을 실행해 가상 머신 이미지를 만들기 위해 필요한 cmdlet 로드합니다.


만든 가상 머신 이미지에 사용할 Administrator 암호를 지정하기 위해 다음 구문에서 보이는 pass 라는 변수에 암호화된 문자열 입력을 저장해 놓습니다.

$pass= Read-Host -AsSecureString "Administrator 사용할 암호를 지정하세요."


이제 앞서 준비한 내용을 가지고서 다음 명령 구문으로 새로운 Nano Server 가상 머신을 만듭니다.


 New-NanoServerImage -MediaPath h:\ -BasePath .\Base -TargetPath .\NanoVM\TLS-NANO1.vhdx `


-ComputerName TLS-NANO1 -GuestDrivers -EnableRemoteManagementPort -InterfaceNameOrIndex Ethernet `


-Ipv4Address 172.16.0.151 -Ipv4SubnetMask 255.255.255.0 -Ipv4Gateway 172.16.0.1 -Packages Microsoft-NanoServer-DSC-Package `


-Defender -AdministratorPassword $pass -Storage -Language en-us


 

매개변수에 대해서는 대략 다음과 같이 설명할 수 있을 것 같습니다.


-MediaPath h:\    <--Windows Server 2016 이미지 마운트 경로


-BasePath .\Base <--앞서 만든 Base 폴더 경로


-TargetPath .\NanoVM\TLS-NANO1.vhdx  <-- 앞서 만든 NanoVM 폴더 경로와 만들어질 VM 파일의 이름


-ComputerName TLS-NANO1 <-- 만들 VM 호스트 이름


-GuestDrivers <-- Hyper-V 통합 설치 드라이버


-EnableRemoteManagementPort <-- WinRM 통한 원격관리 (방화벽 5985 포트 설정)


-InterfaceNameOrIndex Ethernet <-- 네트워크 연결명이나 NIC 인덱스


-Packages Microsoft-NanoServer-DSC-Package <-- 설치할 패키지 지정


-Defender <-- Windows Defender 안티 멜웨어 설치


-Storage <-- 파일 서버 역할과 다른 스토리지 구성요소


명령 구문의 실행 결과는 다음과 같습니다.


Hyper-V 가상 머신 만들기

Nano Server VM 이미지가 만들어 졌다면,  Hyper-V 관리자에서 가상 머신을 만들고 VM 이미지를 연결해주면 됩니다. 

관리자 UI에서 있지만, PowerShell 통해  부분도 만들어 보겠습니다.


다음 명령 구문으로 TLS-NANO1이라는 가상 머신을 저장할 폴더 구조를 만듭니다.


New-Item -Name TLS-NANO1 -ItemType Directory -Path C:\VMs\


New-Item -Name "Virtual Hard Disks" -ItemType Directory -Path C:\VMs\TLS-NANO1\


 

앞서 만든 Nano Server 이미지를 복사하는 명령 구문은 다음과 같습니다.


Copy-Item -Path .\NanoVM\TLS-NANO1.vhdx -Destination 'C:\VMs\TLS-NANO1\Virtual Hard Disks'


끝으로, Hyper-V 새로운 가상 머신을 만듭니다.



Hyper-V 관리자에서 등록된 새로운 Nano Server 시작하고 로그온해 봅니다.


로그인한 화면은 <Nano Server Recovery Console> 입니다. 컴퓨터 이름이나 워크그룹 정보, OS, 시간, 네트워크 주소와 MAC 정보 등을 확인할 있으며, 하단의 <Networking> <Firewall> 부분에서 직접 IP 구성과 방화벽 설정을 수행할 있습니다.


Nano Server 설정

Nano Server VM 만들고 실행 시킨 로그인과 기본 설정이 정상적으로 확인이 된다면,

이제 Nano Server 도메인에 가입시키고 도메인 계정을 Nano Server 로컬 관리자 계정에  추가시켜 관리를 위한  작업을 놓습니다.


Nano Server 도메인에 가입시키는 방법은 기존에 알고 있는 오프라인 도메인 가입 방법을 활용합니다.

러기 위해 Nano Server DC 간의 TrustedHosts 목록 구성을 먼저 수행합니다.


다음 명령은 DC에서 수행합니다.


다음과 같이 Nano Server PowerShell 세션을 연결합니다.


도메인 가입을 위해 Nano Server DNS 설정을 DC DNS 변경합니다.


다음의 Djoin 명령으로 오프라인 도메인 가입을 위한 blob 파일을 DC에서 만듭니다.


방금 만들어진 오프라인 도메인 가입 파일을 Nano Server 복사합니다.

PowerShell 5.0에서 개선된 Copy-Item 사용하면 다른 세션으로 파일을 복사할 있습니다.


Nano Server 다시 PowerShell 세션을 연결하고 복사한 위치에 파일이 있는지 확인해 봅니다.


다음과 같이 djoin 명령에서 복사된 blob 파일을 이용해  Nano Server 도메인 가입을 수행하고 서버를 재시작 해줍니다.


마지막 단계 입니다.

도메인 계정에 Nano Server Administrators 그룹의 멤버십을 부여해 향후 관리를 수행하게 합니다.


이제 등록한 도메인 계정으로 Nano Server에 로그인할 수 있습니다.