The Desktop Files네트워크 부팅 Windows

Wes Miller

목차

PXE의 작동 방식
RIS에 대해
WDS의 시작
기타 기능
맺음말

앞으로 몇 개월에 걸쳐 설명할 Windows 배포 서비스(WDS)는 Windows Server 2003에서 사용할 수 있으며 Windows Server 2008의 경우 기본적으로 제공됩니다.WDS는 배포 인프라에서 매우 중요한 구성 요소가 될 수 있기 때문에 앞으로 논의할 내용에 대한 기본적인 바탕이 될 요소들에 대해 먼저 설명하려고 합니다.먼저,

이 첫 번째 칼럼에서는 PXE(Preboot Execution Environment, 픽시라고 읽음)의 아키텍처와 원격 설치 서비스(RIS)의 변천사, Microsoft에서 사용하는 다른 PXE 관련 기술 등에 대해 알아 보겠습니다.

RIS는 2001년 필자가 Windows 핵심 OS 그룹으로 전직했을 때 전수 받은 기술 중 하나였는데, 그 복잡도와 BIOS 구현 및 하드웨어 종속성으로 인해 다소 사용하기 부담스럽기도 했지만Windows® PE와 함께, 프로그램 관리자로서 가장 애용했던 기술 중 하나입니다.

Windows 3.0을 처음 설치할 때 3.5" 디스켓을 사용해서 설치했던 일이 기억납니다.시간이 지나면서 일부 WIndows 98 버전에 포함된 부팅 가능 CD가 나온 덕택에 설치하기가 더 쉬워졌지만,문제는 항상 로컬 하드 디스크와 특정 유형의 로컬 미디어가 있어야만 설치가 가능하다는 것이었습니다.

이후 수년간 Windows 네트워크 부팅(하드 디스크 없이 네트워크를 통해 부팅) 기능은 많은 고객이 요청하는 사항이 되었습니다.일부 초기 Windows 버전에서는 이러한 기능이 지원되었지만 Windows NT®에는 전혀 적용되지 않았습니다.근래의 Windows Server® 2003과 Windows Server 2008 버전에서는 iSCSI 초기자를 통한 부팅이 가능하지만, 부팅 드라이브가 실제 로컬이 아니고 원격 드라이브에 계속 의존해야 한다는 점에서 프로세스가 상당한 차이가 있습니다.

클라이언트 사전 준비

Windows 2000을 시작으로, Microsoft는 네트워크 기반 설치를 가능하게 하는 기술을 개발하기 시작했으며 이것은 이름 변경을 거듭하여 최종적으로 RIS라고 불립니다.RIS의 목표는 비교적 단순한 것으로서, PXE를 사용하는 대상 컴퓨터의 로컬 디스크에 운영 체제 이미지를 로드하는 것이었습니다.

PXE의 작동 방식

그림 1은 PXE의 부팅 시퀀스를 보여 줍니다.PXE는 Intel 및 기타 공급업체가 WfM(Wired for Management) 방식의 일부로 개발한, 비교적 간단한 프로토콜입니다.PXE는 BootP에서 파생된 DHCP(Dynamic Host Configuration Protocol)에서 파생되었으며 대개 NIC(네트워크 인터페이스 카드)에 구현되어 있습니다.간단히 표현하면 다음과 같습니다.

fig01.gif

그림 1 PXE 부팅 시퀀스(크게 보려면 이미지 클릭)

1단계 시스템 BIOS가 부팅되어 부팅 순서를 확인합니다.

2단계 PXE의 부팅 순서가 하드 디스크나 플래시 드라이브, 또는 CD-ROM 앞에 오는 경우 또는 이러한 장치가 없을 경우 NIC의 UNDI(범용 네트워크 드라이버 인터페이스)가 로드됩니다.NIC는 매우 작은 규모의 네트워크 장치 드라이버로서 TFTP(Trivial File Transfer Protocol) 구현이 특징입니다.일부 BIOS 구현에서는 PXE 부팅을 위해 사용자가 F12 키를 눌러야 하지만이는 표준이 아니며 이 기능을 비활성화할 수 있습니다.

3단계 시스템에서 간단한 UDP(User Datagram Protocol) 브로드캐스트를 시작하여 DHCP 서버를 찾습니다.이 단계는 PXE 부팅 시퀀스의 실질적인 첫 단계로서 검색(Discover) 단계라고도 합니다.여기서 UDP 프로토콜을 사용한다는 것은 PXE 통신에서 라우터와 스위치가 이를 모두 통과시키도록 조정이 필요함을 의미합니다(아직 조정하지 않은 경우).

