32. 블록/파일/오브젝트 스토리지

핵심 인사이트 (3줄 요약)

  1. 본질: 블록 스토리지(Block Storage)는 데이터를固定 크기 블록으로 분할하여 저장하며 низ 지연 시간과 높은 IOPS에 최적화된 스토리지이다. 파일 스토리지(File Storage)는 파일과 디렉터리 계층 구조로 데이터를 관리하며 NFS/SMB 프로토콜을 사용한다. 오브젝트 스토리지(Object Storage)는 파일을 메타데이터와 함께 개체(오브젝트)로 저장하며 HTTP 기반 API로 접근하는 차세대 스토리지이다.
  2. 가치: 블록 스토리지는 데이터베이스, VM 디스크 등高性能이 필요한 시나리오에 적합하고, 파일 스토리지는 공유 파일 시스템이 필요한 기업 애플리케이션에 적합하며, 오브젝트 스토리지는 정적 콘텐츠, 백업, 아카이브, 데이터 레이크 등 대규모 비정형 데이터 저장에 최적이다.
  3. 융합: 현대 클라우드 환경에서는 세 가지 스토리지 유형이 독립적으로 사용되기보다, 애플리케이션 워크로드의 특성에 따라 조합되어 사용된다. 예를 들어, VM 부트 디스크에는 블록 스토리지, 공유 자료에는 파일 스토리지, 로그/미디어 파일에는 오브젝트 스토리지를 사용하는 것이다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

데이터 저장 방식의演进은 정보 기술의歴史と密接に関連している。初期のコンピュータシステムでは、데이터를 순차적으 로 접근하는 테이프(테이프)가 주류였으며, 이후磁盘(디스크)가 등장하여 임의 접근(Random Access)이 가능해졌다. 스토리지 기술은 이러한 기초 위에서 발전을 이어왔으며, 현재는 크게 블록 스토리지, 파일 스토리지, 오브젝트 스토리지의 세 가지 유형으로 분류된다. 각 유형은 서로 다른 접근 방식을 가지고 있으며, 각각 최적화된 사용 케이스가 있다.

클라우드 환경에서는 이 세 가지 스토리지 유형이 모두 제공되며, 각각 다른 가격대, 성능 특성, 사용 사례를 가진다. 블록 스토리지는 AWS EBS(Elastic Block Store), Azure Managed Disks, Google Cloud Persistent Disk 등으로 제공된다. 파일 스토리지는 AWS EFS(Elastic File System), Azure Files, Google Cloud Filestore 등으로 제공된다. 오브젝트 스토리지는 AWS S3(Simple Storage Service), Azure Blob Storage, Google Cloud Storage 등으로 제공된다.

다음은 세 가지 스토리지 유형의 차이를 개념적으로 보여주는 흐름도이다.

