Openstack

Openstack이란?

Somaz 2022. 5. 11. 11:55
728x90
반응형

Overview

오늘은 openstack 무엇인지에 대해 공부하고 개념에 대해 정리해보려고 한다.

 

OpenStack 이란?

 

 

OpenStack은 풀링된 가상 리소스를 사용하여 프라이빗  퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼입니다.

 

OpenStack 플랫폼을 포함하는 툴, 일명 "프로젝트"는 컴퓨팅, 네트워킹, 스토리지, Identity 및 이미지 서비스의 핵심 클라우드 컴퓨팅 서비스를 처리합니다.

 

또한 수십 개 이상의 옵션 프로젝트를 번들로 묶어 배포 가능한 고유의 클라우드를 생성할 수도 있습니다.

 

서비스형 IaaS를 쉽게 구축할 수 있는 플랫폼으로, 관리자는 데이터센터의 프로세싱, 스토리지, 네트워킹 자원들을 대시보드를 통해 제어할 수 있고, 사용자는 웹을 통해 필요한 기능을 사용할 수 있다.

 


 

OpenStack 구성요소

 

프로젝트 명 서비스 내용  
Nova Compute Service

클라우드 IaaS (Infrastructure as a Service) 구축에 필요한 가상 컴퓨트 인스턴스들을 제어하고 관리하기 위한 서비스로, 오픈스택에서 가장 중요한 프로젝트.
AWS의 EC2와 호환된 API를 제공합니다.
 
Swift Storage Service

블락 스토리지(Block Storage)가 아닌 오브젝트 스토리지(Object Storage) 환경을 구축하고 관리하기 위한 서비스로, 오픈스택과 별개로 독립적 구축이 가능함.
AWS의 S3의 기능과 유사합니다.
 
Glance Imaging Service

가상 머신 이미지들을 저장/등록/관리/전달하기 위한 서비스로 Nova 와 스토리지 간 중계 역할을 담당.
RAW, QCOW, VMDK, VHD, ISO, OVF, AMI/AKI 이미지를 지원합니다.
 
Keystone 인증(Identity) 서비스

통합 인증 시스템으로 오픈스택 서비스들을 위한 ID 제공.
SQL, PAM, LDAP 등에 대한 backends를 제공합니다.
 
Horizon Administrative Web-Interface(UI) Service

오픈스택을 기반으로 구현된 서비스들을 관리자나 사용자가 제어하기 위한 웹 인터페이스 제공합니다.
 
Cinder Volume Service

오픈스택 인스턴스에서 Persistent Block 단위의 디바이스를 제공합니다.
AWS의 EBS와 유사한 서비스 입니다.
 
Heat Orchestration

템플릿 형태의 클라우드 자동화를 위한 인터페이스를 제공 합니다.
아마존 AWS의 CloudFormation과 유사항 기능을 제공합니다.
 
Ceilometer Telemetry

하이퍼바이저 레벨의 SMS정보와 같은 인스턴스 사용율에 대한 정보를 수집 및 제공합니다.
 
Neutron Networking

Software Defined Networking(SDN)의 프레임을 제공합니다.
오픈스택에서의 인스턴스 네트워킹을 위한 서비스 입니다.
 

 

왜 오픈스택을 ‘클라우드 운영체제’ 라고 부르는 것일까요?

이를 좀 더 쉽게 이해하기 위해 오픈스택에서 가장 중요한 3가지 코어 프로젝트들인 Nova, Glance, Swift 서비스들을 다음과 같이 일반 서버 컴퓨터와 비교해 보았습니다.

 


 

오픈스택과 서버 컴퓨터 간 비교 분석

OS 구성 요소 담당 역할 오픈스택 서비스  
Scheduler 서버의 자원 관리 Nova  
Server Virtualization 서버의 가상 머신(VM) 관리 Glance  
File System Object Filesystem으로 컨텐츠 저장 Swift  
User API 사용자 어플리케이션 접근 관리 Nova, Glance, Swift  

 

일반적으로 데이터센터 등에서 사용되는 서버를 활용하기 위해선 운영체제(OS)를 설치하여 사용하는데 그 운영체제(OS)에서 가장 중요한 부분이 바로 스케줄러와 사용자 API 라 할 수 있을 것 입니다. 운영체제는 기본적으로 해당 컴퓨터에서 실행되고 있는 모든 사용자 어플리케이션들이 자원 관리의 책임과 권한이 있는 스케줄러가 정의한 정책에 따라 공정하게 자원들을 접근할 수 있도록 관리하는 소프트웨어입니다.

클라우드 서비스를 구축하기 위한 실제 하드웨어 구성은 복잡하겠으나 클라우드 서비스를 사용하는 사용자(혹은 어플리케이션) 입장으로 보자면 하나의 커다란 서버 컴퓨터로 생각할 수 있고, 그러한 서버 컴퓨터를 동작시키기 위한 운영체제가 바로 오픈스택이라 보면 이해하는데 도움이 될 것 입니다.

먼저 운영체제(OS)의 가장 핵심인 스케줄러는 오픈스택에서 노바(Nova)가 담당하고 있습니다.

 


OpenStack 장단점

 

오픈스택의 장점

 

 

1. 오픈소스

 

라이선스 비용없이 무료로 사용이 가능한 오픈소스이다

 

2. 거대한 커뮤니티

 

많은 회사와 개발자들이 참여한 프로젝트로 지속적인 업데이트와 발전 가능성이 큰 프로젝트이다.

 

3. 다양한 하이퍼바이저 지원

 

ESXi, Hyper-V, KVM, Xen등 다양한 하이퍼바이저를 지원한다.

 

 

오픈스택의 단점

 

 

1. 시스템 구축의 어려움

 

오픈스택을 구축하기 위해서는 클라우드 관련 다양한 지식과 네트워크, 시스템 관련 많은 지식이 필요하다.

문제 발생 시 진단할 수 있는 API의 제공도 아직 부족하여 문제 해결의 어려움.

 

 

참고문헌

 

https://itguava.tistory.com/40?category=846530 

 

Stein 오픈스택 클라우드 서버 구축(1) - 개요 (update 2020.01.23)

b l o g p o s t 지난번 개인 오픈스택 클라우드 시스템 구축 프로젝트를 진행하던 도중 개인 사정으로 잠시 중단했는데 다시 시작합니다. 본 포스팅은 기존 Ocata 버전으로 구축을 진행하고자 하였

itguava.tistory.com

 

728x90
반응형

'Openstack' 카테고리의 다른 글

Openstack Keystone이란? (identity)  (0) 2022.08.08
Openstack Glance란? (image)  (0) 2022.08.08
Openstack 배치 서비스 Placement란?  (0) 2022.08.08
Openstack Neutron이란? (network)  (0) 2022.08.08
Openstack Nova란? (compute)  (0) 2022.07.29