피드로 돌아가기
Cloudflare BlogInfrastructure
원문 읽기
UEFI 부트 인터페이스 최적화로 펌웨어 업데이트 시간 4시간에서 3분으로 단축
How we reduced core unit boot time from hours to minutes
AI 요약
Context
Bare-metal 기반의 Core 서버군에서 펌웨어 업데이트 이후 부트 시간이 급증하는 병목 발생. UEFI가 사용 가능한 모든 네트워크 부트 인터페이스를 순차적으로 탐색하며 발생하는 Timeout 누적으로 인해 전체 롤아웃 시간이 지연되는 구조적 한계 노출.
Technical Solution
- Serial Console 분석을 통한 IPv4 HTTPS, IPv4 iPXE 등 불필요한 인터페이스 시도 및 Timeout 패턴 식별
- 선형 탐색 방식의 부트 시퀀스를 제거하고 정답 인터페이스를 사전에 정의하는 Explicit Declaration 구조 도입
- iPXE 기반의 프로그래밍 가능한 워크플로우를 구축하여 하드웨어 설정에 따른 동적 부트 제어 구현
- OEM 벤더 협업을 통해 programmatic boot order control 기능을 확보하여 BIOS 수동 조작 제거
imgexec도구를 활용해 기존 상태 확인(show)과 변경(set) 단계를 단일 명령어로 통합하여 설정 오버헤드 최소화
Impact
- 펌웨어 업데이트 자동화 시간: 약 4시간 → 3분으로 단축
- 단일 부팅 소요 시간: 약 20분 → 1분 미만으로 개선
- 영향 범위: Gen12 fleet 약 2,000대 서버 전체에 적용
실천 포인트
- 부팅 지연 발생 시 Serial Console을 통해 POST 단계부터 Kernel Startup까지의 정밀한 타임라인 분석 수행 - Network Boot 환경에서 Default Search Order에 의존하지 않고 Explicit Boot Interface 지정 설정 검토 - BIOS/UEFI 설정 변경을 위해 수동 개입 대신 프로그래밍 가능한 인터페이스(API/CLI) 확보 가능 여부 확인 - 설정 변경 시 '조회 후 변경' 프로세스를 '원자적 설정' 방식으로 최적화하여 불필요한 API 호출 제거