안녕하세요.

이번 포스팅은 물리 서버에 나노 서버를 설치하는 방법에 대한 내용입니다.

 

이미 앞의 포스팅을 통해서도 설명드렸지만 나노 서버의 경우 기존 윈도우 설치와는 다르게 설치 시에 선택하여 설치할 수가 업습니다.

따라서, 물리 서버에 나노 서버를 설치하기 위해서는 vhd를 마운트하는 방법이나 WDS를 통해 설치하는 2가지 방법이 있을 듯합니다.

 

이번 포스트에서는 간편하게 가상 하드디스크 파일(vhd)를 mount하여 설치하는 방법으로 설치 순서는 다음과 같습니다.

 

1. 물리 서버에서 실행되는 나노 서버를 위한 vhd 파일 만들기

2. Windows Server 2016 USB 이미지를 만들고 vhd 파일 복사하기

3. Diskpart로 통해 디스크 포맷한 후 vhd 파일 마운트하여 부트 설정하기

 

순서를 보시면 아시겠지만 비교적 간단합니다.

 

먼저 물리 서버에서 실행되는 나노 서버를 위한 vhd 파일 만들기 입니다.

1. 파워쉘을 통해 나노 서버 모듈을 가져옵니다.

Import-Module .\NanoServerImageGenerator.psm1

 

2. 다음과 같이 파워쉘을 통해 물리 서버에서 실행될 나노 서버 vhd 파일을 만듭니다.

New-NanoServerImage -Edition Datacenter -DeploymentType Host -MediaPath <path to root of media> -BasePath .\Base -TargetPath .\NanoServerPhysical\NanoServer.WIM -OEMDrivers -Compute –Clustering –Storage -EnableRemoteManagementPort -Computername

 

예를 들면 다음과 같습니다.

New-NanoServerImage -Edition Datacenter -DeploymentType Host -MediaPath F:\ -BasePath .\Base -TargetPath "D:\NanoServerPhsical\PhysicalNanoServer.vhd" -OEMDrivers -Compute –Clustering –Storage -EnableRemoteManagementPort -ComputerName "NanoServer"

 






2. Windows Server 2016 USB 이미지를 만들고 vhd 파일 복사하기

 

Download: https://www.microsoft.com/en-us/download/windows-usb-dvd-download-tool

 

1. 먼저, Windows USB/DVD Download Tool을 다운로드 받아 설치합니다.

 

2. Windows USB/DVD Download Tool 프로그램을 실행한 후 Browse 버튼을 클릭하여 Windows Server 2016 TP5 ISO 파일을 선택합니다.

 

3. ISO 파일 선택이 완료되었으면 Next 버튼을 클릭합니다.

 

4. 미디어 타입 선택에서 USB Device를 선택합니다.

 

5. USB 장치를 선택한 후 Begin copying 버튼을 클릭합니다.

 

6. 데이터 삭제에 대한 경고가 나타나면 Erase USB Device 버튼을 클릭합니다.

(당연히 데이터가 삭제되기 때문에 중요한 데이터가 있다면 Cancel을 눌러야겠습니다..)

 

7. 데이터 삭제에 대한 경고가 한번 더 나타나면 예(Y) 버튼을 클릭합니다.

(친절한 MS...)

 

8. Bootable USB 장치 생성이 완료되면 x 버튼을 클릭하여 프로그램 종료합니다.

 

9. USB 장치에 위에서 생성한 vhd 파일을 복사합니다.

 



3. Diskpart로 통해 디스크 포맷한 후 vhd 파일 마운트하여 부트 설정하기

 

1. 위에서 만든 USB를 통해 물리 서버를 부팅한 뒤 Windows Server 설치 화면에서 Next 버튼을 클릭합니다.

 

2. 하단의 Repair your computer 버튼을 클릭합니다.

 

3. 옵션 선택 창에서 Troubleshoot 버튼을 클릭합니다.

 

4. 고급 옵션 창에서 Command Prompt 버튼을 클릭합니다.

 

5. Command 창이 실행되면 Diskpart Util을 통해 디스크 파티션을 생성합니다.

 

예)

diskpart
list disk
select disk 0
cleancreate partition primary size = 127000

 