[세 가지 스토리지 유형 비교]
┌─────────────────────────────────────────────────────────────────┐
│                                                                  │
│  [블록 스토리지 (Block Storage)]                                  │
│  ┌───────────────────────────────────────────────────────────┐   │
│  │  물리적 디스크                                              │   │
│  │  ┌────┬────┬────┬────┬────┬────┬────┬────┐               │   │
│  │  │ 블1│ 블2│ 블3│ 블4│ 블5│ 블6│ 블7│ 블8│  ...          │   │
│  │  └────┴────┴────┴────┴────┴────┴────┴────┘               │   │
│  │    ▲      ▲           ▲                                   │   │
│  │    │      │           │                                   │   │
│  │  ┌────┬────┬────┐  ┌────┬────┐                           │   │
│  │  │파일A│파일B│파일C │  │파일D│                            │   │
│  │  └────┴────┴────┘  └────┴────┘                           │   │
│  │                                                            │   │
│  │  • 데이터가 블록(보통 4KB~1MB)로 분할 저장                  │   │
│  │  • 각 블록에 고유 식별자(Address) 부여                      │   │
│  │  • 프로토콜: iSCSI, Fibre Channel, AWS EBS                │   │
│  │  • 지연 시간:极低 (0.1~1ms)                                │   │
│  │  • IOPS: 极高                                              │   │
│  └───────────────────────────────────────────────────────────┘   │
│                                                                  │
│  [파일 스토리지 (File Storage)]                                    │
│  ┌───────────────────────────────────────────────────────────┐   │
│  │  /mnt/shared_storage (NFS 마운트)                           │   │
│  │  ├── projects/                                            │   │
│  │  │   ├── project_a/                                       │   │
│  │  │   │   ├── src/  (100개 파일)                          │   │
│  │  │   │   └── docs/  (50개 파일)                          │   │
│  │  │   └── project_b/                                       │   │
│  │  └── shared/                                              │   │
│  │      ├── templates/                                       │   │
│  │      └── data/                                            │   │
│  │                                                            │   │
│  │  • 계층적 디렉터리 구조                                    │   │
│  │  • 파일 단위 접근 (파일 이름, 경로로 指定)                  │   │
│  │  • 프로토콜: NFS, SMB/CIFS, AFP                           │   │
│  │  • 지연 시간: 低 (~1~10ms)                                │   │
│  │  • 공유 파일 시스템에 적합                                  │   │
│  └───────────────────────────────────────────────────────────┘   │
│                                                                  │
│  [오브젝트 스토리지 (Object Storage)]                              │
│  ┌───────────────────────────────────────────────────────────┐   │
│  │  ┌─────────────────────────────────────────────────────┐  │   │
│  │  │ 오브젝트 1                                          │  │   │
│  │  │ ┌─────────┐  ┌─────────┐  ┌─────────┐              │  │   │
│  │  │ │ 메타데이터 │ │  데이타   │ │ ACL/Tags│              │  │   │
│  │  │ │ (헤더)   │ │( Payload)│ │(메타)   │              │  │   │
│  │  │ └─────────┘  └─────────┘  └─────────┘              │  │   │
│  │  └─────────────────────────────────────────────────────┘  │   │
│  │  ┌─────────────────────────────────────────────────────┐  │   │
│  │  │ 오브젝트 2                                          │  │   │
│  │  │ ...                                                 │  │   │
│  │  └─────────────────────────────────────────────────────┘  │   │
│  │                                                            │   │
│  │  • 플랫한 네임스페이스 (버킷/오브젝트 키)                  │   │
│  │  • HTTP REST API로 접근 (GET/PUT/DELETE)                  │   │
│  │  • 확장성: 이론적 무제한 (수 십억 개 오브젝트)              │   │
│  │  • 지연 시간: 中 (~10~100ms, 리전 간)                      │   │
│  └───────────────────────────────────────────────────────────┘   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

이 흐름도에서 핵심은 "데이터 접근 방식의 차이"이다. 블록 스토리지는 낮은 레벨의 스토리지 추상화이며, OS가 파일 시스템을 적용하여 파일로解釈한다. 파일 스토리지는アプリケーションが直接的なファイル 경로를 使用하여 데이터에 접근한다. 오브젝트 스토리지는 키-값(키 = 버킷 + 오브젝트 키) 방식으로 데이터에 접근하며, REST API를 통해 이루어진다.

📢 섹션 요약 비유: 세 가지 스토리지를library 비유로 설명할 수 있습니다. 블록 스토리지는library의 책장(디스크 자체)과 같습니다.서가(블록)를 직접 정리하고 어디에 무슨 책이 있는지管理하는 것은 운영체제의 역할입니다. 파일 스토리지는library의目录カードシステムに似ています. "/人文社会科学/심리학/2024년 연구집" 같은 경로로 책을 찾을 수 있습니다. 오브젝트 스토리지는 대형 창고의 물류 시스템에 비유할 수 있습니다. 각 물품에 RFID 태그를 붙여 데이터베이스로管理하며, 위치를 몰라도 ID로 찾을 수 있습니다.


Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)

세 가지 스토리지 유형은 각각 고유한 아키텍처와 작동 원리를 가진다. 블록 스토리지의 경우, 데이터는 고정 크기 블록으로 분할되어 저장되며, 각 블록은 고유한 식별자로 참조된다. 파일 시스템(예: ext4, NTFS, XFS)이 블록 위에 파일 추상화를 提供하고, OS는 블록 스토리지를 마치 로컬 디스크처럼 마운트하여 사용한다. iSCSI나 Fibre Channel과 같은 블록 프로토콜을 사용하면 네트워크를 통해 블록 스토리지에 접근할 수도 있다.

파일 스토리지의 경우, 데이터는 파일과 디렉터리라는階層적 구조로組織된다. NFS(Network File System) 서버가 파일 시스템 구조를管理하고, 클라이언트가 NFS 프로토콜을 통해 파일을 읽기/쓰기한다. SMB(Server Message Block)는 Windows 환경에서 사용되는 파일 공유 프로토콜이다. 파일 스토리지의 핵심 장점은 "동시 접근과 공유"이다. 여러 클라이언트가同一 파일 시스템에 동시에 마운트하여 파일을 공유할 수 있다.

