Print
카테고리: [ Cloud Computing & MSA ]
조회수: 6321

OpenStack이란? 

오픈스택이란 "Open source software for creating private and public clouds" 라고 오픈스택 공식 사이트 (www.openstack.org) 에 설명되어 있다. 말 그대로 클라우드를 만들고 관리할 수 있는 IaaS 역할을 하는 OSS이다. 오픈스택은 알파벳 순서로 버전의 이름을 붙이고 있는데 2010년 1월에 릴리즈된 Austin 부터 현재 가장 최신 버전인 Liberty (2015년 10월 릴리즈) 까지 12개의 버전이 나와 있다.

오픈스택은 기능에 따라 아래 그림과 같이 구성 요소가 분리되어 있는데 각 component가 어떤 역할을 하는지 살펴보겠다. 아래 요소들 외에도 다른 서비스들을 제공하지만 오늘은 주로 사용되는 서비스들 위주로 간략하게 설명해 보겠다.

 

Horizon (Dashboard)

위 그림에서 어느 정도 유추해 볼 수 있듯이 Horizon은 오픈스택에서 일어나는 서비스에 대한 인터페이스를 웹 베이스로 제공한다. VM을 생성하거나 IP를 지정하는 등의 서비스를 CLI가 아닌 웹에서 사용자가 직접 실행할 수 있도록 도와주는 툴이다.

 

Keystone (Identity)

오픈스택에서 제공하는 모든 서비스에 대한 인증과 권한 부여를 담당한다. 오픈스택은 모든 서비스가 일어나기 전에 Keystone을 통하여 사용자가 해당 서비스를 실행할 권한이 있는지를 확인한다.

 

Nova (Compute)

사용자의 요청을 VM 내부에서 변환시켜 compute 서비스를 적용한다. VM 생성, IP 연결 등의 작업을 실행하고 compute 자원을 관리하는 역할을 한다.

 

Glance (Image)

VM 디스크 이미지를 저장하고 불러오는 역할을 한다. Nova 가 VM을 생성할 때 Glance에서 이미지를 불러와서 프로비저닝을 진행한다.

 

Neutron (Networking)

네트워크를 가상화시켜서 서비스를 제공하는 디바이스들을 연결한다. 사용자가 독립적인 네트워크를 만들거나 원하는 디바이스만 선택해서 연결할 수도 있다.

 

Cinder (Block Storage)

VM에 볼륨을 제공한다. VM 생성 시 볼륨을 연결하거나 이미 생성된 VM에 볼륨을 연결할 수 있으며, 연결을 해제하여 다른 VM에 연결하는 것도 가능하다.

 

Ceilometer (Telemetry)

오픈스택 클라우드의 비용이나 통계 정보를 모니터링/미터링하는 서비스이다.

 

이 외에도 용도에 따라 다양한 서비스를 제공하며, 사용자가 원하는 서비스를 선택해서 사용할 수 있다. 다른 서비스에 대한 설명은 http://www.openstack.org/software/project-navigator 에서 보다 자세히 알아볼 수 있다.