2P by neo 16일전 | favorite | 댓글 1개
  • Computers Are Bad 엔터프라이즈 클라우드를 뉴멕시코로 이전하는 과정에서 새로운 서버를 구매하는 중임
  • 현재 사용 중인 Big Iron 서버는 약 10년 된 오래된 장비임
  • 현대의 클라우드 중심 산업에서는 Dell PowerEdge와 HP ProLiant의 사양을 비교하는 일이 드물어짐
  • 비하이퍼스케일 서버 시장은 점점 Intel 사양과 레퍼런스 디자인으로 통합되고 있음

서버란 무엇인가?

  • 서버는 단순히 크고 강력한 컴퓨터인가, 아니면 특별한 존재인가에 대한 오래된 질문이 있음
  • 서버의 역사에는 많은 산업사가 포함되어 있으며, 상황에 따라 답변이 다를 수 있음
  • 서버의 역사에 대해 다음과 같은 일반화가 가능:
    • 클라이언트-서버 컴퓨팅은 주로 단일 컴퓨터에 연결된 여러 터미널을 사용하는 시분할 컴퓨팅의 진화로 시작됨
    • 터미널이 컴퓨터와 유사한 아키텍처를 가질 것이라는 기대는 없었으며, 이는 클라이언트-서버 시스템에도 이어짐
    • 2000년대까지 서버는 다른 운영 체제와 아키텍처를 사용하는 것이 일반적이었음
  • PC 혁명으로 인해 1990년대 중반까지 클라이언트 측 컴퓨팅의 대부분이 WinTel 모노컬처로 자리잡음

서버 아키텍처의 변화

  • SPARC와 Solaris의 조합은 서버에 매우 일반적이었으며, IBM의 미니컴퓨터 아키텍처와 다양한 운영체제도 마찬가지였음
  • Java의 주요 상업적 기여 중 하나는 Solaris/SPARC 백엔드용 엔터프라이즈 애플리케이션을 작성하면서 Unix/RISC 또는 Windows/x86과 같은 "현대" 비즈니스 컴퓨팅 환경에서도 코드 재사용이 가능했던 방식임
  • "두꺼운 클라이언트"가 있는 클라이언트-서버 컴퓨팅 모델은 서버 플랫폼과 "엔터프라이즈 컴퓨팅" 간의 연관성을 가져옴
  • 서버로 제한되었던 아키텍처가 점점 더 틈새시장이 되고 비용과 성능 면에서 PC 아키텍처와 경쟁하기 어려워짐
  • 서버 소프트웨어의 일반적인 아키텍처가 "수직 확장 및 높은 가동 시간 시스템"에서 "수평 확장 및 완화된 안정성 요구사항"으로 전환되어 엔터프라이즈급 컴퓨터의 장점이 크게 줄어듦
  • 오늘날 대부분의 경우 서버는 그저 큰 컴퓨터일 뿐임
  • 서버는 다중 프로세서 소켓을 가진 SMP 또는 NUMA일 가능성이 훨씬 높음
  • SAS와 하드웨어 RAID의 시대는 점점 사라지고 있지만, 서버는 클라이언트보다 더 복잡한 스토리지 컨트롤러와 토폴로지를 계속 제공함
  • 서버는 거의 아웃 오브 밴드(OOB) 관리를 제공함

아웃 오브 밴드 관리

  • 아웃 오브 밴드 관리(OOB)는 클라이언트에서는 거의 unheard of한 기능임
  • 별도의 작은 관리 컴퓨터가 서버에 원격으로 접근할 수 있게 함
  • OOB 관리는 운영 체제와 일반적인 구성 요소가 필요하지 않음
  • 대부분의 서버는 원격 콘솔을 제공하여 로컬 모니터와 키보드에 연결된 것처럼 상호작용할 수 있음
  • OOB 관리 제품은 "가상 미디어" 기능을 제공하여 ISO 파일을 업로드하고 물리적 장치처럼 인식시킬 수 있음