오브젝트 스토리지의 경우, 데이터는 "오브젝트"라는 단위로 저장되며, 각 오브젝트는 데이터 자체와 메타데이터, 고유 식별자(키)로 구성된다. REST API(HTTP)를 통해 오브젝트를 생성/읽기/업데이트/삭제(CRUD)한다. 오브젝트 스토리지의 가장 큰 특징은 "메타데이터의 확장성"이다. 전통적 파일 시스템에서는 메타데이터(파일名, 크기, 생성일 등)가固定된スキーマ이지만, 오브젝트 스토리지에서는사용자 정의 메타데이터를 무제한으로 추가할 수 있다.

구분블록 스토리지파일 스토리지오브젝트 스토리지
데이터 단위블록 (4KB~1MB)파일오브젝트 (무제한)
접근 방식블록 주소 (LBA)파일 경로HTTP API (REST)
프로토콜iSCSI, FC, AWS EBSNFS, SMB, AFPS3, Azure Blob, GCS
지연 시간0.1~1ms (极低)1~10ms (低)10~100ms (中)
IOPS极高低 (대량 읽기/쓰기 최적)
동시 접근1:1 (独占)다:다 (공유)다:다 (,读 쓰기)
확장성제한적 (LUN 크기)제한적 (파일 시스템)이론적 무제한
메타데이터제한적제한적 (고정 스키마)무제한 (커스텀 태그)
비용높음 (GB당)낮음 (GB당)

오브젝트 스토리지의 작동 원리 중 핵심은 "버킷(Bucket)과 오브젝트 키"이다. 버킷은 오브젝트를格納するコンテナであり、全世界で一意な名前空间을形成한다. 오브젝트 키는 "projects/2024/report.pdf"와 같이 slash(/)를 경로처럼 사용하지만,實際에는 플랫한 키이다. 이 키를 통해 오브젝트를 유일하게識別한다. Amazon S3를例を挙げると, 엔드포인트 형식은 "https://bucket-name.s3.region.amazonaws.com/object-key"이다.

📢 섹션 요약 비유: 세 가지 스토리지 유형을邮政编码系统에 비유할 수 있습니다. 블록 스토리지는埋め立て 표면 아래의 기반(토대)에 비유할 수 있습니다.構造적으로 효율적이지만 무엇이 어디에 있는지 직접 파악하기 어렵습니다. 파일 스토리지는伝統的な住所 체계에 비유할 수 있습니다. "도, 시, 군구, 동, 번지"와 같은階層적 구조로 위치를 파악합니다. 오브젝트 스토리지는 GPS 좌표와 고유 ID에 비유할 수 있습니다. 어디에든 물건을둘 수 있고, ID만 알면 위치를 즉시 파악할 수 있습니다.


Ⅲ. 기술적 구현 및 실무 적용 (Technical Implementation)

각 스토리지 유형의 기술적 구현에는 다양한 옵션과 고려사항이 있다. 블록 스토리지의 경우, AWS EBS는 다양한 유형을 제공한다. SSD 기반의 gp3(범용 SSD)는 3,000 IOPS, 125MB/s throughput을 기본으로 제공하고, io2(프로비저닝된 IOPS SSD)는 99.999% 내구성을 보장하며 최대 64,000 IOPS를 지원한다. 대容量 데이터베이스에는 io2 Block Express(최대 256,000 IOPS)가 적합하다.

파일 스토리지의 경우, AWS EFS는 확장성 있는 NFS 파일 시스템을 제공한다. EFS Standard-IA(불baar하게アクセスされる)는 비용 절감형이며, EFS One Zone은 단일 가용 영역에 데이터를 저장하여 비용을 더욱 절감한다. 수백에서 수천 개의 EC2 인스턴스가 동시에 접근하는 시나리오에 적합하다.

오브젝트 스토리지의 구현에서 중요한 것은 "스토리지 클래스의 선택"이다. AWS S3를例를 들면 다음과 같이 다양한 스토리지 클래스가 있다.