6. 디스크 포맷, 활성화 및 디스크 드라이브명을 지정합니다. (디스크 활성화를 빼먹어서 생고생을....)

 

예)

list partition
list Volume
filesystems
format fs=ntfs label="NanoServer" quick 
Select Partition 0
active
list Volume
assign letter=c
exit

 

7. USB에 존재하는 vhd 파일을 복사합니다.

 

예) copy D:\physicalnanoServer.vhd c:\

 

8. 복사한 vhd 파일을 마운트 합니다.

diskpart
select vdisk file=c:\physicalnanoServer.vhd
attach vdisk
list volume
exit

 

9. bcdboot 유틸리티로 시스템 파티션을 vhd 내의 Windows 폴더로 지정한 후 재부팅 합니다.

 

 

  

정상적으로 작업을 완료하였다면 다음과 같이 나노 서버에 로그인할 수 있는 비상 콘솔 창이 나타납니다.

 

로그인 시 나노 서버 vhd 파일 생성 시 지정했던 것과 같이 컴퓨터명과 OS Version이 지정된 것을 확인할 수 있습니다.

  







이상으로 물리서버에서 실행되는 나노 서버 만들기에 대한 포스팅을 마치겠습니다.

감사합니다.

 

 

 

 

참고 사이트: https://technet.microsoft.com/en-us/library/mt126167.aspx

http://en.community.dell.com/techcenter/b/techcenter/archive/2016/05/20/how-to-deploy-nano-server-tp5-using-a-usb-key-with-the-poweredge-r730xd

 

안녕하세요.

 

오늘 포스팅은 Server 2016에서 새롭게 등작한 나노 서버에 대한 내용입니다.

 

나노 서버는 Windows Server 2016에서 새롭게 추가된 설치 옵션으로, 나노 서버는 프라이빗(사설) 클라우드 및 데이터센터에 최적화된 원격 관리 서버 운영체제입니다.

기존에 존재하던 코어 모드와 유사하지만 로컬 로그온 기능이 없으며, 오직 64bit의 어플리케이션, 도구(tools), 그리고 에이전트(agents)들만을 지원합니다.

 

나노 서버는 적은 디스크 공간을 차지하고 설치가 빠르고 기존 Windows Server 보다 적은 업데이트와 재부팅을 필요로하며, 재부팅이 필요한 경우에도 매우 빠르게 재부팅이 가능합니다.

(나노 서버는 설치 시 표준(Standard) 또는 데이터센터(Datacenter)을 선택할 수 있습니다)

 

 나노 서버는 다음과 같은 용도로 사용 시 매우 이상적입니다.

 

- Hyper-V 가상 머신의 호스트로 클러스트 또는 클러스터를 구성하지 않는 경우 모두

- 스케일 아웃 파일서버 스토로지 호스트

- DNS 서버

- Web Server(Internet Informations Service)

- 컨테이너 또는 가상 머신 게스트 운영 체제에서 클라우드 애플리케이션 패턴과 실행을 사용하여 개발 된 응용 프로그램에 대한 호스트

 

그럼 먼저 가상머신에서 실행되는 나노 서버를 만드는 방법입니다.

 

[가상머신에서 실행되는 나노서버]

가상머신에서 실행하는 나노 서버 Vhd(또는 vhdx)는 Powershell을 통해 만들 수 있습니다.

1. Windows Server 2016 ISO 이미지에서 NanoServer 내의 NanoServerImageGenerator 폴더를 하드디스크로 복사합니다.

[ISO 이미지 폴더]

 

[하드디스크]

 

2. 파워쉘을 통해 나노 서버 모듈을 서버로 불러옵니다.

명령어: Import-Module .\NanoServerImageGenerator.psm1

 

3. 나노 서버 모듈을 정상적으로 가져왔는지 확인합니다.

명령어: Get-Command -Name *Nano*


또는 다음과 같은 명령어로도 확인할 수 있습니다.

Get-Command | Where-Object {$_.Source -eq "NanoServerImageGenerator"}

 

4. 파워쉘을 통해 가상머신에서 실행되는 나노 서버를 설치합니다.

(나노 서버는 윈도우 서버 설치와 같이 설치 창에서 선택할 수 없으며, 반드시 파워쉘을 통해서만 설치할 수 있습니다)

