Computer >> 컴퓨터 >  >> 시스템 >> Mac

PXE(Preboot Execution Environment)란? 엔터프라이즈 시스템을 위한 네트워크 부팅 완벽 가이드

PXE(Preboot Execution Environment)란? 엔터프라이즈 시스템을 위한 네트워크 부팅 완벽 가이드

원문: Rahul Awati | 게시일: 2021년 11월 23일

PXE(Preboot Execution Environment, 프리부트 실행 환경)는 흔히 '픽시(pixie)'라고 발음하며, CD-ROM이나 하드 디스크 대신 네트워크 인터페이스 카드(NIC)를 통해 컴퓨터가 네트워크 상에서 부팅할 수 있도록 지원하는 클라이언트-서버 환경입니다.

PXE 네트워크 부팅은 IP(Internet Protocol), DHCP(Dynamic Host Configuration Protocol), UDP(User Datagram Protocol), TFTP(Trivial File Transfer Protocol) 등 여러 네트워크 프로토콜을 조합하여 구현됩니다.

PXE는 저장 장치가 없는 클라이언트 머신을 IT 관리자가 효율적으로 관리하는 데 핵심적인 역할을 합니다. PXE는 특정 벤더에 종속되지 않기 때문에 새로운 시스템을 네트워크에 손쉽게 추가할 수 있으며, 시스템 유지보수 과정도 크게 간소화됩니다.

PXE는 1998년 인텔과 마이크로소프트가 정의한 Wired for Management(WfM) 프레임워크의 일부인 개방형 산업 표준입니다. 이후 Active Management Technology(AMT)가 PXE를 상당 부분 대체했지만, PXE는 여전히 엔터프라이즈 네트워크 관리자에게 유용한 필수 도구로 자리 잡고 있습니다.

PXE 부팅의 작동 원리

컴퓨터가 네트워크를 통해 부팅하는 방법은 여러 가지가 있으며, PXE는 그중 하나입니다. PXE는 시스템의 NIC가 부팅 장치처럼 기능하도록 만들어 NIC와 함께 작동합니다. PXE는 컴퓨터에 내장 디스크 드라이브가 없던 시절의 기술에서 발전한 것입니다.

PXE 부팅 프로세스는 클라이언트 시스템의 PXE 지원 NIC가 DHCP 서버로 브로드캐스트 요청을 전송하는 것에서 시작됩니다. 이 요청은 'discover' 패킷 형태로 발송되며, DHCP 서버가 해당 패킷을 수신하면 부팅 파일이 위치한 TFTP 서버의 주소와 클라이언트의 IP 주소를 응답으로 반환합니다.

PXE 부팅 프로세스 단계

  1. NIC가 'discover' 패킷 형태로 DHCP 서버에 브로드캐스트 요청을 전송합니다.
  2. DHCP 서버가 해당 요청을 수신합니다.
  3. DHCP 서버는 TFTP 서버 주소, 부팅 이미지(pxelinux.0), 그리고 IP 주소, 서브넷 마스크, DNS 등의 표준 정보가 담긴 'offer' 패킷으로 응답합니다.
  4. 클라이언트 시스템이 서버로부터 이 정보를 수신합니다.
  5. 클라이언트는 서버의 제안을 분석한 뒤 IP 주소, 서브넷 마스크 등 다양한 네트워크 매개변수를 할당받습니다.
  6. 클라이언트가 부팅 이미지를 요청하기 위해 PXE 부팅 서버(TFTP 서버)에 접속합니다.
  7. PXE 부팅 서버가 TFTP를 통해 부팅 이미지를 전송합니다.
  8. 클라이언트가 부팅 이미지를 실행합니다.
  9. 부팅 이미지는 TFTP 서버의 pxelinux.cfg 디렉터리에서 부팅 구성 파일을 검색합니다.
  10. 클라이언트가 커널 및 루트 파일시스템 관련 파일을 다운로드하여 로드합니다.
  11. 마지막으로 클라이언트 시스템이 재부팅됩니다.

DHCP 서버에서는 필요한 정보를 범위(scope) 옵션 또는 서버 옵션 아래의 Option 66 또는 Option 67로 구성합니다. Option 66은 접속할 서버를 지정하고, Option 67은 요청할 파일의 이름을 지정합니다. 이 방식은 클라이언트 시스템용 부팅 파일의 로딩과 실행에 활용되며, 클라이언트와 서버가 동일한 네트워크 세그먼트에 있고 단일 장치 아키텍처만 사용되는 환경에서 가장 잘 작동합니다.

PXE(Preboot Execution Environment)란? 엔터프라이즈 시스템을 위한 네트워크 부팅 완벽 가이드
관리자는 Microsoft Server Manager의 DHCP 서버 옵션 메뉴에서 PXE 자동화를 구성할 수 있습니다.

