메뉴 닫기

PXE 환경을 좀 더 유익하게 iPXE 부트펌웨어를 사용해보자.

앞서서 전편에

PXE는 무엇이고, 어떻게 동작하는지를 알아보았다.

 

PXE를 향산된 기능으로 사용할 수 있는 “iPXE” 라는 오픈소스를 소개하고자 한다.

iPXE는 오픈소스 기반의 네트워크 부트 펌웨어로 PXE의 모든 기능을 지원한다.
다음과 같은 추가 기능으로 향상된 전체 PXE 구현을 제공한다.

1) HTTP와 같은 웹 서버에서 부팅
2) iSCSI SAN에서 부팅
3) FCoE를 통해 Fibre Channel SAN에서 부팅
4) AoE SAN에서 부팅
5) 무선 네트워크에서 부팅
6) 광역 네트워크에서 부팅
7) Infiniband 네트워크에서 부팅
8) 스크립트를 사용하여 부팅 프로세스 제어

iPXE를 사용하여 네트워크 카드의 기존 PXE ROM을 교체하거나 iPXE에 체인 로드하여 재플래시 없이 iPXE의 기능을 얻을 수 있다.

iPXE는 GNU에 따라 라이센스가 부여된 무료 오픈 소스 소프트웨어이며(일부는 호환되지 않는 라이센스와 함께) 여러 네트워크 카드 제조업체 및 OEM의 제품에 포함되어 있다.

# 참고자료(URL)
https://ipxe.org

여기서 잠깐,
iPXE 기능을 이용하기 위한 사전작업은 링크를 통해 참고하면 되겠다. “[전편] PXE는 무엇이고, 어떻게 동작하는가?

iPXE 사이트에서 기본적으로 부팅 가능한 ISO 파일 및 소스코드 배포 지원한다.
1) ipxe.iso
2) iPXE 소스 코드  >> 간단 빌드 예시

위 2번째 iPXE 소스 코드를 빌드 시 내장 된 스크립트(Embedded Script)를 사용하여 기본 동작을 재정의 할 수 있다.
자사 베어메탈 인프라 기준으로 iPXE(BOOT FIRMWARE) 소스코드를 빌드하여 사용하고자 한다.

iPXE 소스 빌드 시 유의사항 존재한다.
“Legacy BIOS 모드”와 “UEFI BIOS 모드”를 구분하는데 소스 코드 수정 및 빌드 시 필히 모드에 따라 별도 빌드하여야 한다.

iPXE 파일명 예시)
– Legacy BIOS : undionly.kpxe
– UEFI BIOS : ipxe.efi

iPXE 부트펌웨어가 준비되었다면,
전편에서 인프라를 구성 시 TFTP 서버에 업로드 한다.

iPXE 부팅 과정에 대한 간략한 동작 프로세스를 설명하자면 아래와 같다.(PXE 부팅 과정 생략)
1) 클라이언트는 DHCP 서버로부터 전달받은 IP 및 TFTP 서버 정보를 이용하여 네트워크 연결 이 후 TFTP 서버로부터 부트펌웨어를 다운로드
2) 다운받은 부트펌웨어를 통해 커널 파일을 로드
3) 내장 된 스크립트(Embedded Script)를 사용하여 기본동작을 재정의(네트워크 및 iSCSI 경로 등)
4) 사설 네트워크 정보를 재할당 후 iSCSI(ROOT PATH)를 이용하여 사전 준비된 부팅 가능한 Linux OS GRUB 로드
5) 정의 된 커널 로드 및 Linux OS 부팅 프로세스 시작
5) 개별 설정 또는 사전 정의된 설정파일을 이용하여 OS 배포 및 완료

위와 같은 OS 설치 자동화 인프라를 활용하여 서버 구축 시 설정 환경에 따라 OS별 설치 및 배포 등의 차이가 있으며, 다수의 서버 구축에 용이하다.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x