4단계 DHCP 서버에서 브로드캐스트를 수신하면 IP 주소를 가지고 응답합니다.이 단계를 제공(Offer) 단계라고 합니다.여기서 중요한 점은 PXE가 상태 비저장 방식이이며 이 시점에서 클라이언트가 제공해야 하는 시스템 고유 상태 정보가 MAC 주소와 사용 가능한 경우 시스템 관리 BIOS GUID(SMBIOS GUID) 등과 같이 그 양이 지극히 제한적이라는 점입니다.

5단계 IP 주소가 포함된 패킷을 수신한 클라이언트가 추가 정보(PXE 서버 주소)를 요청합니다.처음 응답한 DHCP 서버의 정보를 포함한 또 다른 브로드캐스트가 시작되고클라이언트에서 DHCP 서버에 "네트워크 부팅 프로그램(NBP)의 위치 정보가 추가로 필요함"을 알립니다.이 단계를 요청(Request) 단계라고 합니다.

6단계 PXE 서버가 PXE 서버의 주소와 NBP(32KB 미만의 아주 작은 부팅 실행 파일)의 위치를 가지고 응답합니다.이 단계를 승인(Acknowledge) 단계라고 합니다.이 단계까지 오면서 이미 떠올렸을지 모르겠지만 각 단계의 머리글자어를 딴 DORA(Discover, Offer, Request, Acknowledge)를 생각하면 이러한 단계를 쉽게 기억할 수 있습니다.

Microsoft DHCP와 WDS를 설치한 경우(또는 일부 다른 공급업체의 기술을 사용할 경우)에는 실제로 요청 단계가 발생하지 않고 DHCP 서버가 처음에 제공한 패킷에 이미 PXE 서버와 NBP 프로그램의 위치가 포함되어 있습니다(따라서, 이 두 단계와 그에 따른 시간이 생략됨).

7단계 앞서 언급한 소규모 TFTP 프로토콜 스택이 있는 클라이언트가 PXE 서버에서 지정한 네트워크 위치에서 NBP를 다운로드합니다.TFTP는 상태 비저장 방식의 매우 작은 규모의 프로토콜로서 오래 전에 소개되었습니다.TFTP는 보안이나 성능 측면에서 선택된 것이 아니기 때문에 많은 라우터 관리자들이 기본적으로 이 기능을 비활성화하고 있지만PXE가 작동하게 하려면 활성화해야 합니다.

RIS를 비롯한 많은 PXE 구현에는 이 시점에서 사용자가 F12 키를 눌러 계속할 수 있도록 하는 기능이 포함되어 있지만 일반적으로 PXE 서버 관리자가 이를 비활성화할 수 있습니다.다음 달에 WDS에 대해 자세히 설명할 때 Microsoft에서 Windows Server 2008의 WDS에 포함한 TFTPD(TFTP Daemon)를 통해 향상된 몇 가지 성능에 대해 알아보기로 하겠습니다.

8단계 NBP가 초기화됩니다.RIS의 경우 배포 프로세스를 시작하는 Windows 부팅 로더가 시작됩니다.PXE(실제 부팅 수준 이상의 프로토콜)는 이제 이 프로세스의 구성 요소가 아닙니다.

RIS, WDS 또는 다른 모든 인프라를 막론하고 PXE는 느린 링크(대량의 데이터를 전송하는 경우가 있음)나 위성과 같은 고지연 링크(통신이 잘 수행되지 않으며 연결 유지조차 어려움)을 통해 제대로 작동하지 않는다는 점을 기억해야 합니다.

