스토리지

hi2li·2026년 4월 13일

1. 블록 스토리지

  • 데이터를 잘게 나눠서 저장
  • 디스크처럼 동작한다.
  • OS가 그 위에 파일 시스템을 만들어서 사용한다.
  • 매우 빠르다.
  • 기본적으로는 한 번에 하나의 서버, 노드만 쓸 수 있다. → 두 서버가 동시에 같은 디스크를 쓰면 충돌이 난다
  • 바로 사용할 수 없고
  • 예시
    • SSD/HDD
    • Amazon EBS

→  디스크만 줌

블록스토리지는 그냥 아무것도 없는 디스크 이기 떄문에 바로 사용하지 못한다.
반드시 초기작업(포맷팅, 마운트)이 필요하다.

  • 포맷팅 : 디스크에 파일 시스템 구조를 초기화해서 생성하는 과정 → 파일 저장할 수 있는 틀을 만듦

아래는 포맷팅시 발생하는 단계이다.

  1. 슈퍼블록 생성
  2. inode 테이블 생성
  3. 블록 그룹 구성
  4. 루트 디렉토리 생성 (/)
  5. 파일 시스템 메타데이터 초기화



디렉토리 트리

        /(루트경로)
      /   \
   home   var
    |
   user


마운트 = 파일 시스템을 OS의 디렉토리에 연결 하는 작업 → 마운트는 파일 시스템을 디렉토리 트리에 연결하여 접근 가능하게 만드는 작업이다.

  • 포맷팅만 진행하면 디스크에 파일시스템은 생성이 되지만, OS의 디렉토리 트리에 연결되지 않는다. (접근경로)
  • 마운트를 진행하면 “파일시스템과 경로가 연결이 된다”
  • 해당 경로로 이동하면 연결된 파일시스템에서 작업이 가능하게 된다.


2. 파일 스토리지

  • 데이터를 파일 + 폴더 구조로 저장
  • 일반적인 파일 시스템
  • 여러 서버가 동시 접근 가능하다
  • 예시
    • NAS
    • Amazon EFS

→ 디스크 뿐만 아니라 이미 파일 시스템까지 포함된 상태

→ 파일 시스템은 이미 있지만, OS의 디렉토리 트리에 “연결”되어 있지 않아서 마운트가 필요하다.



3. 오브젝트 스토리지

  • 데이터를 객체(파일+메타데이터)로 저장
  • 파일 시스템 없음
  • 클라우드에서 많이 사용하는 방식
  • 파일을 객체로 저장한다
  • 메타데이터를 포함하며 url, api로 접근한다.
  • 거의 무한대로 확장 가능하다.
  • 예시
    • amazon S3
  • 마운트라는 개념도 없다.
  • 디렉터리가 있는것처럼 보이지만 실제로는 모든 데이터가 같은 레벨에 존재한다.(flat구조)
    • "home/user/file.txt", "home/user2/test.png"이렇게 되어있어도 실제로는 문자열(key)일 뿐이다.
    • UI가 폴더처럼 보이게 만들어주는 것 뿐이다.


# 한 줄 정리

블록은 성능, 파일은 편의성, 오브젝트는 확장성과 클라우드에 최적화된 저장 방식이다.

profile
easy come , easy go

0개의 댓글