명령어: New-NanoServerImage -Edition Standard -DeploymentType Guest -MediaPath <path to root of media> -BasePath .\Base -TargetPath .\NanoServerVM\NanoServerVM.vhd -ComputerName <computer name>

 

매개 변수의 의미는 다음과 같습니다.

-Edition: Windows Server Edtion (Standar 또는 DataCenter)

-DeploymentType: 물리서버에 설치할 것인지 가상머신에 설치할 것인지 선택 (Host:물리서버, Guest: 가상머신)

-MediaPath: ISO 이미지 드라이버 경로

-BasePath: 나노서버 생성 시 WIM 또는 패지키 파일이 설치될 경로를 선택하는 것으로 선택사항

-TargetPath: 나노서버가 생성될 폴더 및 파일명 그리고 확장자(vhd 또는 vhdx, vhd:1세대 가상머신, vhdx: 2세대 가상머신)

-ComputerName: Hostname

 

예를 들어 가상머신에서 실행되는 나노 서버를 Standard 버전으로 설치하고, ISO 이미지는 F 드라이브에 삽입되어 있고, D 드라이브 VM 폴더에 Nano01이라는 2세대 가상머신(vhdx)을 Nano01이라는 호스트 이름으로 생성하고 싶은 경우 다음과 같이 입력하여 나노 서버 이미지를 생성합니다.

명령어: New-NanoServerImage -DeploymentType Guest -Edition Standard -MediaPath F:\ -BasePath .\Base -TargetPath "D:\VM\Nano01.vhdx" -ComputerName "Nano01"

 

명령어를 실행하면 나노 서버 관리자 계정(Administrator) Password를 묻는 창이 나타나고 패스워드를 입력하면 나노 서버 이미지 생성 작업이 시작됩니다.

 

나노 서버 생성이 완료된 화면입니다.

 

5. 나노 서버 생성이 완료되면 지정된 경로에 보면 명령어에서 설정한 것과 같이 vhdx 파일이 생성된 것을 확인할 수 있습니다.

 

6. Hyper-V 관리자를 통해 가상머신을 생성하거나 파워쉘을 통해 가상머신을 생성합니다.

 

참고로 가상머신 이름은 Nano01, 메모리는 2GB, 가상스위치는 "New Virtual Switch", 2세대 가상머신으로, 가상하드디스크는 D:\VM\Nano1.vhdx 파일을, 가상머신 공간은 D:\VM\Nano01\ 인경우 다음과 같은 명령어를 통해 가상머신을 생성할 수 있습니다.

 

명령어: New-VM -Name Nano01 -MemoryStartupBytes 2GB -SwitchName "New Virtual Switch" -Generation 2 -VHDPath "D:\VM\Nano01.vhdx" -Path "D:\VM\Nano01\"

 

가상머신 생성이 완료되면 다음과 같이 Powershell을 통해 가상 머신을 시작합니다. (물론 Hyper-V 관리자를 통해 시작하는게 더 편하지만요 ^^;)

 

7. 가상머신이 실행된 후 관리콘솔을 통해 나노 서버에 접속해보면 비상관리콘솔을 통해 로그인할 수 있습니다. 

 

8. 로그인 후에는 네트워크 정보(IP, Subnet, G/W)와 방화벽, WinRM 설정 등을 변경할 수 있으며, 변경을 위해서는 선택 후 엔터키를 입력하면 됩니다.

 

9. 네트워크 정보를 변경하려는 경우 네트워킹을 선택한 후 네트워크 아답터를 선택합니다.

 

10. 네트워크 아답터 설정 값이 나타나면 F4키를 눌러 설정 값을 변경할 수 있습니다.

 

11. IP 구성 창에서 IP Address, Subnet Mask, Default Gateway 정보를 입력한 후 엔터키를 입력하여 저장합니다.

 

12. 다음과 같이 네트워크 정보가 변경된 것을 확인할 수 있습니다.

 

https://technet.microsoft.com/en-us/library/mt126167.aspx

 

이상으로 나노 서버 및 가상머신에서 실행되는 나노 서버 만들기에 대한 포스팅을 마치겠습니다.


감사합니다.

도메인 관리자 패스워드를 잊어버려서..