PXE 부팅 프로세스에서, 클라이언트가 요청을 보낼 때 다른 서버가 상위인지 여부를 묻는 사항이 없다는 것을 알 수 있는데,이는 어느 방향으로든 파악할 PXE 서버 상태 정보가 그리 많지 않기 때문입니다.이로 인해 일반적으로 경합 상태가 발생하게 되는데, 이 경우 클라이언트 요청에 맨 처음 응답하는 서버 쪽이 먼저 처리됩니다.다음과 같은 몇 가지 방법으로 이러한 문제의 발생을 줄일 수 있습니다.

  • PXE 서버나 다른 서버의 응답 속도를 조정합니다.네트워크 대기 시간과 서버 성능은 서버의 응답 속도에 영향을 줍니다.실제로, Microsoft에서는 Microsoft IT 부서에서 사용하는 서버가 매우 뛰어나서 PXE 서버가 작업자의 사무실에 있는 경우라도 이 IT 서버가 경합에서 이기곤 했습니다.이 경우 작업자는 사전 준비 클라이언트를 설정하여 로컬 PXE 서버에 시간 초과가 발생하지 않도록 하면 됩니다.
  • 클라이언트에서 사전 준비를 수행합니다.작업자의 PXE 서버가 다른 기업용 IT 서버보다 먼저 응답하도록 조정하려면 이 작업은 매우 중요합니다.클라이언트를 사전에 준비함으로써 Active Directory®에서 상위 서버임을 WDS나 RIS에 알리도록 할 수 있습니다.Active Directory에서 시스템의 고유 식별자로 SMBIOS GUID를 사용하는 것이 훨씬 좋지만 SMBIOS GUID가 시스템에 구현되지 않은 경우에는(대개 구형 하드웨어) MAC 주소에 기반한 GUID를 사용할 수 있으며 그래야 합니다.자세한 내용은 보충 항목 "클라이언트 사전 준비"를 참조하십시오.
  • PXE 통신이 스위치나 라우터를 방해하지 않도록 PXE 서버를 각 측에 배치합니다.이 방식은 서버가 각기 고유한 이미지를 유지해야 하므로 구현과 유지 모두에 비용이 많이 든다는 단점이 있습니다.

Microsoft DHCP 서버와 같은 RIS(현재 WDS) 서버는 연결된 Active Directory 구현에 대해 인증받아야 합니다.이는 Rogue PXE 서버가 Active Directory에 이러한 서버를 모두 인식시켜 발생할 수 있는 문제점(예: PXE 브로드캐스트 스톰)을 줄이기 위한 것입니다.

하지만 Active Directory에서 인식된 서버에 대해서만 이러한 보호가 적용되며고유 도메인이나 Microsoft 이외의 PXE 서버를 설치한 경우에는 해당하지 않습니다.

Microsoft에서 지나치게 열정적인 한 직원이 "완전 자동" 배포되는 RIS 이외의 PXE 서버를 구성한 적이 있습니다.이 구현은 하드 디스크를 완전히 지우고 새 이미지를 로드하는 방식으로 작동했습니다.이 배포가 네트워크와 단절된 연구실 환경에서 수행되었다면 좋았겠지만 불행히도 그렇지 못했고 부팅 순서에서 하드 디스크보다 PXE가 우선 설정되어 있던 한 Microsoft 임원의 디스크를 삭제하는 결과를 초래하게 되었습니다.

사실 Microsoft IT 부서에서는 PXE 부팅을 사용하려면 항상 F12 키를 눌러야 했기 때문에 이전까지는 문제가 발생하지 않았지만, 이 PXE 서버는 그러한 일체의 지연 없이(F12 메시지나 어떤 알림 메시지도 없이) 작동하고 말았습니다.그 임원은 사실상 컴퓨터를 잃어버린 것과 같았으며 따라서 어떠한 데이터도 로밍 사용자 프로필로 보호되지 못했습니다.

이 이야기를 염두에 두어 "완전 자동" 방식 또는 적어도 F12 키를 눌러야 하는 방식을 사용할 때는 PXE 서버 격리의 필요성을 떠올리십시오.

RIS에 대해

필자는 Windows 2000이 채용된 후에 RIS를 인계 받았습니다.RIS에 관한 한 Windows 2000은 많은 우여곡절을 겪어 테스팅, 성능 및 기타 제약 조건으로 인해 Windows 2000 Professional 배포에만 사용되는 Windows Server 2000용 RIS가 나타나게 되었습니다.안타깝게도 서버 제품은 RIS를 통해 배포할 수 없었습니다.x86 시스템에서만 Windows 2000을 사용할 수 있어서 아키텍처 하나에 제품 하나가 관련되는 특징 덕분에 RIS에 대한 좋은 시험대가 되었습니다.RIS는 Active Directory와의 완전한 통합이 필요했고, 실제로 이를 포함했으며, Microsoft DHCP 서버와 훌륭하게 통합되었고 고유 TFTPD를 포함했습니다.

