클라우드/OpenStack

Introduction to Openstack

mini'scloud 2025. 6. 29. 16:19
  • Openstack은 데이터센터 전체에서 대규모 컴퓨팅 스토리지 및 네트워킹 리소스 풀을 제어하는 서비스형 인프라 플랫폼임
  • 모든 리소스는 대시보드를 통해 관리자가 제어하며, 동시에 사용자가 웹 인터페이스를 통해 리소스를 프로비저닝 할 수 있도록 권한을 부여함
    • 즉, 관리자와 사용자는 대시보드를 통해 오픈스택의 작업을 수행할 수 있음

Openstack APIs 부분과 연결된 OpenStack Dashboard를 통해 컨트롤을 수행함

  • 오픈스택은 public / private cloud를 위한 오픈소스 클라우드 컴퓨팅 플랫폼을 생산하도록 함
  • 확장성이 뛰어나고, 기능이 풍부함
  • 오픈스택은 데이터센터 내에 또는 여러 데이터센터에 걸친 hypervisor, storage 및 network device set을 모두 리소스 풀로 전환함
    • 즉, 여러 자원들을 하나로 묶어서 하나의 큰 resource pool 처럼 관리할 수 있게 해주는 플랫폼임
  • 오픈스택은 이미 데이터센터에 있는 모든 가상화된 것 위에 있는 제어 계층이라고 이해하면 됨
  • Openstack 컴퓨팅의 경우, hypervisor 관계없이 컴퓨팅 환경에 대한 동일한 추상화 및 orchestartion 계층 제어가 가능하도록 제공하고 있음

 

  • 조금 더 자세히 알아보자
  • openstack은 Bare Metal virtual machine과 컨테이너에서 모든 컴퓨팅, 네트워킹, 스토리지 리소스를 위한 다목적 플랫폼을 제공함
  • 오픈스택 프로젝트는 두가지 핵심 서비스와 선택 서비스(option service)로 논리적으로 나누어져 있음
    • 이렇게 구분하는 이유는 openstack 기반 클라우드의 아키텍처 및 배포 프로세스를 간소화하기 위해서임

Nova, Cinder,Neutron, Glance, Swift, Keystorne은 openstack에 가장 핵심 프로젝트이며, horizon 같은 option은 option service임

https://www.openstack.org/software/project-navigator/openstack-components#openstack-services

 

Open Source Cloud Computing Platform Software - OpenStack

OpenStack is a an open source cloud operating system managing compute, storage, and networking resources throughout a datacenter using APIs

www.openstack.org

  • 여기서 프로젝트의 status를 확인할 수 있음

  • 앞으로 살펴볼거를 다이어그램으로 나타낸거임
  • KeyStone (Identity Service)
    • OpenStack내에서 인증 및 권한을 부여 받게됨
    • 모든 사람들은 identity를 가지고 있어야 하며, 서로를 인증해야함
    • Keystone은 모든 서비스가 중앙 등록 지점(central register point)으로 등록되는 곳임
      • 즉, 서비스 및 사용자에게 catalog를 제공하여 openstack 서비스에 도달하는 방법을 알 수 있게 함
  • Glance (Image Service)
    • virtual machine disk의 이미지를 저장하고 검색을 수행함
    • openstack computing은 인스터는 프로비저닝 중에 이를 활용함
    • VM이 시작될려면 이미지가 필요함
      • 이미지를 미리 빌드하고 미리 glance로 로드해야 VM이 시작될 때 glance에서 이미지 사본을 가져갈 수 있음
      • 매번 설치하는 번거로운 과정을 줄일 수 있음
  • Neutron (Network Service)
    • 인스턴스 연결을 위해서는 네트워크가 필요함
    • Neutron은 오픈스택 네트워킹으로 가상 네트워크를 생성하고 가상 머신을 연결함
    • 또한, 다른 오픈스택 서비스를 위한 서비스로서의 네트워크 연결을 가능하게 함
    • 확장성이 매우 좋음
  • Nova (Compute Service)
    • 인증이 완료되면 이미지와 네트워크를 사용할 수 있게 되면 Nova가 개입함
    • Nova는 openstack 환경에서 컴퓨팅 인스턴스의 수명 주기를 관리함
    • VM의 launching, migration, pausing, resizing 등의 기능을 포함함
    • Nova는 하이퍼바이저 위에 있는 계층으로, 클라우드에 있는 모든 네트워크 스토리지와 컴퓨팅 리소스를 조정하는 역할을 함
      • 즉, hypervisor와 대화하며 리소스를 같이 조정하고 VM이 시작되도록 함
  • Cinder(Block storage)
    • cinder는 volume service임
    • cinder는 실행 중인 인스턴스에 영구 블록 스토리지를 제공함
    • 보통 VM은 임시 볼륨으로 부팅됨되기에 종료되면 VM내의 데이터가 손실됨
    • 종료시에도 해당 데이터를 유지하고 싶으면, 영구 블록 스토리지에 연결해 보존할 수 있음
    • 이 영구 블록 스토리지는 다른 인스턴스에 다시 연결해 사용할 수 있음
    • 이것은 공유 스토리지가 아님!!! 블록 스토리지이므로 볼륨과 인스턴스간에 1:1관계를 가짐
      • 공유 파일 시스템은 Manilla라는 별도의 공유 스토리지 프로젝트가 있음
  • Swift (Object Storage)
    • Mpeg4 비디오 파일과 같은 간단한 object를 저장하고 검색할 수 있도록 해줌
    • http기반 api를 사용하며 http get 및 put 명령어를 통해 객체와 메타데이터를 전달함
    • 위키피디아가 이런 예시임 (유연성, 확장성을 가지기에 전체 시스템을 object storage로 사용)
  • Horizon (Dashboard Service)
    • 인스턴스 시작, IP 주소 할당, 액세스 제어 구성 등 기본 오픈스택 서비스와 웹 기반 셀프 서비스 포털을 제공함

 

OpenStack Architecutre

Openstack Logical architecutre

  • 오픈스택은 여러 소프트웨어의 집합체임
    • 여러 소프트웨어가 모여 완전한 인프라 서비스를 제공할 수 있도록 함
  • 서비스 간의 통합은 공개 애플리케이션 프로그래밍 인터페이스를 통해 각 서비스가 제공되며, API를 통해 이루어짐
  • 구현자는  API를 통해 각 서비스를 사용할 수 있도록 한 서비스의 내부를 전환하거나 변경할 수도 있음
  • Nova를 예시로 한번 보면
  • Nova 서비스는 단일 엔티티이며, 별도의 API 프로세스가 있음
  • 이 API 프로세스는 API 요청을 수신하고 전처리한 후 Nova의 다른 부분으로 전달함
    • Nova API는 Neutron으로부터 요청을 받은 후 이 요청을 Nova Conductor와 다른 Nova 컴포넌트에 전달하가거나, 이 메시지 지 큐를 통해 계산을 수행함

 


  • 오픈스택을 사용하는 방법은 3가지임
  • Horizon 대시보드
  • The Command Line Interface
  • The API
$ curl -s -H "X-AUTH-Token: $OS_TOKEN" \
  $OS_COMPUTE_API/flavors \
  | python -m json.tool

'클라우드 > OpenStack' 카테고리의 다른 글

glance에서 keystone 서비스 연동  (0) 2025.07.19
Key Stone install & managment  (0) 2025.07.06
Openstack Installation  (0) 2025.07.06
Openstack Storage - Cinder/Manila/Ceph  (0) 2025.07.05
Openstack Storage-Swift  (0) 2025.07.05