몇일동안 서버를 켜지않고 있다가 어제서야 복구했습니다.

 

 

자주 사용하는 암호를 아무리 입력해봐도 나오는 메시지는 동일합니다.

'암호가 올바르지 않습니다....'

결국 암호를 복구하기로 결정.... 

 

먼저, Windows Server 2012 R2 DVD를 삽입하고 DVD로 부팅합니다.

(당연히 Bios 상에서 DVD 부팅이 체크되어 있어야겠죠..)

 

DVD로 부팅한 후에는 하단의 '컴퓨터 복구(R)' 버튼을 클릭합니다.

 

 옵션 선택 창이 나타나면 '문제 해결' 버튼을 클릭합니다.

 

고급 옵션 창에서 ;명령 프롬포트' 버튼을 클릭합니다.

 

 

명령 프롬포트 창이 나타나면 하기와 같이 Utilman.exe 파일을 백업한 후 CMD 파일을 Utilman.exe 파일로 대체합니다.

예)

1. Windows\system32 폴더로 이동

2. Copy Utilman.exe utilman.exe.bak -> 차후 복원을 위해 해당 파일 백업

3. Move cmd.exe utilman.exe (덮어쓸 것이냐는 물음에 Y 선택)

4. 재부팅

 

위의 작업을 완료한 후 정상 부팅하여 Utilman.exe을 실행하면 커맨드창이 실행되는 것을 볼 수 있습니다.

cmd 창에서 하기와 같은 명령어로 administrator의 패스워드를 변경합니다.

net user administrator "새로운 패스워드"

 

이후 정상 로그인하여 사용할 수 있습니다. ^-^

SQL Server Management Studio 를 통해 Active Directory 개체를 Query 하기 위해서는 Management Studio에 ADSI를 연결해야 합니다.

1. SQL Server Management Studio를 실행한 뒤 서버 개체의 연결된 서버를 선택하고 마우스 우 클릭하여 ‘새 연결된 서버’ 를 선택합니다.

 

2. 새 연결된 서버창이 나타나면 일반탭에 다음과 같이 입력합니다.

Ø  연결된 서버(N): ADSI

Ø  서버 유형: 기타 데이터 원본

Ø  공급자: OLE DB Provider for Microsoft Directory Services

Ø  제품 이름: Active Directory Services 2.5

Ø  데이터 원본: adsdatasource

Ø  공급자 문자열: ADSDSOObjec

 

 

3.  보안탭으로 이동하여 다음과 같이 입력합니다.

Ø  위 목록에서 정의되지 않은 로그인에 대한 연결 설정: 다음 보안 컨텍스트를 사용하여 연결

Ø  원격 로그인: netbios\관리자 계정

Ø  암호: 관리자 계정의 패스워드

 

4. 설정이 완료되면 ADSI를 선택하고 마우스 우 클릭하여 연결 테스트버튼을 클릭하여 연결이 정상적인지 확인한다.

 

연결 테스트가 성공하면 SQL Management Studio를 통해 Active Directory에 대한 Query가 가능하다.

 

아래 예는 컴퓨터의 마지막 로그온 시간을 가져오는 쿼리이다.

 

<데이터 입력>

