티스토리 뷰

OpenStack Class

[OpenStack Class] 제7강 컴퓨트 서비스! NOVA

나리 짱!!! naleejang 2014. 6. 6. 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에 대해 정리해 보도록 하겠습니다. 많이들 좋아요~~~ 클릭해 주시고 댓글도 많이 많이 달아주세요~~~ ^^

댓글
  • 프로필사진 BlogIcon 나그네 글 잘읽었습니다 궁금한게 있는데.
    우분투 설치되는 노바와 Xen 서버설치된 노바의 차이점이 궁금합니다. 서버를 가상화하려면 .xen 서버에 설치 되야 하지 않나요?
    궁금해서 질문드려 봅니다.:) 좋은하루되세요.
    2014.06.09 12:44
  • 프로필사진 Favicon of https://naleejang.tistory.com BlogIcon 나리 짱!!! naleejang Nova는 하이퍼 바이저를 관리하는 API라고 보시면 좋을 것 같습니다.
    그래서 어떤 하이퍼바이저가 와도 상관없이 사용자들은 Nova가 제공하는 같은 API를 통해 가상서버를 생성할 수 있습니다.
    Ubuntu는 Nova를 설치하기 위한 Linux 운영체제이구요~!!
    그런데, Xen은 하이퍼 바이저입니다. Ubuntu에 설치되는 KVM과 같은 녀석이지요~!! 그래서 Xen 서버에 Nova가 설치되지는 않습니다.

    KVM이라는 하이퍼바이저 대신 Xen 서버를 사용할 수는 있겠지요~
    2014.06.09 19:58 신고
  • 프로필사진 Favicon of http://sola99.tistory.com BlogIcon 쏠라구구 항상 좋은 글 잘보고 있습니다~

    계속 연재 해주시는 거죠?

    기대하고 있습니다~
    2014.07.08 16:26
  • 프로필사진 Jeremy 정리가 정말 잘 되어있네요 이 블로그에서 열공 중입니다!
    늘 감사합니다
    2014.07.17 10:32
  • 프로필사진 김준형 블로그에 오픈스택에 대해서 잘 정리 되어 있어서 오픈스택 공부하는데 도움이 많이 되고 있습니다. 2015.01.31 16:19
  • 프로필사진 비밀댓글입니다 2015.02.05 10:44
  • 프로필사진 컴공학부생 안녕하세요!! 최근 팀 프로젝트 진행하면서 주제를 오픈소스 클라우드 컴퓨팅으로 잡고 공부해나가고 있는 컴퓨터공학부 3학년 학부생입니다. 다름이 아니고 오픈스택 관련해서 질문을 드리고 싶습니다.
    얕은 수준이지만, 자료를 찾아보고 공부해보다 보니 상당히 비전있는 분야이고 관심이 가는 분야였습니다.
    그래서 관련 업종으로 진로를 생각하게 되었습니다.
    집에서 오픈스택으로 간단한 클라우드 환경을 구축해보는 것도 취업에 도움이 될지 궁금합니다..
    또 어떤식으로 공부해 나가는게 좋을지 알고싶습니다!
    2015.06.02 11:13
  • 프로필사진 Favicon of https://naleejang.tistory.com BlogIcon 나리 짱!!! naleejang 정말 좋은 질문을 해 주셨네요~!!

    오픈스택은 앞으로도 계속 유망 있는 직종이 되지 않을까 생각합니다.
    물론 집에서 간단하게 환경을 구축해 보시는 것도 나쁘지 않습니다.
    또한 오픈스택이 Python으로 되어 있기 때문에 Python 언어를 공부해 보시는 것도 좋을 듯 합니다. Python 언어를 공부하시면서 OpenStack 소스도 함께 분석해보기 등을 시도해 보신다면 더 좋을 것이라 생각이 듭니다.
    2015.06.03 16:43 신고
  • 프로필사진 날아랏루 좋은 글 잘 보고 갑니다^^ 고맙습니다~ 2016.06.10 15:10
  • 프로필사진 뚜벅이노그네 오픈스택강좌 정주행 하면서 보기 시작했습니다 :)
    알기 쉽게 설명해주셔서 감사합니다!
    - 대학생 -
    2017.03.12 16:35
댓글쓰기 폼