블록 스토리지(Block Storage)는 데이터를 고정된 크기의 블록(Block) 단위로 나누어 저장하는 방식의 스토리지 구조입니다. 각 블록은 고유한 주소를 가지고 있으며, 운영체제나 애플리케이션은 이 블록들을 조합하여 파일이나 데이터베이스 형태로 활용합니다.
🔷 블록 스토리지(Block Storage) 개념 정리
✅ 1. 기본 개념
- 데이터를 작은 블록 단위로 나누어 저장하는 스토리지 방식
- 각 블록은 독립적으로 관리되며, 파일 시스템을 구축해 사용하는 방식
- 서버에 디스크를 직접 연결한 것처럼 인식됨 (ex. /dev/sda1)
🔷 2. 특징
⭐ 고성능 I/O
- 데이터베이스, VM, 트랜잭션 처리처럼 랜덤 I/O가 많은 환경에 적합
⭐ 블록 단위 읽기/쓰기
- 개별 블록에 직접 접근 가능
- 특정 파일만 수정해도 전체 데이터를 다시 쓰지 않아도 됨
⭐ 파일 시스템 필요
- 블록 스토리지 자체는 파일 구조가 없기 때문에
서버 측에서 ext4, XFS 등 파일 시스템을 생성하여 사용
⭐ 네트워크를 통한 연결 가능
- iSCSI, NVMe-oF 등과 같은 프로토콜로 네트워크를 통해 연결
- 클라우드에서는 EBS (AWS), Persistent Disk (GCP), Elastic Block Storage(OCI) 등으로 제공
🔷 3. 장점
- 빠른 성능 (특히 SSD 기반)
- 지속적인 고성능 I/O를 요구하는 워크로드에 적합
- 서버가 독립적으로 파일 시스템 선택/구성 가능
- 스냅샷/백업 기능 제공 (클라우드)
🔷 4. 단점
- 여러 서버가 동시에 동일한 블록 스토리지를 쓰기 어렵다
→ 동시 쓰기 시 데이터 충돌 가능 - 파일 단위 공유가 필요하면 NAS/S3 등이 더 적합
🔷 5. 주요 사용 사례
| 사용 사례 | 이유 |
| 데이터베이스(MySQL, MariaDB, Oracle) | 높은 IOPS, 랜덤 I/O |
| 가상 머신 디스크(VMware, KVM) | OS 설치 및 운영에 적합 |
| 컨테이너의 영구 스토리지(PV/PVC) | 개별 POD에 고성능 저장공간 제공 |
| 트랜잭션이 많은 서비스 | 빠른 읽기/쓰기 필요 |
🔷 6. 블록 스토리지 vs 파일 스토리지 vs 오브젝트 스토리지
| 구분 | Block | File (NAS) | Object (S3) |
| 구조 | 블록 단위 | 디렉터리/파일 | 객체 단위 |
| 액세스 | OS가 직접 디스크처럼 접근 | 파일 공유 | REST API |
| 성능 | 가장 빠름 | 중간 | 느림 |
| 공유 | 일반적으로 단일 서버 | 여러 서버 | 인터넷 어디서나 |
| 사용 | DB, VM | 파일 서버 | 백업, 이미지 저장 |
