Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Contents

Bare-Metal Provisioning

문제정의

  • 클라우드 리소스가 올라갈 하드웨어와 운영체제를 프로비저닝 해야 한다.
  • 모든 작업은 원격에서 자동으로 수행 해야 하며, 그 결과를 확인할 수 있어야 한다.
  • Bare-Metal 자원을 모니터링 할 수 있어야 한다. 모니터링 시스템과의 연동이 필요하다.
  • 서비스 트래픽과 관리 트래픽을 격리할 수 있어야 한다.
  • 클라우드 서비스를 위해서 필요한 소프트웨어들을 자동을 설치해야 한다.
  • 운영체제와 소프트웨어의 설정, 버전, 패치를 중앙에서 관리 할 수 있어야 한다.

프로비저닝 패턴

  1. Web Console를 이용해서 Provisioning API를 호출한다.
  2. IPMI를 이용해서 물리서버의 전원을 올린다.
  3. 네트워크 설정을 한다.
  4. PXE-BOOT로 운영체제를 설치한다.
  5. 설치가 끝나면, 운영체제와 주요 애플리케이션을 설치/설정 한다.
물론 위 과정은 모두 자동으로 이루어져야 한다.

프로비저닝 프로세스

Power on 전까지

자산관리 프로세스를 밟아야 한다. 언제 구입했는지, 장비 테스트는 끝냈는지등의 정보를 관리한다. 정보 관리를 위한 Key가 있어야 하는데, IPMI가 사용할 NIC의 MAC 주소가 적당할 것 같다.

MAC 주소가 변경될 수 있다는 문제가 있긴 하지만, 네트워크상에서 물리장비를 식별하기 위해서는 MAC 만한게 없다. MAC으로 할 경우, L2 스위치의 포트에 등록된 MAC을 이용해서 장비의 물리적 위치를 결정할 수 있다는 추가적인 장점도 있다. 유지보수를 위한 장비를 빠르게 찾을 수 있을 거다.

장비테스트가 끝나면, 관리자는 랙(Rack)과 랙에서의 위치와 호스트 이름을 결정한다. Rack, 스위치 포트, MAC을 관리하고 있다면, 위치를 쉽게 결정할 수 있을 거다. 호스트 이름은 Config server 에 저장한다. 호스트 이름을 기준으로 운영체제 설정과 설치 애플리케이션이 결정된다. 애플리케이션 영역의 설정을 위한 키인 셈이다. 예를들어 CPU 최적화된 장비, 메모리 최적화된 장비, 네트워크 최적화된 장비 등으로 설정이 나뉜다면, 이에 따라서 운영체제의 설정도 달라질 것이다. 혹은 하이퍼바이저 종류에 따라서도 설정이 바뀔 수 있다. 호스트 이름을 이용해서, 장비의 위치와 롤을 확인할 수 있어야 한다.

IPMI

장비 배치가 끝났다면, Web console을 이용해서 Power on 한다.

PXE-BOOT 와 Kick Start

파워가 올라오면 DCHP를 이용해서 네트워크 설정을 하고, PXE-BOOT를 이용해서 TFTP서버에 연결 리눅스 운영체제를 설치한다. Kick start를 이용해서 모든 과정을 자동으로 실행 한다.

운영체제 및 애플리케이션 설정

Kick start의 Post setup을 이용해서, Cloud-infra-init 스크립트를 실행한다. 이 스크립트는 아래와 같은 일을 한다.
  1. Config server로 부터 호스트 이름을 가져와서 호스트 이름을 설정한다.
  2. 호스트이름을 이용, 자신의 롤에 맞게 애플리케이션을 설치/설정한다.
Chef같은 도구가 핵심적인 역할을 한다.