위로
아래
OpenStack
OpenStack (오픈스택)
- 프라이빗 클라우드를 구축하기 위한 오픈 소스 소프트웨어의 집합
- 설치 위치 : 고객의 자체 데이터 센터 (On-Premise)
- Linux 서버 위에 여러 독립적인 소프트웨어(Nova, Keystone, Cinder 등)을 설치하여 만듬
- 오픈소스
- 비영리 기관인 OpenStack재단에서 관리 (https://www.openstack.org/)
오픈스택 구조
물리적 구성

- 컨트롤러 노드
- 오픈스택 환경의 구성을 관리
- 컴퓨트 노드
- 파이퍼바이저 역할을 수행 (인스턴스 동작)
- 컴퓨터 노드의 성능이 좋으면 VM을 고성능으로 더 많이 만들 수 있다
- 네트워크 노드
- 네트워크 구성/관리 기능 제공
- 스토리지 노드
- 오픈스택 환경에서 사용할 스토리지 제공
코어 컴포넌트 (핵심 서비스)

- Nova (컴퓨팅 서비스)
- 인스턴스(VM)을 관리해주는 서비스
- 컨트롤러 노드와 컴퓨트 노드에 설치
- libvirt 서비스에게 수행해야할 동작을 알리는 역할
- Glance (이미지 관리 서비스)
- ova 파일 같은 개념
- 이미지를 생성/삭제 등의 관리 및 요청에 따라 작업 수행
- 가상머신의 디스크 파일 수정 등
- Neutron (네트워크 관리 서비스)
- SDN과 NFV를 이용해 네트워크를 동적 구성/관리하는 서비스
- NetworkManager와 충돌할 가능성 있음
- Cinder (블록 스토리지 서비스)
- iscsi처럼 볼륨이라는 형식을 이용해 저장공간을 인스턴스(VM)에 직접 연결하여 사용
- Swift (오브젝트 스토리지 서비스)
- 필요할 때 어디서나 접근할 수 있도록 API/URL을 이용하여 네트워크로 접근해 사용할 수 있도록 서비스 제공
- 따로 파티셔닝하고 마운트할 필요가 없다
- Keystone (인증서비스)
- 사용자에 대한 인증 및 접근 한을 확인하는 역할
- 엔드포인트 관리
옵션 컴포넌트 (사용 가능한 서비스들)

- Horizon : 대시보드 서비스
- 관리자 및 사용자가 사용할 수 있는 웹 GUI 환경을 제공
- 컨트롤러 노드에 설치
- 기본적인 핵심 서비스는 설치되어 있고 추가적인 서비스는 별도의 패키지로 설치
- Manila : 공유 파일 시스템 서비스
- 영구저장, 인스턴스에 연결해서 사용 (다중 사용)
- 필수는 아니다
- Heat : 오케스트레이션 서비스
- 오픈스택의 각 리소스들을 세트로 정적/동적 스케일링 작업을 지원
- 만들고 지우고 늘리고 하는 오케스트레이션 작업
- 각종 리소스들 여러 개를 동시에 관리
- Ceilometer : 텔레메트리 사용량 측정 서비스
- 사용자가 사용하는 리소스의 사용량을 모니터링/기록
- Ironic : 베어메탈 배포 서비스
- 운영체제가 설치되어 있지 않은 환경에서 네트워크로 설치 가능한 서비스만으로 오픈스택을 배포할 수 있게 해줌
- 컨트롤러, 컴퓨트, 네트워크, 스토리지 노드를 직접 설치
- Zaqar : 메세지큐 구성 서비스
- Magnum : 컨테이너 관리 서비스
- Trove : 데이터베이스 서비스
- Sahara : 빅데이터 처리 서비스
Nova 매커니즘

- nova-api
- 사용자 요청을 수신하고, RESTful 방식으로 API 요청을 처리
- 인스턴스 생성 및 삭제 등의 요청을 받으면, 메시지 큐를 통해 다른 Nova 컴포넌트에 전달
- nova-scheduler
- 가상 머신 인스턴스를 어느 컴퓨트 노드에 실행할지 결정하는 역할
- 호스트의 자원 상태 (CPU, 메모리 등)를 고려하여 인스턴스를 최적의 위치에 배치
- nova-compute
- 실제로 가상 머신 인스턴스를 생성하고 관리하는 역할
- 요청을 수신하고, 하이퍼바이저(KVM, QEMU, VMWare 등)와 상호작용하여 가상 머신을 생성하는 등의 작업 수행
- nova-conductor
- 컴퓨트 노드와 데이터베이스 간의 직접적인 통신을 중개하는 역할
- 보안 및 확장성 문제를 해결하기 위해 nova-compute가 직접 데이터베이스에 접근하지 않고, nova-conductor를 통해 요청을 처리
- message-queue
- RabbitMQ와 같은 메시지 큐를 사용하여 구성 요소 간에 메시지를 전달
- DB
- Nova의 모든 상태 정보가 저장되는 데이터베이스
참고 : https://velog.io/@dlwpdlf147/OpenStack-%EC%98%A4%ED%94%88%EC%8A%A4%ED%83%9D%EC%9D%B4%EB%9E%80
[OpenStack] 오픈스택이란
10년을 이어온 오픈소스 프로젝트, Cloud OS
velog.io
OpenStack 컴퓨팅 서비스 이해하기: 기초편
[kt cloud CloudSW운영팀 김호균 님] OpenStack 컴퓨팅 서비스 이해하기: 기초편 kt cloud는 네트워크, 스토리지, 컴퓨팅 자원 등을 제공하는 인프라 서비스(IaaS)를 제공하고 있습니다. 이러한 IaaS 서비스
tech.ktcloud.com