- 서버가 PC와 비슷한 범용 하드웨어로 수렴한 뒤에도, 장애·부팅·원격 설치를 다루는 대역 외 관리는 클라이언트와 서버를 가르는 핵심 기능으로 남아 있음
- IPMI는 제품명이 아니라 명세이며, HP iLO와 Dell DRAC 같은 벤더별 관리 시스템은 IPMI와 겹치지만 각자 다른 역사와 확장 기능을 가짐
- IPMI는 BMC에서 동작하며 네트워크·직렬 기반 대역 외 인터페이스와 운영체제 드라이버를 통한 인밴드 인터페이스를 함께 제공함
- 실제 구현은 웹 UI, SSH, VNC, UDP 623 기반 명령, 원격 콘솔, 가상 미디어, 센서·전원·팬·워치독 제어를 제공하지만 보안 노출에 특히 취약함
- Intel ME와 Intel AMT는 클라이언트 PC 쪽 유사 기술이지만, AMT와 vPro 조건 때문에 일반 소비자 장치에서 사이드밴드 네트워크 접근이 가능하다는 통념은 대체로 맞지 않음
서버가 “큰 컴퓨터”가 되기까지
- 클라이언트-서버 컴퓨팅은 여러 터미널이 하나의 컴퓨터에 연결되던 시분할 컴퓨팅의 진화에서 출발함
- 터미널은 컴퓨터와 같은 아키텍처를 가질 필요가 없었고, 이런 인식은 초기 클라이언트-서버 시스템에도 이어짐
- 1990년대 중반 PC 혁명은 클라이언트 쪽에 WinTel 단일 문화를 만들었지만, 2000년대까지 서버는 별도 운영체제와 아키텍처를 쓰는 일이 흔했음
- SPARC와 Solaris 조합이 서버에서 널리 쓰였음
- IBM의 미니컴퓨터 아키텍처와 여러 운영체제도 중요한 서버 플랫폼이었음
- Java는 Solaris/SPARC 백엔드와 Windows/x86 클라이언트 간 코드 재사용을 가능하게 해 엔터프라이즈 애플리케이션에 기여함
- 시간이 지나며 서버 전용 아키텍처는 PC 아키텍처의 비용·성능 경쟁에서 점점 불리해짐
- 서버 소프트웨어도 수직 확장과 높은 가동시간 중심에서 수평 확장과 완화된 신뢰성 요구로 이동하면서 엔터프라이즈급 컴퓨터의 이점이 줄어듦
- 현재 서버의 차별점은 주로 다중 소켓 SMP·NUMA, 복잡한 스토리지 컨트롤러와 토폴로지, 그리고 대역 외 관리 기능에 있음
대역 외 관리는 무엇을 해결하나
- 대역 외 관리는 운영체제나 범용 컴포넌트가 정상 동작하지 않아도 별도 관리 컴퓨터를 통해 서버에 접근하는 기능임
- SSH는 운영체제 위 소프트웨어가 제공하는 인밴드 관리의 전형적인 예임
- 대역 외 관리는 별도 하드웨어·소프트웨어 스택이 담당하며, 전통적으로 운영체제나 CPU의 협조가 필요하지 않았음
- 오늘날 이 기능은 서버의 원격 콘솔에서 가장 잘 드러남
- 내장 IP KVM처럼 동작해 로컬 모니터와 키보드가 연결된 것처럼 서버를 조작할 수 있음
- “가상 미디어” 기능은 ISO 파일을 업로드해 물리 장치처럼 보이게 만들 수 있어 운영체제 설치에 유용함
- 이런 기능은 새로운 개념이 아니며, 비즈니스 컴퓨팅 역사 전반에서 유사한 기능을 찾을 수 있음
- 비교적 현대적인 서버에는 보통 여러 단계의 관리 기능이 함께 들어 있었음
- 하드웨어 상태를 보여주는 LCD나 LED 같은 로컬 운영자 인터페이스
- 초기 부트로더와 지속적인 저수준 관리 시스템에 접근하는 직렬 콘솔
- 머신 워크로드를 원격 관리하는 더 높은 수준의 관리 시스템
- 오늘날에도 전면 패널의 장애 표시와 직렬 관리 기능은 남아 있지만, 온라인 교체 가능한 중복 부품의 범위는 과거보다 줄어듦
IPMI와 BMC의 관계
- IPMI는 특정 제품이 아니라 Intel IPMI 명세임
- 주요 서버 벤더는 대개 자체 IPMI 구현을 갖고 있으며, HP iLO와 Dell DRAC 같은 이름을 사용함
- 이런 시스템은 IPMI보다 먼저 존재한 경우도 있어 “그냥 IPMI”라고 부르기에는 정확하지 않음
- 신생 제조사는 펌웨어 벤더의 표준 제공물을 그대로 쓰며 IPMI라고 부르는 경우가 많음
- IPMI 소프트웨어는 보통 BMC(Baseboard Management Controller) 라고 부르는 프로세서에서 실행됨
- IPMI와 BMC라는 용어는 때때로 서로 바꿔 쓰임
- LOM(Lights-Out Management)은 대체로 오래된 용어지만, HP(E)가 Integrated Lights-Out이라는 이름을 계속 쓰면서 남아 있음
- BMC는 클라이언트 컴퓨터에서 팬 속도 제어 같은 작업을 맡는 SMC(System Management Controller)와 구분해야 함
- 두 컴포넌트는 역사적으로 관련이 있음
- 서버에서는 BMC가 이런 기능을 대부분 처리함
- IPMI는 두 가지 접근 방식을 명세함
- 네트워크나 직렬 연결을 통한 대역 외 인터페이스
- 운영체제가 드라이버로 접근하는 인밴드 인터페이스
- 인밴드 접근 덕분에 Linux의 ipmitool 같은 도구가 실행 중인 운영체제에서 IPMI와 상호작용할 수 있음
- IPMI는 독립 관리 시스템이면서도 편의를 위해 운영체제에 로컬 인터페이스를 제공하므로, 이 구조를 알아야 용어 혼동이 줄어듦
실제 IPMI 사용 방식과 보안 제약
- IPMI 제품은 점점 웹 애플리케이션 중심으로 기능을 제공함
- 전용 클라이언트 소프트웨어가 있는 제품도 많지만, 기능이 내장 웹 앱으로 옮겨가는 흐름이 있음
- 웹 인터페이스 품질은 구현마다 크게 다르며 대체로 좋지 않음
- 대부분의 서버에는 IPMI 또는 management로 표시된 전용 이더넷 인터페이스가 있음
- IPMI 관리 인터페이스는 보안과 신뢰성 때문에 전용 물리 네트워크에 두는 방식이 가장 바람직함
- 주 네트워크에 성능이나 안정성 문제가 생겨도 IPMI에는 접근 가능해야 함
- 전용 물리 네트워크는 시간, 공간, 비용이 듦
- 관리 네트워크를 일반 네트워크 장비 위의 VLAN으로 구성하는 타협도 흔함
- 독립 사설망처럼 동작하지만 실제 장비는 공유됨
- 격리는 소프트웨어로 구현됨
- 추가 케이블을 피하려고 IPMI는 사이드밴드 네트워킹도 제공함
- BMC가 운영체제가 쓰는 같은 NIC와 직접 통신함
- NIC는 서로 다른 두 인터페이스처럼 보이게 하며, IPMI 트래픽은 호스트 트래픽과 같은 패킷 스트림에 섞이지만 다른 MAC 주소를 사용함
- IPMI와 애플리케이션 트래픽의 분리가 약해져 보안 고려가 필요함
- 많은 IPMI 구현은 심각한 보안 문제를 보여왔으며, 신뢰할 수 없는 사용자에게 접근 가능하게 두면 안 됨
- 네트워크 기능은 구현마다 다르지만, 공통적으로 UDP 623 기반 표준 인터페이스가 검색과 기본 명령에 쓰임
- SSH와 웹 인터페이스가 흔하며, 원격 콘솔에는 VNC도 자주 쓰임
- IPMI로 수행할 수 있는 기본 기능은 다음과 같음
- FRU 또는 벤더 부품 번호 수준에서 하드웨어 모듈 목록 확인
- 센서, 전원 상태, 팬 같은 기본 하드웨어 기능 제어
- 표준 워치독 타이머 사용
- 워치독 타이머는 운영체제 위 소프트웨어와 결합해 애플리케이션이 비정상 상태에 빠지면 서버를 재설정하게 만들 수 있음
- 워치독 제한시간은 시스템 부팅과 접속 후 비활성화할 시간을 허용할 만큼 길게 잡아야 함
Intel ME, AMD ST, AMT와 클라이언트 PC의 예외
- IPMI는 엔터프라이즈 서버에서는 흔하지만, 일반 클라이언트 컴퓨터나 소형·저전력 컴퓨터에서는 드묾
- Intel ME와 AMD ST는 거의 모든 Intel·AMD 프로세서에 있는 OOB 관리 컨트롤러에 가까운 예외적 존재임
- Intel ME는 Intel AMT(Active Management Technology)를 가능하게 하는 구성요소임
- AMT는 클라이언트 머신에 대역 외 관리를 보급하려는 시도였고, IPMI와 유사한 기능을 대부분 제공함
- AMT는 크게 성공하지 못했으며, 주된 이유는 Intel이 대부분의 AMT 기능을 비싼 엔터프라이즈 관리 플랫폼과 함께 쓰도록 제한한 데 있음
- 오픈소스 AMT 클라이언트는 있지만, 실제로 AMT를 사용할 수 있는 머신을 찾는 문제가 남아 있음
- AMT의 사이드밴드 관리는 보안 커뮤니티의 우려를 낳았지만, 실제로는 다음 조건이 모두 맞아야 가능함
- 프로세서가 AMT 가능해야 함
- 메인보드 칩셋이 AMT 가능해야 함
- NIC가 AMT 가능해야 함
- 세 장치는 모두 vPro 배지가 붙은 Intel 제품으로 제한됨
- 소비자 장치에서 Intel NIC가 인기가 없다는 점만으로도 사이드밴드 접근은 드문 편임
- vPro는 비교적 고급 프로세서와 칩셋으로 제한됨
- Intel ME가 소비자 장치에서 사이드밴드 네트워킹으로 접근 가능하다는 널리 퍼진 “사실”은 보통 맞지 않으며, 이유는 Intel 소프트웨어 라이선스만이 아님
- Intel ME 자체는 AMT 없이는 대역 외 관리 기능을 거의 갖지 않지만, Secure Boot와 DRM 같은 신뢰 실행 컴포넌트를 호스팅하고 관리하는 편리한 기반으로 쓰이는 것으로 보임
- Intel ME는 제3자가 감사할 수 없고 과거에 중요한 보안 취약점을 품은 적이 있음
- 현대 소비자용 ARM SoC도 유사한 능력을 갖고 있어, 특정 x86 벤더만의 문제로 끝나지 않음