아웃 오브 밴드 관리(대역 외 관리, Out-of-Band Management)

  • 아웃 오브 밴드(때로는 무인 관리라고도 함)는 클라이언트에서는 거의 들어보지 못한 기능을 식별함
  • 별도의 작은 관리 컴퓨터를 통해 서버가 꺼져 있을 때에도 원격 액세스가 가능함
  • 용어 "대역 외(Out-of-band)"와 "대역 내(in-band)"는 네트워킹과 통신에서 일반적으로 사용되는 의미에서 나왔지만, 실제로는 의미가 변화해 왔음
    • 대역 외 관리는 운영 체제와 범용 구성 요소가 필요하지 않음을 의미한다고 보는 것이 더 나을 수 있음
  • 대역 내 관리의 매우 표준적인 예는 SSH로, 컴퓨터의 소프트웨어에서 제공하는 서비스임
  • 반면에 대역 외 관리는 전용 하드웨어와 소프트웨어 스택에 의해 제공되며 운영 체제나 전통적으로 CPU의 협조를 필요로 하지 않음
  • 오늘날 대역 외 관리의 가장 좋은 예는 대부분의 서버가 제공하는 원격 콘솔임
    • 기본적으로 내장된 IP KVM으로, 로컬에 연결된 모니터와 키보드가 있는 것처럼 머신과 상호 작용할 수 있음
  • 많은 OOB 관리 제품은 "가상 미디어"도 제공하는데, ISO 파일을 관리 인터페이스에 업로드한 다음 실제 장치인 것처럼 컴퓨터에 나타나도록 할 수 있음
    • 이는 운영 체제를 설치하는 데 매우 유용함

OOB 관리의 역사

  • OOB 관리는 컴퓨터 역사에서 흥미로운 작은 영역임
  • 사실 비즈니스 컴퓨팅의 전체 역사에서 유사한 기능을 찾을 수 있을 정도로 새로운 아이디어는 아님
  • 시간이 지날수록 OOB 관리는 더 단순하고 지루해짐
  • 1980년대 후반~1990년대 초반 이후 서버의 공통적인 특징
    • LCD 매트릭스 디스플레이나 LED 표시기 그리드와 같은 하드웨어 상태에 대한 낮은 수준의 정보를 제공하는 일종의 로컬 운영자 인터페이스
    • 초기 부트로더 및 영구적인 저수준 관리 시스템에 대한 액세스 권한이 있는 직렬 콘솔
    • 아키텍처에 따라 스택에서 가변적인 위치를 가진 더 높은 수준의 관리 시스템으로 머신 워크로드의 원격 관리를 위한 것
  • OOB 관리의 현재
    • 대부분의 서버는 중복 구성 요소(예: 팬 또는 전원 공급 장치)에 장애가 발생했는지 전면 패널에서 알려줄 수 있음
    • 그러나 중복되고 온라인으로 교체할 수 있는 구성 요소의 수는 1990년대의 "CPU를 포함한 모든 것"에서 때로는 팬 정도로 줄어듦
    • 헤드리스 머신에서 OS 설치 및 유지 관리를 위한 인기 있는 방법으로 남아있기 때문에 직렬 관리는 여전히 꽤 일반적임
    • 그러나 대부분의 경우 OOB 관리는 프로세서 아키텍처와 정확히 같은 방식으로 Intel IPMI로 통합됨

IPMI의 혼란스러운 점

  • IPMI는 사양이지 구현이 아님
    • 대부분의 주요 벤더는 IPMI 코어 사양을 넘어서는 기능을 갖춘 자체 IPMI 구현을 가지고 있으며, HP iLO, Dell DRAC 등의 이상한 약어로 부름
    • 이러한 벤더별 구현은 IPMI보다 오래되었기 때문에 "단순히 IPMI"라고 말하는 것은 완전히 맞지 않음
    • 반면, 새로 시작하는 제조업체는 IPMI라고 부를 가능성이 더 높으며, 이 경우 펌웨어 벤더의 표준 제품일 수 있음
  • IPMI 소프트웨어는 일반적으로 베이스보드 관리 컨트롤러(BMC)라고 하는 프로세서에서 실행되며, IPMI와 BMC라는 용어가 때로는 같은 의미로 사용됨
  • Lights-out 관리(LOM)는 대부분 쓸모없는 용어이지만 HP(E)가 선호하고 IPMI 구현을 Integrated Lights-Out이라고 부르기 때문에 계속 사용됨
  • BMC는 클라이언트 컴퓨터에 존재하는 구성 요소인 시스템 관리 컨트롤러(SMC)와 혼동되어서는 안 됨
    • SMC는 팬 속도 제어와 같은 작업을 처리하기 위해 사용되는 몇 가지 용어 중 하나임
    • BMC와 SMC는 상호 연관된 역사를 가지고 있으며, 실제로 BMC는 대부분의 서버에서 이러한 기능을 처리함
  • IPMI는 두 가지 인터페이스를 지정함
    • 네트워크 또는 직렬 연결을 통해 사용할 수 있는 대역 외 인터페이스
    • 드라이버를 통해 운영 체제에서 사용할 수 있는 대역 내 인터페이스 (대부분의 현대 컴퓨터에 존재하는 ISA의 이상한 작은 잔재인 LPC 버스를 통해 CPU와 BMC 간의 통신)
  • 결과적으로 Linux의 ipmitool과 같은 운영 체제에서 실행되는 도구에서 IPMI와 상호 작용할 수 있음
  • IPMI가 편의를 위해 실행 중인 운영 체제에 대한 로컬 인터페이스를 가진 완전히 독립적인 시스템이라는 점을 이해하지 못하면 정확히 무슨 일이 일어나고 있는지 약간 혼란스러울 수 있음

