Cloud

처음 본 오픈 스택의 Nova

'김용환' 2017. 7. 20. 15:26



오픈 스택의 Nova는 가상 머신 라이프 사이클 관리자로서, 아마존 EC2와 동일한 역할을 한다. https://github.com/openstack/nova

(초창기에는 Nova가 오픈스택의 전부였다고 한다....)



즉 서버 가상화를 수행할 수 있다. 


초기의 Nova는 오픈 스택의 핵심이었다고 한다. Nova가 서버, 네트워크, 볼륨을 모두 관리하다가 Nova 볼륨은 Cinder로 Nova 네트워크는 Neutron으로 프로젝트가 분리되었다. 



데이터독의 Nova 아키텍처는 간단하다. 


이미지 출처 : https://datadog-prod.imgix.net/img/blog/openstack-monitoring-nova/nova-high-level-3.png?fit=max



좀 더 좋은 이미지를 살펴봤다. 예전 오픈 스택에는 다음과 같은 아키텍처 그림이 있었다고 하나. 지금은 오픈 스택 싸이트에서는 보이지 않는다.


내부는 RabbitMQ를 사용하고 있다. 





이미지 출처 : http://cloudn1n3.blogspot.kr/2014/11/openstack-series-part-4-nova-compute.html






공식문서(openstack.org)의 아키텍처는 다음과 같다. 




  • DB: 데이터 저장용 
  • API: HTTP 요청을 받고 커맨드를 변환해 oslo.messaging 큐 또는 HTTP로 다른 컴포넌트와 통신한다.
  • Scheduler: 인스턴스를 실행한다.
  • Network: ip 포워딩, 브릿지, vlan을 관리한다.
  • Compute: 하이퍼바이저와 가상 머신과의 통신을 관리한다. 
  • Conductor: 코디네이션(빌드/리사이즈)가 필요하다라는 요청을 처리한다. 마치 데이터베이스 프록시처럼 동작한다.



Nova를 설명한 쉬운 자료.





Nova에 대한 자세한 내용은 아래 슬라이드를 보니 도움이 된다. 

Nova와 AMQP와의 연동 방법, 인스턴스가 만들어질 때까지의 동작 순서를 설명한다.