Openstack

Openstack Glance란? (image)

Somaz 2022. 8. 8. 15:27
728x90
반응형

 

Overview

오늘은 OpenStack의 이미지 서비스인 Glance에 대해 학습하고 정리해보려고 한다.

 

출처 : https://kartaca.com/en/components-of-openstack/

 

 

 

📅 관련 글

2022.05.11 - [Openstack] - Openstack이란?

2022.07.29 - [Openstack] - Openstack Nova란?

2022.08.08 - [Openstack] - Openstack Neutron이란? (network)

2022.08.08 - [Openstack] - Openstack 배치 서비스 Placement란?

 

 

 

 


 

 

 

1️⃣ Glance란?

 

 

OpenStack Image Service (Glance) 개요

 

Glance는 OpenStack에서 이미지 관리 서비스를 제공하는 컴포넌트다.

사용자가 가상 머신(VM) 이미지를 업로드, 저장, 검색 및 관리할 수 있도록 지원한다.

 

 

Glance의 주요 기능

  • Instance(가상 머신) 생성에 필요한 OS 이미지를 관리
  • 다양한 이미지 포맷 지원 (RAW, QCOW2, VMDK 등)
  • 외부 스토리지(Swift, S3 등) 연동 가능
  • 이미지에 대한 메타데이터 저장 및 검색 지원

 

Glance는 OpenStack에서 IaaS(Infrastructure as a Service)의 핵심 요소로 동작하며, Nova와 연계하여 VM을 생성하는 데 필수적인 서비스이다.

 

 


 

 

 

 

2️⃣ Glance의 역할 및 기능

 

 

Glance의 역할

Glance는 OpenStack 내에서 이미지 관리의 중심 역할을 수행하며, 다음과 같은 기능을 제공한다.

 

 

✔ 이미지 저장 및 관리

  • OpenStack 환경에서 인스턴스 생성에 필요한 OS 이미지를 저장 및 관리
  • 로컬 디스크뿐만 아니라 Swift, S3, NFS 등 외부 스토리지 연동 가능

✔ 이미지 포맷 변환 및 제공

  • RAW, QCOW2, VMDK 등 다양한 이미지 포맷을 지원
  • Nova 요청 시 적절한 포맷으로 변환하여 제공

✔ 메타데이터 저장 및 검색

  • 각 이미지에 대한 이름, 크기, 포맷, 체크섬 정보 등의 메타데이터 저장
  • Glance API를 통해 이미지 검색 및 필터링 가능

✔ 이미지 공유 및 복제

  • 동일 OpenStack 프로젝트 내에서 이미지 공유 가능
  • 필요 시 다른 프로젝트나 클라우드 환경으로 복제 지원

 

 

 


 

 

 

 

 

 

3️⃣ Glance에서 지원하는 이미지 포맷

Glance는 다양한 이미지 포맷을 지원하며, 크게 디스크 포맷과 컨테이너 포맷으로 나뉜다.

 

디스크 포맷

디스크 포맷은 VM의 운영체제 및 데이터 디스크를 저장하는 방식이다.

 

포맷 설명
RAW 변환 없이 가장 기본적인 이미지 포맷 (용량이 크지만 빠름)
QCOW2 QEMU 기반 가상화 포맷 (스냅샷 및 압축 지원)
VHD Microsoft Hyper-V에서 사용하는 포맷
VMDK VMware 가상 머신에서 사용하는 포맷
VDI VirtualBox에서 사용하는 포맷
ISO CD/DVD 이미지를 나타내는 포맷

 

컨테이너 포맷

 

컨테이너 포맷은 디스크 이미지를 포함하는 방식이다.

포맷 설명
bare 컨테이너 없이 디스크 이미지만 제공
OVF 가상 머신 배포를 위한 표준 컨테이너 포맷
Docker Docker 컨테이너 이미지 포맷
  • 📌 Glance는 다양한 환경에서 활용될 수 있도록 여러 포맷을 지원하며, 필요에 따라 변환하여 제공한다.

 

 

 

 


 

 

 

 

 

4️⃣ Glance의 주요 구성 요소

 

1) Glance API

  • Glance의 핵심 서비스로, 이미지 저장, 검색 및 관리 기능을 제공
  • 사용자가 REST API를 통해 이미지 업로드, 다운로드 및 삭제 요청 가능
  • 내부적으로 Glance Registry 및 스토리지 서비스(Swift, S3 등)와 연계하여 동작