RIS는 NBP를 사용하여 TFTP 다운로드를 계속하며 설치 프로세스를 시작할 수 있도록 Windows 커널을 다운시킵니다.특정 시점에 Windows가 TFTPD에서 서버 메시지 블록(SMB) 기반의 서버 연결로 전환되고 나면 Windows 2000 또는 Windows XP의 기존 플로피 디스크 시작 설치와 리터럴 코드 경로가 실제로 공유됩니다.기본 모드 Windows가 초기화되고 나면 Windows 설치에서 RIS OS 선택기(OSC) 마법사를 시작합니다.

OSC 화면은 일부 구성이 가능한 HTML 2.0과 비슷한 페이지로서제약이 심하고 이미지 등을 포함할 수 없습니다. 실제로, ANSI 외의 문자를 포함할 수 없기 때문에 Windows의 특정 로캘 배포를 복잡하게 만드는 요소이기도 합니다.

RIS는 최종적으로 RIS 서버에서 txtsetup.sif 파일을 생성합니다.OSC 마법사가 완료되면 클라이언트가 "소프트 재부팅"되지만 소프트 재부팅 뒤에도 RIS 서버와 txtsetup.sif 파일의 위치가 그대로 보존되어 다시 로드됩니다.이 txtsetup.sif 파일은 unattend.txt 파일과 기본적으로 동일하며, RIS의 설치 프로세스 완료를 지원하는 몇 가지 필드가 추가로 포함되어 있습니다.

그 밖에도 RIS는 기존 무인 설치(RISetup)와 매우 흡사한 설치를 수행할 수도 있고 Sysprep(RIPrep)과 유사한 복제 기반 인프라를 갖고 있으며 실제로 그와 코드를 공유했습니다.단, RIPrep의 경우 RIS 서버에 자신의 이미지를 업로드할 수도 있었습니다.

물론 RIS에는 몇 가지 명백히 드러난 근본적인 한계가 있었는데,그 첫 번째가 서버 배포를 지원하지 않는다는 점입니다.Code Red, Sasser와 같은 익스플로잇은 다수의 주요 고객이 9/11 직후 복구 과정에서 겪은 IT 복잡성과 함께 Microsoft가 기존 Windows 2000 RIS 서버에서 Windows Server 배포를 가능하게 하는 솔루션을 서둘러 개발하게 된 계기가 되었습니다.이것은 Windows Server 2003용으로 개발하던 것이었지만 그 이전까지는 정식으로 출시되지 않았습니다.

PXE 관련 기술 상세 정보

둘째로, RIS는 OSC 마법사를 완전히 자동화하는 기능이 없었으며 이 기능은 나중에 Windows Server 2003에서 <META ACTION="AUTOENTER"> 요소를 통해 사용할 수 있게 되었습니다.끝으로, OSC는 ANSI 외의 문자로는 제대로 작동하지 않았으며 이것은 미국 외 몇몇 고객들이 지적한 주요한 단점이었습니다.

예를 들면, 프랑스어로 된 키보드로 RIS 설치를 완료할 수 없었습니다.ANSI 외의 문자가 전 세계 PC의 BIOS 수준에서 안전하게 작동하도록 하는 작업은 매우 복잡했고 달성하기 어려운 과제였습니다.

Windows Server 2003에 이르러서야 공식적으로 Intel Itanium 아키텍처와 함께 Windows 2000 및 Windows Server 2003의 모든 서버 유형을 추가로 지원하게 되었습니다.Windows Server 2003은 x64 아키텍처에 대한 지원으로 한 걸음 더 나아갔습니다.

또한 RIS는 성능 향상을 위해 상당 부분 다시 작성된 TFTPD를 사용하게 되었습니다.Windows Server 2003은 최대 75대까지 클라이언트 동시 부팅을 지원하며, 여기서 이 상한선은 SMB 파이프가 클라이언트에 대한 네트워크 트래픽으로 가득 찰 때 도달하게 됩니다.

WDS의 시작

"Longhorn"(Windows Server 2008의 코드명)용 RIS 작업을 시작했을 때 한 걸음 뒤로 후퇴할 필요성이 명백해졌습니다.이전에 필자의 칼럼에서 언급했듯이 우리는 이미 Windows PE의 WIM(Windows 이미지) 기반 설치에 많은 투자를 했기 때문에WDS의 기반 핵심 원리는 Windows PE의 PXE 부팅 인스턴스로부터의 이미지 기반 배포 방식을 따르게 되었습니다.

