Overview
오늘은 OpenStack Manila에 대해 알아보겠다.
OpenStack Manila는 SFaaS (Shared File System as a Service) 기능을 제공하여, OpenStack 환경에서 NFS, CIFS 등 공유 파일 시스템을 쉽게 사용할 수 있도록 지원하는 서비스이다.
📅 관련 글
2022.05.11 - [Openstack] - Openstack이란?
2022.07.29 - [Openstack] - Openstack Nova란?
2022.08.08 - [Openstack] - Openstack Neutron이란? (network)
2022.08.08 - [Openstack] - Openstack 배치 서비스 Placement란?
2022.08.08 - [Openstack] - Openstack Glance란? (image)
2022.08.08 - [Openstack] - Openstack Keystone이란? (identity)
2022.08.08 - [Openstack] - Openstack horizon이란? (dashboard)
2022.08.09 - [Openstack] - Openstack Cinder/Swift란? (block storage/object storage)
2025.02.27 - [Openstack] - OpenStack Heat란? (Orchestration)
2025.02.27 - [Openstack] - OpenStack Ceilometer란? (Telemetry & Monitoring)
2025.02.28 - [Openstack] - OpenStack Mistral이란? (Workflow Service)
2025.02.28 - [Openstack] - OpenStack Magnum이란? (Container Orchestration)
2025.02.28 - [Openstack] - OpenStack Kuryr이란? (Container Networking)
2025.02.28 - [Openstack] - OpenStack Zun이란? (Container as a Service - CaaS)
2025.02.27 - [Openstack] - OpenStack Octavia란? (Load Balancer as a Service - LBaaS)
2025.02.27 - [Openstack] - OpenStack Barbican란? (Key Management Service - KMS)
Manila란?
Manila는 OpenStack 환경에서 파일 공유 스토리지 서비스를 제공하는 컴포넌트이다.
기존 블록 스토리지(Cinder)나 객체 스토리지(Swift)와 달리, NFS, CIFS와 같은 파일 공유 프로토콜을 지원하여, 다수의 VM이나 컨테이너가 동시에 같은 스토리지를 공유할 수 있는 서비스이다.
Manila의 주요 특징
1️⃣ 다양한 파일 공유 프로토콜 지원
- NFS, CIFS(SMB), CEPHFS 등 다양한 프로토콜 지원
- Linux, Windows 등 다양한 OS 환경과 연동 가능
2️⃣ 멀티 테넌트 지원
- 각 프로젝트별로 공유 파일 시스템을 독립적으로 생성 및 관리
- ACL, Export 관리 기능 제공
3️⃣ 백엔드 스토리지 선택 가능
- NetApp, CephFS, GlusterFS, ZFS 등 다양한 스토리지 드라이버 지원
- OpenStack 환경 외부의 기존 스토리지와도 연동 가능
4️⃣ 동적 크기 조정 및 스냅샷 지원
- 공유 파일 시스템의 크기 증설/축소 가능
- 스냅샷 생성 및 복구 지원
5️⃣ REST API 및 CLI 지원
- `openstack share` 명령어를 통해 CLI 기반 관리 가능
- OpenStack API를 통해 외부 시스템과 연동도 가능
Manila의 아키텍처 구성
주요 컴포넌트
구성 요소 | 설명 |
Manila API | 사용자 요청을 처리하는 API 서비스 |
Manila Scheduler | 공유 파일 시스템을 적절한 백엔드에 할당 |
Manila Share | 실제 파일 공유 서비스를 제공하는 데몬 |
Storage Backend | NFS/CIFS/GlusterFS 등 실제 데이터 저장소 |
Manila 설정 및 사용 예시
1️⃣ 공유 파일 시스템 생성
openstack share create --share-type default --name myshare NFS 10
- `share-type`: 사용할 백엔드 타입 지정
- `NFS`: 공유 프로토콜 지정
- `10`: 초기 크기(GB)
2️⃣ 파일 공유 접근 권한 추가
openstack share access allow myshare ip 192.168.1.100
- 특정 IP에서만 접근 허용
3️⃣ 공유 리스트 확인
openstack share list
Manila vs. Cinder/Swift 비교
비교 항목 | Manila (SFaaS) | Cinder (Block) | Swift (Object) |
스토리지 타입 | 파일 공유 스토리지 | 블록 스토리지 | 객체 스토리지 |
대표 프로토콜 | NFS, CIFS, CephFS | iSCSI, RBD | HTTP(S) |
접근 방식 | 다수의 VM이 동시 마운트 | 1 VM 1 볼륨 | REST API 기반 데이터 접근 |
스냅샷 지원 | 지원 | 지원 | 지원 |
결론
- Manila는 OpenStack 환경에서 파일 공유 스토리지 서비스를 제공하는 핵심 컴포넌트로,
- 다양한 공유 프로토콜을 지원하며, 멀티 테넌트 환경에서도 유연하게 파일 공유를 구성할 수 있다.
- 주요 사용 사례:
- VM 간 데이터 공유가 필요한 경우
- Windows/Linux 환경에서 네이티브 파일 공유가 필요한 경우
- 외부 스토리지 연동을 통해 기존 파일 시스템 자원을 OpenStack에서 활용하고자 하는 경우
➡️ OpenStack Manila는 필수적인 선택이 될 수 있다.
Reference
'Openstack' 카테고리의 다른 글
OpenStack Trove란? (Database as a Service - DBaaS) (0) | 2025.05.15 |
---|---|
OpenStack Barbican란? (Key Management Service - KMS) (0) | 2025.04.27 |
OpenStack Octavia란? (Load Balancer as a Service - LBaaS) (0) | 2025.04.21 |
OpenStack Zun이란? (Container as a Service - CaaS) (0) | 2025.04.17 |
OpenStack Kuryr이란? (Container Networking) (0) | 2025.04.11 |