PXE 부팅의 장점

PXE 네트워크 부팅은 라우터와 중앙 관리 장치를 통해 부팅이 수행되는 디스크리스(diskless) 환경에서 특히 유용합니다.

PXE 부팅의 핵심 장점은 다음과 같습니다.

  • 클라이언트에 운영체제나 저장 장치가 필요하지 않습니다.
  • 대부분의 작업이 원격으로 수행되므로 IT 관리자의 시간과 노력을 크게 절약할 수 있습니다.
  • 데이터 저장과 제어가 중앙 집중화되어 더욱 안정적인 정보 보안을 확보할 수 있습니다.
  • PXE는 벤더에 독립적이므로, 비즈니스 요구 사항이 변화할 때 새로운 클라이언트를 손쉽게 추가하여 네트워크를 확장할 수 있습니다.

PXE 부팅 비활성화 방법

PXE는 모든 컴퓨터에서 기본적으로 활성화되어 있지만, 필요에 따라 비활성화할 수도 있습니다. 비활성화 절차는 제조사마다 다르지만, 일반적으로 PXE는 BIOS(Basic Input Output System) 인터페이스에서만 비활성화할 수 있습니다. 일부 컴퓨터에서는 BIOS를 'System Setup' 화면이라고 부르기도 합니다.

PXE 부팅 비활성화 절차

  1. 컴퓨터를 켠 직후 'Setup' 화면에 진입합니다. 일반적으로 초기 스플래시 화면이 나타날 때 F2 또는 ESC 키를 누르면 됩니다.
  2. 'Advanced' 탭을 클릭한 후 'Integrated Devices' 옵션을 찾습니다.
  3. 'Network Interface Controller' 옵션을 찾습니다.
  4. PXE를 비활성화하려면 'On with PXE' 대신 'On'으로 설정합니다. 정확한 명칭은 제조사마다 다를 수 있습니다.
  5. 이렇게 하면 PXE가 비활성화됩니다.
  6. 일부 시스템에는 별도의 PXE 옵션이 없습니다. 이 경우 'Advanced' 탭 아래에 있는 'Boot Order' 또는 'Boot Sequence' 메뉴로 이동합니다.
  7. 네트워크 카드를 부팅 순서 목록의 맨 아래로 이동시킵니다. 이렇게 하면 PXE가 비활성화되어 컴퓨터가 NIC 대신 하드 드라이브나 기타 부팅 미디어로 부팅됩니다.
  8. 마지막으로 변경 사항을 저장하고 BIOS 설정을 종료합니다.

PXE와 iPXE의 차이점

PXE와 TFTP는 원래 저속의 불안정한 네트워크 환경을 위해 설계되었습니다. 그러나 최근 기가비트 네트워크가 보편화되면서 PXE와 관련 프로토콜은 상대적으로 구식이 되었습니다. iPXE는 GNU GPL 라이선스로 배포되는 오픈 소스 네트워크 부팅 펌웨어로, 많은 네트워크 카드 제조사와 OEM 제품에 기본적으로 포함되어 있습니다.

iPXE는 기존 PXE 부팅 프로세스를 확장하여 다음과 같은 다양한 환경에서의 부팅을 지원합니다.

  • HTTP를 통한 웹 서버
  • 무선 네트워크
  • WAN
  • 클라우드
  • iSCSI SAN
  • FCoE를 통한 파이버 채널 SAN
  • ATA over Ethernet(AoE) SAN
  • Infiniband 네트워크
  • USB 미디어
  • USB 이더넷

iPXE를 사용하면 관리자가 스크립트를 통해 부팅 프로세스를 세밀하게 제어할 수 있습니다. iPXE는 컴퓨터 NIC의 기존 PXE ROM을 대체할 수 있으며, 사용자는 펌웨어를 재설치(reflash)하지 않고도 체인 로드(chain load) 방식으로 iPXE에 진입해 다양한 기능을 활용할 수 있습니다.

함께 읽으면 좋은 콘텐츠

  • SCVMM 2012 R2와 PXE 서버 통합을 위한 요구 사항
  • PXE 부팅 튜토리얼로 OS 구성 자동화 강화하기
  • IaC(Infrastructure as Code) 도구 및 기법 익히기
  • Ansible 플레이북으로 OpenStack 설치 간소화하기
  • IaC를 활용한 하이브리드·멀티클라우드 관리 간소화

IT 운영 및 인프라 관리 심화 학습

  • 씬 클라이언트 환경 완벽 구축 방법 — Helen Searle-Jones
  • DHCP가 포트 67과 68을 사용하는 이유 — Damon Garn
  • DHCP(Dynamic Host Configuration Protocol)란 무엇인가? — Alexander Gillis
  • Kali Linux 설정 구성 및 사용자 지정 방법 — Kyle Johnson