[S3 스토리지 클래스 비교]
┌────────────────────────────────────────────────────────────────┐
│  자주 접근 (Active)                                             │
│  ┌──────────────────────────────────────────────────────────┐  │
│  │ S3 Standard                                              │  │
│  │ • 즉시 접근, 최소 3가용 영역 복제                          │  │
│  │ • 사용: 주요 데이터, frequentes 접근                       │  │
│  └──────────────────────────────────────────────────────────┘  │
│                                                                 │
│  덜 자주 접근 (Infrequent)                                      │
│  ┌─────────────────┐  ┌─────────────────┐                     │
│  │ S3 Intelligent  │  │ S3 Standard-IA  │                     │
│  │ (자동 최적화)    │  │ (즉시 접근, 저가)│                     │
│  └─────────────────┘  └─────────────────┘                     │
│                                                                 │
│  거의 접근 안 함 (Archive)                                       │
│  ┌─────────────────┐  ┌─────────────────┐  ┌───────────────┐  │
│  │ S3 Glacier      │  │ S3 Glacier     │  │ S3 Glacier   │  │
│  │ (즉시 검색)     │  │ Deep Archive   │  │ Outposts     │  │
│  │ (~수 분~수 시간) │  │ (~수 시간~수 일) │  │ (온프레미스)   │  │
│  └─────────────────┘  └─────────────────┘  └───────────────┘  │
│                                                                 │
│  비용: Standard > Intelligent > Standard-IA > Glacier > Deep    │
│  접근 속도: Standard > Intelligent > Standard-IA > Glacier > Deep│
└────────────────────────────────────────────────────────────────┘

오브젝트 스토리지의 고급 기능으로 "버저닝(Versioning)", "수명 주기 관리(Lifecycle)", "크로스 레플리카이션(Cross-Region Replication)"이 있다. 버저닝은 동일한 키로 덮어쓸 때 이전 버전을 보존하여, 실수로 인한 삭제나 데이터 손상을 방지한다. 수명 주기 관리는 설정된 규칙에 따라 자동으로 데이터를 저렴한 스토리지 클래스로 전환하거나 삭제한다. 크로스 레플리카이션은 다른 리전에 데이터를 실시간으로 복제하여 재해 복구(DR)를 보장한다.

📢 섹션 요약 비유: 스토리지 클래스의 선택은商品的 보관 방법에 비유할 수 있습니다. 잘 팔리는商品은 진열대에 두고 (S3 Standard), 덜 팔리는商品은 창고 뒤쪽에置き (S3 Standard-IA), 거의 안 팔리는商品은 외부 창고에 옮겨 비용을 절감합니다 (S3 Glacier). 자동으로 이러한 관리를 수행하면 인간의 노력을 절약할 수 있습니다.


Ⅳ. 장점, 단점 및 대안 비교 (Trade-offs & Alternatives)

블록 스토리지의 장점은 "높은 성능"이다. 가장 낮은 지연 시간과 가장 높은 IOPS를 제공하여 데이터베이스, VM 부트 디스크,高性能이 요구되는 애플리케이션에 필수적이다. 단점은 "확장성 제한"과 "고비용"이다. 볼륨 크기에上限이 있고, 일반적으로 GB당 단가가 높다. 또한 동시에 하나의 인스턴스에만 연결 가능하여(독점적) 공유 파일 시스템 용도로는 사용할 수 없다.

파일 스토리지의 장점은 "편리한 접근성"이다. 기존 파일 시스템 경로와 동일한 방식으로 접근할 수 있어 애플리케이션 수정 없이 사용 가능한다. 여러 인스턴스가 동시에 접근할 수 있어 공유 파일 시스템으로 적합하다. 단점은 "확장성 제한"과 "네트워크 지연"이다. 전통적 NFS는 파일 시스템 크기와 인스턴스 수에 제약이 있고, 네트워크를 경유하므로 블록 스토리지보다 지연 시간이 높다.

오브젝트 스토리지의 장점은 "무제한적 확장성"과 "낮은 비용"이다. 이론적으로 수십 억 개의 오브젝트와 페타바이트~엑사바이트 규모의 데이터를 저장할 수 있다. GB당 비용이 가장 낮아 대규모 데이터 저장소에 적합하다. 단점은 "높은 지연 시간"과 "수정 불가"이다. HTTP API를 사용하므로 블록/파일 스토리지보다 접근 지연이 높고, 한 번 저장된 오브젝트는部分的に修正할 수 없어 다시 전체를 덮어써야 한다.