IPMI의 기능

  • IPMI는 대부분 웹앱이 되었음
    • 웹 인터페이스는 너무 편리해서 거절할 수 없음
    • 많은 IPMI 제품에는 전용 클라이언트 소프트웨어가 있지만, 모든 기능을 임베디드 웹 애플리케이션으로 포팅하고 있음
  • 웹 인터페이스의 품질은 매우 다양하지만 대부분 그다지 좋지 않음
  • IPMI 웹 인터페이스 접근 방법
    • 시장에 출시된 대부분의 서버에는 "IPMI", "management" 등으로 레이블이 붙은 전용 이더넷 인터페이스가 있음
    • IPMI를 사용하는 가장 좋은 방법은 관리 네트워크 인터페이스를 전용 물리 네트워크에 배치하는 것
      • 보안과 안정성을 위해서임 (주 네트워크에 성능이나 안정성 문제가 있는 경우에도 IPMI에 계속 액세스할 수 있어야 함)
    • 그러나 전용 물리 네트워크는 시간, 공간, 비용이 듦
      • "관리 네트워크"는 일반 네트워크 장비의 VLAN일 가능성이 매우 높음
      • AT&T가 공통 통신 사업자 스위칭 배열(CCSA)이라고 부르는 것과 유사함
      • 독립적이고 사설 네트워크처럼 동작하지만 실제 장비는 다른 모든 것과 공유하며, 격리는 소프트웨어로 구현됨
  • IPMI 사이드밴드 네트워킹
    • 사이드밴드 관리를 사용하면 BMC가 운영 체제가 사용하는 것과 동일한 NIC와 직접 통신함
    • 구현 방식은 약간 이상함
      • NIC는 두 개의 다른 인터페이스인 것처럼 가장하고, 호스트 트래픽과 동일한 패킷 스트림에 IPMI 트래픽을 혼합하지만 다른 MAC 주소를 사용함
      • 이러한 방식으로 다른 네트워크 장비에는 평소처럼 두 개의 다른 네트워크 인터페이스가 사용 중인 것처럼 보임
    • IPMI와 애플리케이션 트래픽 간의 분리를 줄이는 것에 대한 명백한 보안 고려 사항이 있음
  • IPMI 보안 문제
    • 많은 IPMI 구현이 보안 악몽으로 판명됨
    • 신뢰할 수 없는 사람이 절대 액세스해서는 안 됨
  • IPMI 네트워크 기능
    • 네트워크 기능의 세부 사항은 IPMI 구현마다 다르지만, UDP 623에는 검색 및 기본 명령에 사용할 수 있는 표준 인터페이스가 있음
    • 종종 SSH와 웹 인터페이스가 있으며, 원격 콘솔에는 VNC가 매우 일반적임

IPMI의 기본 기능

  • 네트워크를 통해 또는 대역 내 IPMI 클라이언트를 사용하여 IPMI로 수행할 수 있는 멋진 기본 기능이 있음
  • 건망증이 있고 기록을 잘 보관하지 않는 경우 유용한 기능 중 하나는 FRU 또는 벤더 부품 번호 수준에서 시스템을 구성하는 하드웨어 모듈을 나열하는 것
  • 센서, 전원 상태, 팬 등과 같은 기본 하드웨어 기능과 상호 작용할 수도 있음
  • IPMI는 표준 워치독 타이머를 제공하며, 이는 운영 체제에서 실행되는 소프트웨어와 결합하여 애플리케이션이 비정상 상태가 되면 서버가 재설정되도록 할 수 있음
  • 시스템이 부팅되고 연결하여 워치독 타이머를 비활성화할 수 있을 만큼 충분히 긴 시간 초과를 설정해야 함

