2013. 10. 23. 21:16ㆍCloud/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 )