# Openstack 주요 서비스 2
---------------
1. quantum == network service
- VM (nova 가 생성한 instance) 에 networking 을 제공하는 서비스
- 이전에도 nova-network 모듈을 통해 flat network 은 구성이 가능하다(vLan)
- multi level 네트워크 는 안된다 (router, load balancer)
- 주요 기능
- overlayer L2 API 지원 : vxlan(NSX), gre(OVS)
- router API 지원
- load balancer API 지원
- flow :
- api > newtron API > newtron plugin > NSX, OVS, 기타 가상화 스위치
2. Neutron == network service, https://wiki.openstack.org/wiki/Neutron
- quantum 프로젝트의 이름 소송 문제로 프로젝트 이름을 바꿈
- package 는 q 로 시작한다 (nova 와 헷갈리는 것을 방지 하기 위해서)
- 구성
- server
- Queue
- ML2 (The Modular Layer 2) : plugin 의 표준화
- agent <-> provider
- type driver : The ml2 plugin currently includes drivers for the local, flat, vlan, gre and vxlan network types
- mechanism driver : The interface currently supports the creation, update, and deletion of network and port resources
- database
- 3node 기본 구성
http://naleejang.tistory.com/107
3. cinder == block storage service
- VM 에 외부 volume 을 제공해주는 서비스, https://wiki.openstack.org/wiki/Cinder
- VM 과 독립적인 life cycle 을 가진다 (VM 에 별도로 attach, detach 한다)
- 블럭 스토리지 란?
- 블럭 단위로 저장하는 저장소 (iSCSI (openstack의 defualt), FC ...)
- VM 에 attach 하거나 detach 할수 있다 (VM 에 대한 하드디스크)
- detach 조건은 mount 되지 않은 상태 일때
- cinder 이전에는?
- Diablo 버전에서 nova api 의 extension (nova-volume api)으로 시작함 > cinder 등장 이후 nova volume api deprecated 됨
- Cinder hypervisor support matrix
- 가상화 지원하는 업체별로 기능을 지원해주는 정도에 차이가 있다
- https://wiki.openstack.org/wiki/CinderSupportMatrix
- 호리즌 메뉴에서는 nova > volume 에서 동작한다
- 빈 volume 으로 생성 하거나 img 포함한 볼륨(glance에서 받아온다)
4. Heat == orchestration service
- 쉽게 인프라를 배포할 수 있도록 지원하는 템플릿 기반 서비스(가장 마지막 설치), https://wiki.openstack.org/wiki/Heat
- flavor 란 : VM 의 profile (CPU, Memory, Disk 를 규격화 한 템플릿)
- 오케스트레이션에서 사용되는 템플릿 언어는 인프라뿐만 아니라 서비스 및 응용 프로그램의 전체 프로비저닝을 자동화하고, 컴퓨팅, 스토리지 및 네트워킹 구성뿐만 아니라 배포 후 작업을 지정할 수 있다
- Heat 컴포넌트
- Heat-api : RPC Heat 엔진에 전송하여 요청된 API를 처리하는 REST API 를 제공
- Heat-api-cfn : backend 서비스(AWS CloudFormation, etc) API 를 호환
- Heat-engine : 템플릿을 생성하고, 주 작업을 수행
5. Ceilometer == telemetry service
- 자원의 사용량 및 성능을 측정하여 사용자가 자원의 상태를 모니터링 할 수 있는 기능, https://wiki.openstack.org/wiki/Telemetry
- 사용자에게 Openstack 에서 생기는 모든 task 에 대한 logging , 퍼포먼스 정보를 전달
- flow
- ceilometer-agent-compute : 각각의 컴퓨팅 노드에 설치되어 실행되며, 자원 활용 통계로 사용됩니다.
- ceilometer-agent-central :
- 중앙 관리 서버에서 실행
- 인스턴스에 연결되지 않은 자원이나 컴퓨트 노드에 대한 활용 가능 자원 통계를 폴링
- ceilometer-collector :
- 중앙 관리 서버에서 실행
- 메시지 큐(에이전트에서 오는 미터링 데이터에 대한 알림)를 모니터링
- ceilometer-alarm-notifier : 하나 이상의 중앙 관리 서버에서 실행되며, 샘플 수집을 위한 임계 값의 평가에 따라 알람을 설정
- 데이터 저장소 : 데이터베이스 동시 처리능력을 읽고 저장
- ceilometer-api : 하나 이상의 중앙 관리 서버에서 실행되며 데이터 저장소로부터의 데이터 액세스를 제공
6. Trove == database service
- 관계형 데이터베이스의 기능을 활용 할 수 있도록 지원
- flow
- Python-troveclient : 커맨드 라인 방식의 Trove API를 실행
- Trove-api : RESTful방식의 JSON을 지원, Trove 인스턴스 관리 및 프로비저닝
- Trove-conductor : 호스트에서 실행되는 서비스로 호스트의 정보를 업데이트할 경우 게스트 인스턴스 메시지를 수신
- Trove-taskmanager : 인스턴스 관련 task 관리 (프로비저닝, lifecycle, etc)
- Trove-guestagent : 게스트 인스턴스 내에서 실행, 데이터베이스 작업을 실행 및 관리
참고
http://naleejang.tistory.com/110
'Cloud > Openstack' 카테고리의 다른 글
Openstack 아키텍쳐 (0) | 2016.08.16 |
---|---|
Openstack 주요 서비스 1 (0) | 2016.08.16 |
Openstack is (0) | 2016.08.16 |