# Glance에서 사용 가능한 이미지 목록 조회
openstack image list

 

2) Glance Registry

  • 이미지의 메타데이터를 저장, 검색 및 관리하는 역할
  • 실제 이미지 데이터는 저장하지 않으며, 이름, 크기, 포맷, 체크섬 정보 등의 메타데이터만 관리
  • 외부로 직접 노출되지 않으며, Glance API를 통해서만 접근 가능
# 특정 이미지의 메타데이터 조회
openstack image show <image_id>

 

3) Database

  • Glance의 메타데이터 저장소 역할을 담당
  • 이미지의 위치, 사용 가능 여부 및 기타 정보를 저장
  • 삭제된 이미지의 메타데이터도 남아 있어 로그 역할을 수행
# Glance DB에서 이미지 목록 조회 (MariaDB/MySQL 사용 시)
mysql -u root -p
USE glance;
SELECT * FROM images;

  • 실제 이미지 데이터는 스토리지에 저장되며, Database에는 메타데이터만 관리된다.

 

 

 

 


 

 

 

 

 

 

5️⃣ Glance의 이미지 저장소 옵션

Glance는 다양한 스토리지 백엔드를 지원하여, 필요에 따라 선택적으로 활용할 수 있다.

 

스토리지 옵션 설명
File System (Local) 컨트롤러 노드의 로컬 디스크에 저장 (기본 옵션)
Swift OpenStack Object Storage(Swift)와 연동하여 이미지 저장
Amazon S3 AWS S3와 연동하여 외부 저장소 활용
NFS 외부 NAS(Network Attached Storage) 시스템 사용
  • 대규모 OpenStack 환경에서는 보통 Swift나 S3 같은 분산 스토리지를 활용하여 확장성을 극대화한다.

 

 

 

 


 

 

 

 

 

 

6️⃣ Glance의 동작 과정

Glance는 Nova와 함께 인스턴스 배포 과정에서 중요한 역할을 수행한다.

 

 

인스턴스 생성 과정에서 Glance의 역할

 

 

사용자가 Glance에 이미지를 업로드

  • openstack image create 명령어 또는 대시보드를 통해 등록 가능

 

Nova가 인스턴스를 생성할 때 Glance에서 해당 이미지를 요청

  • Nova API가 Glance API를 호출하여 이미지 메타데이터 조회
  • Glance는 요청된 이미지의 URL 및 정보를 반환

Nova-compute가 Glance에서 이미지를 다운로드하여 인스턴스를 배포

  • Nova-compute가 이미지 파일을 로컬 디렉토리로 가져옴
  • KVM, QEMU 등의 하이퍼바이저를 통해 인스턴스를 부팅

 

인스턴스 부팅 완료 후, Nova는 Placement 및 Neutron과 연계하여 네트워크 및 자원 할당

  • VM이 정상적으로 네트워크에 연결되고, 실행 상태 유지

 

 

 

 


 

 

 

 

7️⃣ Glance 활용 예제

 

1) Glance를 활용한 이미지 업로드

openstack image create "Ubuntu 20.04" \\
  --file ubuntu-20.04.qcow2 \\
  --disk-format qcow2 \\
  --container-format bare \\
  --public

 

2) 저장된 이미지 목록 조회

openstack image list

 

3) 특정 이미지의 메타데이터 조회

openstack image show <image_id>

 

 

 

 

 


 

 

 

 

결론

Glance는 OpenStack에서 이미지 저장 및 관리를 담당하는 필수 서비스이다.

  • ✔ 다양한 포맷의 VM 이미지를 저장하고 관리
  • ✔ Nova와 연계하여 가상 머신 인스턴스에 필요한 이미지를 제공
  • ✔ Swift, S3, NFS 등과 연동하여 확장 가능
  • ✔ 메타데이터를 활용하여 이미지 검색 및 관리 가능
  • 📌 Glance를 효과적으로 활용하려면?
  • ✔ REST API 및 CLI 명령어를 활용한 이미지 관리 방법 숙지
  • ✔ Nova 및 스토리지 백엔드(Swift, S3)와의 연계를 이해
  • ✔ 이미지 포맷 및 컨테이너 포맷의 차이점을 명확히 알고 있어야 함

 

 

 

 

 


 

Reference

https://wiki.openstack.org/

https://www.openstack.org/

 

728x90
반응형

'Openstack' 카테고리의 다른 글

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