스토리지 개념
MASS는 스토리지를 2단계 계층으로 구성합니다:
VolumeGroup (논리 풀, 예: 총 10 TiB)
├── Volume A (예: 1 TiB, POSIX)
└── Volume B (예: 500 GiB, HDF5)
VolumeGroup
VolumeGroup은 하나 이상의 스토리지 노드에서 프로비저닝된 논리 스토리지 풀입니다. 총 용량, 성능 프로파일, 데이터 보호 설정을 정의합니다.
프로파일
| 프로파일 | 사용 사례 |
|---|---|
Standard | 범용 워크로드 |
Performance | 지연 시간이 짧은 메타데이터 집약적 워크로드 (ML/AI 학습) |
Archive | 대용량 순차 워크로드에 최적화된 비용 효율적 스토리지 |
데이터 보호
VolumeGroup 생성 시 다음 세 가지 보호 모드 중 하나를 선택합니다:
- Single Copy: 이중화 없음. 데이터 손실이 허용되는 임시 또는 스크래치 워크로드에 적합합니다.
- Replicated: 모든 데이터를 여러 노드에 복제하여 유지합니다. 설정이 단순하지만 스토리지 오버헤드가 높습니다.
- Erasure Coded: 데이터를 구성 가능한 패리티 샤드로 분할합니다 (예: 8+2 = 20% 오버헤드로 2개 장애 허용). 대용량 데이터셋에 가장 용량 효율적입니다.
DeletionPolicy
Retain(기본값): VolumeGroup을 삭제해도 기본 데이터가 보존됩니다. 동일한 레이블로 VolumeGroup을 다시 생성하면 재연결됩니다.Delete: VolumeGroup을 삭제하면 모든 데이터가 영구적으로 삭제됩니다.
Volume
Volume은 VolumeGroup 내의 명명된 데이터 컨테이너입니다.
Ready 페이즈에 도달한 후 클라이언트가 Volume을 마운트하거나 접근할 수 있습니다.
Volume 타입
| 타입 | 클라이언트 인터페이스 | 일반적인 워크로드 |
|---|---|---|
POSIX | FUSE 파일시스템 마운트 | 일반 파일시스템 접근, AI/ML 데이터셋 |
HDF5 | 네이티브 HDF5 접근 | HDF5 형식의 과학 데이터 |
MPIIO | 네이티브 MPI-IO 접근 | HPC 시뮬레이션 출력 |
PYTHON | Python 클라이언트 라이브러리 | Python 데이터 파이프라인 |
스냅샷
Volume은 특정 시점의 스냅샷을 지원합니다. 스냅샷은 다음과 같이 생성할 수 있습니다:
- 수동: 대시보드 또는 API를 통해 필요에 따라 생성
- 자동: Volume 스펙의
snapshotPolicy