Openstack compute Subproject codename: NOVA

2013. 10. 23. 21:16Cloud/Open Stack

Openstack compute Subproject codename: NOVA

 

1) Openstack 주요 3 Project

 

1) Compute (code-named 'NOVA')

- 자동적으로 Provision되는 가상 컴퓨터 인스턴스들을 대규모로 구축/관리 하기 위한 오픈 소스 소프트웨어 스택과 아키텍처 표준

2) Object Storage (code-named 'Swift')

- 대규모의 신뢰성 있는 클라우드 스토리지를 구축/관리하기 위한 오픈소스 소프트웨어 스택과 아키텍처 표준

3) Image Service (code-named 'Glance')

-가상 디스크 이미지들을 검색하고, 등록하고, 전달하고, 사용할 수 있도록 해주는 소프트웨어 스택

 

2) etc. Project

 

1) Horizon

- Openstack의 공식적인 Dashboard

- Django-OpenStack으로 불린 Django 모듈을 기반으로 함

- 현재 OpenStack의 코어 프로젝트중 하나이다.

 

2) Ketston

- python으로 작성된 Cloud identity Service

- Pysical View에서 Logical View를 분리하며, 가상 네트워크를 만들고 다루기 위한 단순한 API를 포함하며, L2 Networking과 Nova intergration을 제공.

 

* Openstack은 신원 서비스 키스톤(Kiston)과 사용자 인터페이스 대시보드인 호라이즌(Horizon)을 제공함으로서 사용자 크리덴셜(User Credention)을 적용하고 여러 소프트웨어에서 동일한 UI를 구현할 수 있게 함으로서 사용자들의 편의성과 소프트웨어 간의 상호 운영성을 증대 시킴

3) Cinder

- Volume으로부터 Nova를 추출함

- Block storage service

- Cinder는 Volume으로부터 Image를 만듬

- Cinder는 다중 서버의 다중 가상 드라이버를 통해 분리된 Volume안으로 Storage를 공동으로 쓰기 위한 능력을 포함. 이것은 전용 기억부 기어에 저장함

 

4) Quantum

- 프로젝트 사이의 연결을 가상화, 자동화된 방식으로 조직화하는 네트워킹을 지원하는 역할을 담당

 

 

 

3) NOVA 기능 범위

 

 

 

 

4) NOVA 구조

4-1) API 서버

- Hypervisor, Storage 및 Networking 관련 명령/제어가 가능한 인터페이스

- 기본적인 HTTP 웹서비스 형태

- User 생성시 할당 받는 EC2 Acess / Secret Key와 Openstack API access Key를 API사용시 포함시켜 API서버가 사용자를 인증할 수 있도록 함

 

 

 

 

4-2) Scheduler

- 요청된 가상의 리소스를 실제 어떤 하드웨어에서 제공할지를 선택

- 현재 Random, Simple 두가지 방법이 구현되어 있음

- Multi-zone 구현을 위해 distributed scheduler가 개발 진행중

4-3) Compute Node

- Compute Server 리소스를 제공하고 인스턴스들을 관리

- Instance Run, Terminate, Reboot

- Volume Attach, Detach

- Get Console output

4-4) Network Node

- 네트워크 리소스를 관리

- 현재 Flat, Flat DHCP, VLAN DHCP를 지원

 

5) NOVA 에서 메시지 흐름

 

 

 

 

 

6) Nova의 네트워크 구조

 

6-1) Flat Mode

- 모든 Instance가 하나의 bridge('br100)'에 연결되어 고정 IP를 부여 받음

- Instance의 Network Configuration은 부팅 전에 '/etc/network/interface'에 설정됨

 

6-2) Flat DHCP Mode

- Flat Mode와 마찬가지로 모든 Instance가 하나의 bridege에 연결됨

- Ethernet Device('eth0')이 bridge가 되며

- Instance는 'Dhcpdiscover'로 dnsmasq로부터 IP를 할당 받음

 

6-3) VLAN DHCP Mode

- 자신의 Instance를 Public 영역에 노출시키지 않고 VPN을 통해 접근 가능

- 프로젝트 별로 VLAN과 bridge를 생성 -> 프로젝트는 VLAN내에서 접근 가능한 Private IP대역을 얻음

- Instance는 해당 프로젝트가 할당 받은 VLAN Private IP중 하나를 할당 받음

 

 

6-4) NOVA VPN: CloudPipe

- 사용자가 VLAN 밖에서 VLAN내의 인스턴스에 접근하기 위해서는 'Cloudpipe'라는 VPN Instance가 필요

- CloudPipe Instance는 항상 프로젝트의 VLAN IP 대역중 2번쨰 IP를부여 받음

- 각 프로젝트는 고유의 Port 번호를 부여 받는데, network node의 public IP + 프로젝트 Port번호를 이용하여 프로젝트의 VPN에 접근이 가능

 

 

7) NOVA 의 Multi Zone

- Zones은 NOVA 서비스들과 호스트들의 논리적 그룹에 해당

- Nested 구조 : Zones 내에 다른 존들을 포함할 수 있음

- Zone의 비전은 다수의 루트 노드들을 허용하는 것 (Top-level Zones)

 

 

< 다음주 세미나 내용 >

 

1) Openstack NOVA

2) Openstack Swift 구조, Ring, API

3) Openstack Glance 개념, 구조

5) Openstack Quantum 개념, 구조

6) Openstack Monitoring 구조 및 개념

7) Libvirt API – OpenStack

8) Jcloud – OpenStack

9) OCCI OpenStack ( Implementation details, How to use the OCCI interface )