SELECT
dnshostname, lastlogon, pwdlastset, department, operatingsystem, operatingsystemservicePack, whenchanged, whencreated
into ADCOMPUTER
FROM
openquery(ADSI,
'SELECT dnshostname, lastlogon, pwdlastset, department, operatingsystem, operatingsystemservicePack, whenchanged, whencreated
FROM ''LDAP://TI-DC01/DC=DONKEY,DC=LOCAL''
WHERE objectClass=''computer'' and lastlogon <>''0''
')

 

<데이터 검색 및 시간 Convert>

Select

dnshostname, cast((cast(lastlogon as bigint) / 864000000000.0 - 109207) as datetime) as lastlogon, cast((cast(pwdlastset as bigint) / 864000000000.0 - 109207) as datetime)as pwdlastset, department, operatingsystem, operatingsystemservicePack, whenchanged, whencreated

FROM ADCOMPUTER

 

시스템 로그 등을 확인해야 하는 경우가 있는데 사용자가 시스템 복원을 사용해버렸다면?

방법이 없지는 않겠지만 그것보다 시스템 복원을 사용할 수 없도록 설정해두는 것이 맞겠죠?

 

그룹 정책을 통해 시스템 복원을 사용할 수 없도록 설정하는 방법입니다.

 

먼저, 그룹 정책 관리 편집기를 실행한 후 '컴퓨터 구성 - 정책 - 관리 템플릿 - 시스템 - 시스템 복원'으로 이동한 후 '시스템 복원 사용 안 함' 정책을 선택합니다. 

 

시스템 복원 사용 안 함 창에서 '사용(E)'을 선택하고 확인 버튼을 클릭합니다.

 

정책이 적용되면 시스템 복원 기능이 비활성화되고 변경할 수 없는 것을 확인할 수 있습니다.

 

[변경 전] 

 

[변경 후] 

자주 사용하는 GPO에 대해 적다보니 점점 재미있어집니다.

GPO는 바로바로 반영되서 확인이 가능하니...;;

 

이번에는 원격데스크탑 설정을 변경해보겠습니다.

데스크탑을 설치하고 매번 원격데스크탑 설정을 변경하는 것은 귀찮은 일이죠..^^;;

 

먼저, 그룹 정책 관리 편집기에서 '컴퓨터 구성 - 정책 - 관리 템플릿 - Windows 구성 요소 - 터미널 서비스 - 원격 데스크톱 세션 호스트 - 연결'를 찾아갑니다.

 

Allow users to connect remotely by using Remot Desktop Service(원격 데스크톱 서비스를 사용한 원격 연결 허용)을 선택한 후 '사용'으로 변경합니다.

 

다음으로 연결 개수 제한을 '사용'으로 변경한 후 TS 최대 허용 연결 수를 변경해줍니디다.

(단, 클라이언트는 어차피 세션이 한개...^^ㅋ)

 

다음으로, 원격 데스크톱 서비스 사용자를 하나의 원격 데스크톱 서비스 세션으로 제한 정책을 '사용 안 함'으로 변경합니다.

(위와 마찬가지로 클라이언트 PC는 의미가 없습니다) 

 

원격데스크탑 연결 설정과 관련한 보안 설정을 변경하기 위해 '컴퓨터 구성 - 정책 - 관리 템플릿 - Windows 구성 요소 - 터미널 서비스 - 원격 데스크톱 세션 호스트 - 보안'으로 이동합니다.

 

네트워크 수준 인증을 사용하여 원격 연결에 대한 사용자 인증 필요 정책을 '사용 안 함'으로 변경합니다.

 

위에서 설정한 정책들을 적용하면 원격데스크톱 설정이 변경되며, 사용자가 변경할 수 없는 것을 확인할 수 있습니다.

 

[변경 전]

 

[변경 후] 

 

위와 같이 설정은 변경되었는데도 원격 연결이 되지 않아 확인해보니 방화벽의 문제더군요.

그래서 그룹 정책을 통해 원격연결에 대한 정책을 허용하였습니다.

 

그룹 정책 관리 편집기를 실행한 후 '컴퓨터 구성 - 정책 - 관리 템플릿 - 네트워크 - Windows 방화벽 - 도메인 프로필'로 이동하여 'Windows 방화벽: 인바운드 원격 데스크톱 예외 허용'을 선택합니다.

 

 Windows 방화벽: 인바운드 원격 데스크톱 예외 허용 창에서 사용으로 변경한 후 IP 주소를 입력한 후 확인을 입력합니다.

(모두 허용하려면 *을 서브넷으로 허용하려려면 'X.X.X.X/24'와 같이 입력합니다)

 

 

 

 

 

화면보호기를 사용하도록 하는 정책입니다.

 

화면보호기를 사용하지 않을 경우에는 컴퓨터가 켜져 있는채로 자리를 이동한 경우

다른 사용자에 의하여 정보유출이 있을 수도 있습니다.

 

따라서, 일정시간이 지나면 컴퓨터가 잠기도록 설정하는 것이 좋습니다.

 

먼저, 그룹 정책 관리 편집기를 실행한 후 '사용자 구성 - 정책 - 관리 템플릿 - 제어판 - 개인 설정'으로 이동합니다.

 

화면 보호기 사용을 '사용'으로 변경합니다.

 

'화면 보호기 시간 제한'을 '사용'으로 변경한 후 시간을 지정합니다.

 

화면 보호기 암호로 보호를 '사용'으로 변경합니다. 

 

정책이 적용되면 화면 보호기 설정이 변경된 것을 볼 수 있습니다.

 

[변경 전]

 

[변경 후]

클라이언트 관리를 위하여 GPO를 만들어 관리하는데,

사용자가 임의로 도메인에서 탈퇴를 해버리거나, 컴퓨터명을 임의로 바꾸어 버리면 문제가 되겠져.

 

이럴 경우 도메인 탈퇴 및 컴퓨터 이름을 변경할 수 없도록 제한하는 정책입니다.

(주 용도는 도메인 탈퇴 제한이지만...)

 

먼저, 그룹 정책 편지기를 실행한 후 '컴퓨터 구성 - 정책 - Windows 설정 - 보안 설정 - 파일 시스템'으로 이동한 후 '파일 시스템'을 우 클릭하여 '파일 추가' 버튼을 클릭합니다. 

 

 

'파일 또는 폴더를 추가합니다.' 창에서 '%systemroot%\system32\netid.dll'을 입력하고 확인 버튼을 클릭합니다.

 

데이터 베이스 보안 대상 창이 나타나면 권한을 제거한 사용자를 제거한 후 권한이 필요한 사용자를 추가합니다.

(예로 Administrators 제거하고 Domain Admins을 추가하면, 로컬 관리자는 도메인 탈퇴 등의 작업을 할 수 없지만, 도메인 관리자는 도메인 탈퇴 등의 작업이 가능합니다)

 

개체 추가 창이 나타나면 '상속 가능한 사용 권한을 모든 하위 폴더 및 파일에 전파(P)'를 선택하고 확인 버튼을 클릭합니다.

 

정책이 적용되면 권한이 없는 사용자는 Computer Name 탭이 나타나지 않습니다.

 

[권한 없는 사용자] 

 

[권한있는 사용자]

 

 

 

프로젝트 때 자주 사용하는 GPO을 정리하려다 보니 계속 GPO에 대해서만 정리하고 있습니다.

 

이번에는 GPO을 통해 데스크탑 배경화면을 변경하는 방법입니다.

배경화면으로 사용할 이미지는 미리 로컬에 복사하는 정책을 걸어두거나, 아니면 공유 경로를 사용할 수 있습니다.

 

그룹 정책 관리 편집기에서 '사용자 구성 - 정책 - 관리 템플릿 - 바탕화면'으로 이동한 후 '바탕 화면 배경 무늬'를 선택합니다. 

 

바탕 화면 배경 무늬를 '사용'으로 변경한 후 배경 무늬 이름에 사용할 배경 화면이 존재하는 경로 및 파일명을 지정합니다.

 

[참고 사이트 : http://www.grouppolicy.biz/2011/03/best-practice-using-group-policy-to-configure-desktop-wallpaper-background/]

Windows 7 로그온 화면을 변경하는 것을 Windows Server 2012 R2에 적용해보니 역시 적용되지 않았습니다.

다른 방법을 찾아보니 동일하게 그룹 정책을 통해 로그온 화면을 바꿀 수 있더군요.

특이하게 네트워크 공유에 존재하는 파일을 로그온 화면으로 쓸 수 있지만, Windows 7과 같이 로그온 화면으로 사용할 파일을 먼저 로컬에 복사하게 한 후 사용하는 것이 좋을 듯합니다. ^^;

 

Windows Server 2012 및 Windows 8의 로그온 화면을 변경하는 방법은 그룹 정책 관리 편집기를 실행한 후 '컴퓨터 구성 - 정책 - 관리 템플릿 - 제어판 - 개인 설정' 으로 이동한 후 '특정 기본 잠금 화면 이미지 적용'을 선택합니다.  

 

사용으로 변경한 후 '잠금 화면 이미지 경로'에 로그온 화면으로 사용할 이미지 파일이 존재하는 경로 및 파일을 입력합니다.

 

그룹 정책이 적용된 화면을 보면 아래와 같이 로그온 화면이 바뀐 것을 볼 수 있습니다. 

 

+ Recent posts