IPMI와 일상적인 클라이언트 컴퓨터의 관계

  • IPMI는 엔터프라이즈 서버에서는 매우 일반적이지만 다른 곳에서는 매우 드문 편임
  • 공간이나 소음 허용 범위가 1U 피자박스에 없는 사람들에게는 불만스러움
  • 소형 또는 저전력 컴퓨터를 고수하려고 한다면 IPMI 없이 지내야 할 것임

Intel ME와 AMD ST

  • 사실상 모든 Intel 및 AMD 프로세서에 존재하는 OOB 관리 컨트롤러
  • Intel ME(Management Engine)는 Intel Active Management Technology(Intel AMT)의 활성화 구성 요소
  • AMT는 클라이언트 머신을 위한 OOB 관리 대중화를 시도한 것이었으며, IPMI와 거의 동일한 기능을 제공함
  • 훨씬 덜 성공적이었는데, 대부분은 가격 때문일 것임
    • Intel은 거의 모든 AMT 기능을 매우 비용이 많이 드는 엔터프라이즈 관리 플랫폼과 함께 사용하도록 제한했음
  • 오픈 소스 AMT 클라이언트가 있지만, 다음으로 직면할 문제는 AMT를 실제로 사용할 수 있는 머신을 찾는 것

Intel AMT의 사이드밴드 관리 기능과 보안 문제

  • Intel AMT에는 사이드밴드 관리 기능이 있으며, 따라서 AMT가 실행되는 Intel ME 구성 요소에도 사이드밴드 관리 기능이 있다는 사실은 보안 커뮤니티에서 상당한 우려의 주제였음
  • 완화 요소: 사이드밴드 관리는 프로세서, 메인보드 칩셋, NIC가 모두 AMT 지원 가능한 경우에만 가능함
    • 세 가지 장치에 대한 옵션은 vPro 배지가 있는 Intel 제품으로 제한됨
    • 소비자 기기에서 Intel NIC의 인기 없음만으로도 사이드밴드 액세스가 거의 불가능함을 의미함
  • vPro는 또한 비교적 고급 프로세서와 칩셋으로 제한됨
    • 나쁜 소식은 홈랩에서 AMT를 사용하기 어려울 것이라는 점이지만, 일부 사람들은 확실히 사용함
    • 좋은 점은 소비자 기기에서 Intel ME가 사이드밴드 네트워킹을 통해 액세스 가능하다는 널리 보도된 "사실"이 일반적으로 사실이 아니며, Intel 소프트웨어 라이선스 이상의 이유로 그렇다는 것

Intel ME의 존재 이유

  • AMT 없이는 실제로 OOB 관리 기능이 없는 Intel ME 자체에 대한 이상한 질문이 남음
  • 거의 모든 프로세서가 Intel ME를 가지고 있는 이유는?
    • 추측이지만, Intel ME는 주로 보안 부팅 및 DRM과 같은 것에 사용되는 신뢰할 수 있는 실행 구성 요소를 호스팅하고 관리하는 편리한 방법으로 존재하는 것으로 보임
    • 이러한 기능은 모두 ME와 동일한 프로세서에서 실행되며 일부 공통 기술 스택을 공유함
  • Intel ME의 "관리" 부분은 따라서 상당 부분 흔적이며, 보안 컴퓨팅 인프라의 일부임

Intel ME에 대한 변명이 아님

  • 제3자가 전혀 감사할 수 없고 과거에 중대한 보안 취약성을 내포했던 Intel ME에 대해 변명하는 것은 아님
  • 우리 모두 두 벤더 중 하나의 프로세서 아키텍처를 사용하므로 Intel은 더 나은 것을 할 동기가 별로 없음
  • ARM이 방법이라고 대답하기 전에, 소비자 기기에 사용되는 최신 ARM SOC에도 거의 동일한 기능이 있음을 기억할 것

참고. 헤드리스의 정의

  • "헤드리스"의 정의는 까다롭고 너무 집착하지 않아야 함
  • 사람들은 "헤드리스"를 모니터와 키보드가 연결되어 있지 않은 것을 의미한다고 말하는 경향이 있음
  • 그러나 슬라이드 아웃 랙 콘솔과 IP KVM은 오랫동안 일반적이었으므로 하이퍼스케일이 아닌 환경에서는 진정한 헤드리스 시스템이 생각보다 드물다는 점을 명심해야 함
  • 이는 부분적으로 직렬 콘솔을 사용하는 것이 엄청나게 고통스러운 일이기 때문에 일반적인 컴퓨터 운영자는 이를 처리하는 것을 피하기 위해 많은 일을 할 것이기 때문

