'노바'에 해당되는 글 1건

  1. 2014.06.06 [OpenStack Class] 제7강 컴퓨트 서비스! NOVA (10)
OpenStack Class2014.06.06 13:55

안녕하세요~!! 

정말 오랜만에 블로그에 포스팅을 하는 것 같습니다. 많이들 기다리셨죠? 그동안 정말 바뻤거든요~~ 그래서, 글을 쓸 시간이 없었어요... ㅠ 저희 아이가 8살이라 올해 학교에 들어갔어요~ 그래서 아이와 저를 위해 얼마전에 회사에 육아휴직을 신청을 했어요. 집에서 쉬니 회사 다닐때보다 할일이 왜 이렇게 많은건지요~~ 정말 바쁘더군요.. 오늘은 큰 맘 먹고 글 하나 써보자 하고 이렇게 블로그에 글 하나 남겨 봅니다. 많이들 좋아해 주시는거죠~~ ^^ 


오늘은 지난 강의에 이어 오픈스택의 핵심 기능이자 초창기 프로젝트 멤버였던 컴퓨트 서비스! NOVA에 대해서 알아볼까 합니다. NOVA는 정말 오래되어서 많은 분들이 잘 알고 계실꺼라 생각이 드는데요~~ 그래도 지금 막 시작하시는 분들이나 알고 있다고 해도 정리하는 차원에서 보시면 좋을 것 같습니다. 


그럼, 시작해 볼까요~~



Logical Architecture로 알아보는 Nova


원 논리 아카텍쳐는 그림이 너무 작아 Nova가 어떤 기능을 하는지 잘 보이질 않습니다. 그래서 논리(Logical) 아키텍처 중 Nova 부분만 크게 잘라봤습니다. 아키텍쳐를 잘 보면 Nova는 아래와 같은 프로세스로 일을 한다는 것을 확인할 수 있습니다.


1. Nova는 데쉬보드나 커맨드 라인 명령어가 호출하는 nova-api로부터 시작됩니다. 

2. nova-api는 Queue를 통해 nova-compute에 인스턴스를 생성하라는 명령어를 전달하고, 

3. 인스턴스 생성 명령어를 전달받은 nova-compute는 하이퍼바이저 라이브러리를 통해

4. 하이퍼바이저에게 인스턴스를 생성하라는 명령어를 다시 전달합니다. 

5. 그 때 하이퍼바이저는 인스턴스를 생성하게 되는거죠! 

6. 생성된 인스턴스는 nova-console를 통해 사용자가 접근할 수 있게 되는 겁니다.





Nova가 지원하는 하이퍼바이저의 종류


이번에는 Nova가 지원하는 하이퍼바이저의 종류를 알아볼까요~!!

Nova가 지원하는 하이퍼바이저 종류는 아래 사이트에 가시면 확인 하실 수 있습니다.

https://wiki.openstack.org/wiki/HypervisorSupportMatrix


그런데, 영어로 되어 있고, 텍스트 뿐이여서 처음 시작하시는 분들에게는 조금 어려울 수 있습니다. 그래서 제가 그림으로 한번 그렸봤어요~!! 그러면 좀 더 이해하기 쉽겠죠!! ^^


Nova가 지원하는 하이퍼바이저는 그룹이 3개가 있는데 

1. 가장 기본적인 하이퍼바이저는 그룹A의 Qemu와 KVM입니다. 

2. 두번째 그룹B에서는 Hyper-V, VMware, XenServer6.2 을 지원합니다.

3. 세번째 그룹C에서는 Baremetal, docker, Xen via libvirt, LXC via libvirt 를 지원합니다.



노드별로 설치되는 Nova


이번에는 노드별로 설치되는 Nova 프로세스들을 알아보겠습니다. 그냥 노드별로 설치되는 프로세스명만 보는 것보다는 아래 그림처럼 아키텍처와 연관지어서 어떤 프로세스들이 설치되는지를 그려보면 Nova를 이해하는데 더욱 더 도움이 많이 됩니다. 그래서, 제가 대표로 여러분들을 위해 한번 그려 봤어요~!! ^^



컨트롤러 노드에 설치되는 Nova 프로세스들은 아래와 같아요~!! 아주 많죠?

- nova-api 

- nova-cert 

- nova-conductor 

- nova-consoleauth

nova-novncproxy 

- nova-scheduler

nova-novaclient 


대신에 컴퓨트 노드에는 몇개 설치되지 않아요~!!

- nova-compute-kvm 

- python-guestfs

- qemu-kvm 


여기서 python-guestfs가 뭘 하는건지 궁금하시죠? python-guestfs는 파일을 만들어주는 파이썬 라이브러리예요~!! 그래서, 가상 인스턴스를 생성할때 사용해요~!! 사실은 저도 잘 몰라서 검색엔진에서 찾아봤어요~~~ 저보다 더 잘 아시는 분이 계시다면 설명 해 주시면 감사하겠죠!!




DashBoard로 보는 Nova


그럼, Dashboard에서는 어떤 메뉴가 Nova 기능일까요? 아래 보이는 인스턴스 화면이 바로 Nova 기능이예요~!! 인스턴스라고 써 있어서 Nova가 왜 안보일까 하고 생각하셨다면 아래 보이는 화면이 Nova가 해주는다는 사실 하나만 알고 가도 되겠죠~!!^^




Nova에 대해 더 알고 싶다면~~~


Nova가 더 궁금하다구요? 그러면 아래 사이트들을 방문해보세요~~~ 저보다 더 친절하고 저보다 더 최신정보를 여러분들에게 제공해 드릴꺼예요~!! 영어때문에 잘 모르겠다구요~~~ 그러면 요즘 나오는 번역기를 이용하면 되겠죠!!! 


o 소스코드 다운로드: https://github.com/openstack/nova

o 코드 리뷰: https://review.openstack.org

o 코드 빌드: https://jenkins.openstack.org/

o 문서 : http://docs.openstack.org

o 개발자 문서: http://nova.openstack.org

o 런치패드 : https://launchpad.net/nova

o 위키 사이트 : https://wiki.openstack.org/wiki/nova



이렇게 해서 Nova에 대해 제가 알려드릴수 있는, 표현할 수 있는 범위의 모든 것에 대해 다 정리를 해 보았습니다. 사실 글로 정리만 한다거나 말로 하는것은 누구나 할 수 있습니다. 그러나 저는 많은 분들이 좀 더 쉽고 재미있게 오픈스택을 이해하고 공부하는데 도움이 되길 바라는 마음으로 그림으로 항상 그려보고 좀 더 쉽게 표현할 수 있는지를 늘 항상 연구합니다.  왜냐하면 저도 오픈스택이 어렵거든요~~~ 


그럼, 다음시간에는 오브젝트 스토리지인 Swift에 대해 정리해 보도록 하겠습니다. 많이들 좋아요~~~ 클릭해 주시고 댓글도 많이 많이 달아주세요~~~ ^^

Posted by 나리 짱!!! naleejang