Engineering/etc.

공유 스토리지 기술 정리

mutjang2 2026. 7. 24. 16:49

공유 스토리지 기술은 큰 관점에서 데이터에 대한 접근 방식과 구현 아키텍처에 따라 분류할 수 있다.

 

 

1. 데이터 접근 방식에 따른 분류 (SAN vs NAS vs Object)

데이터를 어떤 형태로 넘겨주는지(프로토콜)에 따른 분류

 

  • SAN(Storage Area Network)

데이터를 블록 단위로 처리하며 호스트에게 스토리지를 물리 디스크로 인식 시킨다

주요 프로토콜: FC, iSCSI

특징: 오버헤드가 없어서 I/O가 매우 빠르고 latency가 낮음. 원하는 파일 시스템을 선택 가능함

단점: 공유 스토리지 활성화를 위해서 물리적인 연결이 필요하며, 데이터 무결성을 위한 클러스터 파일시스템이 필요함

사용처: RDB, 서버 디스크

 

  • NAS(Network Attached Storage)

스토리지 장비자체 파일시스템을 가지고 있으며, 네트워크를 이용한 공유 디렉토리 형태로 구현

주요 프로토콜: NFS

특징: 기존 인프라를 그대로 이용하므로 구축 비용 최소화

단점: 네트워크 환경과 오버헤드로 인한 I/O 및 지연율 성능이 상대적으로 떨어짐

사용처: 기업 파일 서버, 웹 서버 공유 업로드 폴더 등

 

  • Object Storage

데이터를 메타데이터 + UID + 데이터 형태로 묶어서 하나의 객체 형태로 flat한 구조에 저장

주요 프로토콜: RESTful API(HTTP 기반, AWS S3 API 표준 등)

특징: 서버에 디스크 마운트 형식이 아닌 HTTP web API로 데이터를 주고 받음. Scale-out에 용이

단점: 데이터 수정 시 파일 전체를 다시 써야하므로 Random I/O 성능이 떨어짐

사용처: 미디어 파일 저장, 대규모 정적 파일 배포, 로그 보관 및 대용량 백업 archive

 


 

2. 구현 아키텍처에 따른 분류 (하드웨어 SAN/NAS vs 분산/SDS)

최근 기술 동향은 하드웨어 기반 전통 스토리지에서 소프트웨어 정의 스토리지(SDS)로의 전환이 활발하다

 

  • 전통 하드웨어 기반

Dell, HPE 등 하드웨어 제조사에 의존하는 형태. 컨트롤러 및 파워 서플라이 등이 이중화 되어 있어 신뢰성이 높고 고성능이지만, 비싸고 벤더에 대한 종속성이 높음

 

  • 분산 SDS(Software Defined Storage)

일반적인 범용 서버에 탑재된 디스크를 소프트웨어와 네트워크적으로 묶어서 하나의 거대한 공유 스토리지로 구현한 형태. Scale-out과 HA가 자유로움. 그러나 관리가 복잡하고 네트워크 비용이 발생

 


3. SDS의 종류

SDS 안에서도 아키텍처와 용도에 따라 분류할 수 있다.

 

  • 통합형 분산 스토리지

가장 대세이며, 단일 클러스터에서 블록, 파일, 객체 스토리지를 모두 제공할 수 있는 만능형 스토리지

대표 기술: Ceph

특징: 중앙 메타데이터 서버에 쿼리할 필요 없이 클라이언트가 직접 데이터 위치를 계산하여 병목을 없앰

단점: 초기 구성이 복잡하여 구축 및 관리가 어려움

 

  • 분산 파일 시스템

파일 공유를 분산 환경으로 확장하는 데에 초점을 맞춤

대표 기술: Glusterfs, Moosefs

특징: 리눅스 디렉토리 구조를 네트워크로 묶어서 거대한 하나의 볼륨으로 만듬. 설치와 구성이 쉽고 직관적임

단점: 대용량 데이터 처리 시에 파일 위치를 추적하는 메타데이터 처리에 심각한 병목 현상이 발생

 

  • 하이퍼컨퍼지드 인프라 스토리지

컴퓨팅 자원과 스토리지 자원을 분리하지 않고, 하이퍼바이저 커널 레벨에서 스토리지를 묶어버리는 기술

대표 기술: VMWare vSAN

특징: 별도의 스토리지 OS 설치가 필요없이 하이퍼바이저 자체에서 각 노드의 로컬 디스크를 묶어 공유 스토리지를 만듬

단점: 비용이 비싸고 벤더 종속성이 심함

 

  • 클라우드 네이티브 (컨테이너 전용) 스토리지

최근 쿠버네티스(Kubernetes)나 Docker swarm같은 컨테이너 오케스트레이션 환경에 맞춤 설계된 기술

특징: 스토리지 컨트롤러 자체가 컨테이너 형태로 배포되어 파드가 생성되고 소멸할 때마다 동적으로 볼륨을 할당하고 회수함

단점: Ceph나 vSAN 같은 전통적 SDS에 비해 대규모 I/O 처리 능력이 부족함