우리는 Windows Server 2003이 Windows Vista®를 배포하는 일반적인 플랫폼이 될 것과 WDS 하위 수준용 "대역 외" 솔루션이 필요할 것이란 사실을 알고 있었습니다.그 결과 WDS를 Windows Server 2003 SP1에서 실행할 수 있게 되었고 Windows Server 2003 SP2에 기본 제공하게 되었습니다.

RIS 서버(레거시 모드), 혼합형 서버(혼합 모드) 또는 WDS 전용 서버(기본 모드)로서 작동할 수 있으므로 WDS를 사용하면 보증되는 공식 WDS식 배포로 마이그레이션할 수 있습니다.Windows Server 2003 SP2 시스템에 RIS를 설치하는 방법이 있는지에 대한 고객의 문의가 들어옵니다.네, 방법이 있습니다. WDS를 설치하고 레거시 모드로 실행하면 됩니다.그림 2는 지원되는 운영 체제를 보여 줍니다.

그림 2 배포 지원 플랫폼

운영 체제 RIS(Windows 2000) RIS(Windows Server 2003)** WDS(Windows Server 2003)**** WDS(Windows Server 2008)
Windows 2000 Pro X X X X
Windows 2000 Server * X X X
Windows XP Pro   X(x86 및 IA64)*** X X
Windows Server 2003   X(x86 및 IA64)*** X X
Windows Vista     X X
Windows Server 2008     X X
* support.microsoft.com/kb/308508support.microsoft.com/kb/313069에서 RIS를 통한 Windows 2000 Server 지원이 추가되었습니다.
** WDS 레거시 및 혼합 모드에서 레거시 설치에 이와 동일한 매트릭스를 지원합니다.
*** Windows Server 2003 SP1에서 x64 기반 시스템에 대한 지원이 추가되었습니다.IA64 시스템에서는 RISetup 기반 설치만 지원됩니다.
**** 기본 모드를 지원합니다.

Windows Server 2003 SP1과 SP2에서 WDS는 WDS로의 마이그레이션 프로세스 시작을 모색했습니다.앞서 언급했듯이, Windows Server 2008에서는 수정된 TFTPD와 EFI(Extensible Firmware Interface) 부팅 지원 그리고 멀티캐스트 기반 배포가 WDS 핵심 기능으로서 추가되었습니다.

기타 기능

ADS(Automated Deployment Services)는 신속한 서버 프로비전을 주된 목적으로 하여 Microsoft 내부의 또 다른 팀에서 구축했습니다.ADS는 공식 섹터 기반 이미징, 고유 부팅 에이전트(Windows PE보다 작으며 일부 기능만 작동), 고유 TFTPD, 고급 멀티캐스트와 같은 기능을 제공했습니다.ADS에 기본 제공된 기능은 완벽히 동일한 기능이라고는 할 수 없지만 SCCM(System Center Configuration Manager)에서 상당 부분 사용할 수 있게 되었습니다.

Windows XP Embedded에는 고유 TFTPD를 통해 RAMDisk로의 전체 PXE 부팅 기능이 있었지만 이 방식으로는 원격 배포가 불가능했습니다.이 기술은 PXE를 통해 하나의 디스크 이미지로부터 많은 시스템을 동시에 부팅할 수 있도록 개발되었습니다.

맺음말

간단하게 이러한 변천사를 겪었습니다.자세한 내용은 "PXE 관련 기술 상세 정보"를 참조하십시오.다음 달에는 WDS의 기초에 대해 설명한 뒤 멀티캐스트를 비롯한 WDS 고급 기능에 대한 칼럼으로 넘어가려고 합니다. 그리고 WDS를 사용하지 않고 WDS를 사용하는, 즉 기존 WDS/설치 환경을 뛰어 넘어 고유한 배포 기술을 사용하는 방법으로 연재를 마무리할 계획입니다.

Wes Miller는 텍사스주 오스틴에 위치한 CoreTrace(www.CoreTrace.com)에서 기술 제품 수석 관리자로 일하고 있습니다.이전에는 Winternals Software에서 그리고 Microsoft에서 프로그램 관리자로 일했습니다.문의 사항이 있으신 분은 technet@getwired.com으로 연락하시기 바랍니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC.All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다.