구분블록 스토리지파일 스토리지오브젝트 스토리지
성능⭐⭐⭐⭐⭐ 최고⭐⭐⭐⭐ 높음⭐⭐⭐ 中 (대량 처리)
비용⭐⭐ 높음⭐⭐⭐ 中⭐⭐⭐⭐⭐ 최저
확장성⭐⭐ 제한적⭐⭐ 제한적⭐⭐⭐⭐⭐ 무제한
공유⭐⭐ 불가⭐⭐⭐⭐⭐ 가능⭐⭐⭐⭐⭐ 가능
API⭐⭐ 제한적⭐⭐⭐⭐ 文件 경로⭐⭐⭐⭐⭐ REST
메타데이터⭐⭐ 제한적⭐⭐⭐ 제한적⭐⭐⭐⭐⭐ 무제한

대안으로는 "스토리지 가상화(Storage Virtualization)"가 있다. 이는 블록, 파일, 오브젝트 스토리지를 하나의 통합 관리 레이어로抽象화하여, 애플리케이션 워크로드에 가장 적합한 스토리지 유형을自動的に選択하는 기술이다. 또한 "계층적 스토리지 관리(HSM)"도 대안이다. 자주 접근하는 데이터는高速 스토리지에, 덜 접근하는 데이터는低速 스토리지에 자동으로 이동시키는 것이다.

📢 섹션 요약 비유: 세 가지 스토리지 유형은交通수단과 비교할 수 있습니다. 블록 스토리지는 спортив카에 비유할 수 있습니다. 최고의 속도를 제공하지만 좌석이 하나뿐(독점적)이고, 연료 비용이 많이 듭니다(비용). 파일 스토리지는 대형 버스에 비유할 수 있습니다. 여러 명이 함께 이동할 수 있고(공유), 일반 도로를 사용하지만(표준 프로토콜) 속도는 상대적으로 느립니다. 오브젝트 스토리지는 화물 열차에 비유할 수 있습니다. 한 번에 엄청난 양의 화물을 옮길 수 있고(확장성) 비용이 저렴하지만, 목적지까지의 시간이 오래 걸립니다(지연).


Ⅴ. 핵심 요약 및 향후 전망 (Summary & Outlook)

블록 스토리지, 파일 스토리지, 오브젝트 스토리지는 각각 다른 접근 방식과 특성을 가진 세 가지 핵심 스토리지 유형이다. 블록 스토리지는最低 지연 시간과 최고 IOPS를 제공하여 데이터베이스와高性能 VM에 적합하고, 파일 스토리지는 표준 파일 시스템 인터페이스로 공유 데이터에 접근할 수 있게 하며, 오브젝트 스토리지는 이론적 무제한의 확장성과 lowest GB당 비용으로 대규모 데이터 저장에 적합하다.

현재 트렌드としては、스토리지 유형 간 경계가 모호해지고 있다. AWS EFS, Azure Files, Google Cloud Filestore 같은 관리형 파일 스토리지는 NFS/SMB 프로토콜을 제공하면서도 내부적으로 오브젝트 스토리지를 활용하여 확장성을 높이고 있다. 또한 "스토리지 분석(Storage Analytics)"과 "머신러닝 기반 데이터 분류"도 주목받고 있다. 이를 통해 데이터의 접근 빈도를 분석하여 자동으로 최적의 스토리지 클래스로 이동하는 것이 가능하다.

향후에는 "디스크리스(Diskless) 컴퓨팅"이 확산될 것으로 예상된다. 이는 모든 데이터가 오브젝트 스토리지에 저장되고, 컴퓨팅 인스턴스는 네트워크를 통해 데이터에 접근하는 모델이다. 로컬 블록 스토리지의 역할이 축소되고, 오브젝트 스토리지가 주류가 될 가능성도 있다. 또한 "NVMe-oF(NVMe over Fabrics)" 기술의 성숙으로, 네트워크를 통한 블록 스토리지 접근이 로컬 SSD에 버금가는 성능을 제공할 수 있게 되어, 블록 스토리지의 영역도 확대될 수 있다.

📢 섹션 요약 비유: 세 가지 스토리지 유형은물류 창고 시스템의進化과 같습니다. 과거에는 모든 물품을 작은 격자에 나눠 담았지만(블록),物品이 커지면 격자도 커져야 했습니다(스케일업 한계). 오늘날에는 격자だけでなく 서랍도두고(파일), 아예 컨테이너로 바꿔 필요할 때 창고 전체에서 찾습니다(오브젝트). 이제 물리적 보관함의 종류에 관계없이,컴퓨터가 알아서 가장 효율적인 방식으로 자료를保管하는 시대가 되었습니다.