OpenStack을 공부하다 보면 “스토리지가 왜 이렇게 종류가 많지?” 싶어집니다. Cinder, Glance, Swift — 이름은 다르지만 역할이 명확히 갈립니다. 세 가지를 한 번에 정리하면 프라이빗 클라우드의 스토리지 그림이 잡힙니다.
1. 세 가지 스토리지, 역할이 다르다
| 서비스 | 유형 | 역할 | 비유 |
|---|---|---|---|
| Glance | 이미지 | OS 템플릿 저장소 | 설치 ISO 창고 |
| Cinder | 블록 | 인스턴스에 붙이는 디스크 | 외장 SSD |
| Swift | 오브젝트 | 파일·백업 저장(HTTP) | 구글 드라이브/S3 |
핵심은 “블록 vs 오브젝트”의 차이입니다. 이걸 이해하면 클라우드 스토리지 전체가 보입니다.
2. 블록 스토리지(Cinder) — 디스크처럼
Cinder는 인스턴스에 “디스크”를 붙였다 뗐다 하게 해줍니다. OS 입장에선 그냥 /dev/vdb 같은 블록 디바이스라, 포맷하고 마운트해서 씁니다.
- 인스턴스를 지워도 볼륨은 남길 수 있음(데이터 보존)
- 스냅샷·복제 가능
- DB·앱 데이터처럼 빠른 읽기/쓰기가 필요한 곳에
홈랩 랩에서 Cinder 백엔드는 보통 LVM(간단) 또는 Ceph(분산)로 붙입니다. 학습이면 LVM으로 시작하는 게 쉽습니다.
3. 오브젝트 스토리지(Swift) — 파일을 HTTP로
Swift는 디스크가 아니라 “파일 하나하나를 HTTP API로” 저장합니다. AWS S3와 같은 개념이죠.
- 마운트하는 게 아니라 API로 업로드/다운로드
- 사진·백업·로그처럼 대량·비정형 데이터에 적합
- 수평 확장·복제로 내구성이 강함
즉 “디스크가 필요하면 Cinder, 파일 보관소가 필요하면 Swift”입니다.
4. 이미지 저장소(Glance) — 인스턴스의 출발점
Glance는 인스턴스를 만들 때 쓰는 OS 이미지를 보관합니다. 우리가 Proxmox cloud-init 템플릿을 만들어 두는 것과 정확히 같은 개념입니다 — 미리 준비된 이미지에서 인스턴스를 찍어내는 거죠.
Glance(이미지) → Nova가 가져와 인스턴스 부팅 → 필요시 Cinder 볼륨 붙임
5. 언제 무엇을
| 필요 | 선택 |
|---|---|
| 인스턴스에 추가 디스크 | Cinder(블록) |
| 사진·백업·대량 파일 보관 | Swift(오브젝트) |
| OS 템플릿 관리 | Glance(이미지) |
6. 정리
OpenStack 스토리지는 Glance(이미지)로 시작 → Cinder(블록)로 디스크 확장 → Swift(오브젝트)로 파일 보관, 이 세 축이 전부입니다. “블록은 디스크처럼, 오브젝트는 드라이브처럼”만 기억하면 헷갈릴 일이 없습니다. 홈랩 랩에선 Glance + Cinder(LVM)부터 붙여보는 걸 권합니다.