GN⁺의 의견

  • 이 기사는 서버의 정의와 역사에 대한 흥미로운 통찰력을 제공함. 서버가 단순히 큰 컴퓨터라는 일반적인 인식과 달리, 서버는 오랜 역사 동안 특별한 역할을 해왔음을 보여줌.
  • 서버의 역사를 살펴보면 기술의 발전과 함께 서버의 개념이 어떻게 변화해 왔는지 알 수 있음. 특히 PC 혁명 이후 서버와 클라이언트 간의 경계가 점점 모호해지고 있는 것이 흥미로움.
  • 대역 외 관리는 서버만의 고유한 기능으로, 운영 체제나 CPU의 도움 없이도 서버를 관리할 수 있게 해줌. 이는 서버 관리자에게 매우 유용한 기능이 될 수 있음.
  • 최근에는 Intel IPMI를 중심으로 OOB 관리 기술이 표준화되고 있음. 이는 서버 관리의 편의성을 높이는 한편, 한 업체에 종속될 위험도 있음.
  • 유사한 OOB 관리 기능을 제공하는 다른 솔루션으로는 HP의 iLO, Dell의 iDRAC 등이 있음. 특정 벤더에 종속되지 않으려면 이런 대안들도 고려해 볼 만함.
Hacker News 의견
  • Intel이 AMD에 비해 CPU와 GPU 성능에서 뒤처지고 있음

    • 예외적으로 N100 시리즈 CPU는 저전력 및 팬리스 애플리케이션에 적합함
    • 대부분의 조직은 기존 환경을 업데이트하기 위해 Intel CPU를 구매함
    • vSphere의 EVC 기능을 통해 CPU 아키텍처 간의 핫 마이그레이션이 가능함
  • Intel NIC는 전반적으로 우수하며 소비자 장치에서도 인기를 끌고 있음

    • Intel CPU가 장착된 PC나 노트북에는 거의 항상 Intel NIC가 포함됨
  • 서버 구매 시 Supermicro가 좋은 선택임

    • 저렴하고 폼 팩터, 섀시, 구성 요소, 슬롯 수 등에서 높은 유연성을 제공함
    • 다만, 지원은 Dell/HPE보다 덜 신뢰할 수 있어 중복 설정에 적합함
  • IPMI 사양이 Redfish로 대체되고 있음

    • Redfish는 더 완전하고 안전하며 표준화된 API를 제공함
  • Supermicro의 하드웨어는 여전히 우수하지만 최근 Hindenburg의 연구에서 일부 문제점이 지적됨

  • IPMI는 엔터프라이즈 서버에서 일반적이지만 가정용으로는 드물음

    • Atom 기반 Supermicro MicroATX 보드와 Noctua 팬을 사용하면 조용하게 냉각 가능함
  • IPMI 포트를 주요 LAN에 연결하지 않는 것이 좋음

    • 격리된 상태에서 유용하게 사용 가능함
  • IPMI가 없는 기계에 원격 액세스 기능을 추가하려면 $30 RISC-V NanoKVM을 사용할 수 있음

    • HDMI 캡처, 이더넷/WiFi, ATX 전원 제어 등을 제공함
  • 90년대 후반 Intel 서버 설치 경험 공유

    • LANDesk Server Manager Pro 소프트웨어와 Emergency Management Card 사용
    • EMC의 기본 비밀번호는 "calvin"이었음
  • IPMI와 같은 솔루션은 좋지만 표준 직렬 인터페이스를 선호함

  • IPMI는 장기적으로 하드웨어 지원이 부족함

    • IPMI 하드웨어에 자체 OS를 로드할 수 있다면 더 유용할 것임
  • Intel ME와 AMD PSP는 CPU 초기화에 중요한 역할을 함

    • 초기화 복잡성이 높아 별도의 임베디드 코어에서 처리하는 것이 더 합리적임
  • Dell은 IPMI를 Redfish로 대체하려고 노력 중임

    • Redfish는 HTTP/JSON REST API를 사용함
  • IPMI는 홈랩 사용 시 약 5W의 대기 전력 소비가 문제임

    • PiKVM(V2)와 Raspberry 4를 사용해 원격 관리 기능을 시도할 예정임
  • IPMI의 기본 키가 중요한 문제임

    • 공급망에서 추가 키가 설치되면 원격 관리가 가능해질 수 있음