Skip to content

SeaweedFS

SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding.

  • 단순하고 확장성이 뛰어난 분산 파일 시스템
  • 목표는 수십억 개의 파일을 저장하고 빠르게 제공하는 것
  • Facebook의 Haystack 디자인과 f4: Facebook의 Warm BLOB 저장 시스템에서 아이디어를 얻어 구현됨
  • Blob 저장소는 O(1) 디스크 검색 과 클라우드 계층화 기능이 있음
  • Filer는 디렉토리와 POSIX 속성을 지원하며, 클라우드 드라이브, DC 간 액티브-액티브 복제, Kubernetes, POSIX FUSE 마운트, S3 API, S3 게이트웨이, Hadoop, WebDAV, 암호화, 이레이저 코딩 기능등을 포함

Demo

docker run -it --rm -p 7333:7333 -p 8333:8333 chrislusf/seaweedfs server -s3 -webdav
  • s3 는 localhost:8333
  • webdav 는 localhost:7333

기능

  • 복제 수준, 랙 및 데이터 센터 인식 등 다양한 복제 옵션 제공.
  • 마스터 서버 자동 장애 전환으로 단일 실패 지점 없음.
  • 파일 MIME 유형에 따른 자동 Gzip 압축 지원.
  • 데이터 삭제 또는 업데이트 후 디스크 공간 회수를 위한 자동 압축.
  • 서버 추가로 총 저장 공간 증가 가능.
  • 서버 추가/제거 시 데이터 재균형 없음, 관리자 명령에 의해서만 트리거됨.
  • 이미지 크기 조정, ETag, Accept-Range, Last-Modified 등 지원.
  • 메모리/성능 균형을 위한 in-memory/leveldb/readonly 모드 튜닝 지원.
  • 사용자 정의 가능한 다중 저장 계층 및 투명한 클라우드 통합 제공.
  • 따뜻한 저장소를 위한 랙 인식 10.4 이레이저 코딩으로 저장 비용 절감 및 가용성 향상.

Filer 기능

  • Filer 서버는 HTTP를 통해 "일반" 디렉토리 및 파일 제공.
  • 파일 TTL로 파일 메타데이터 및 실제 파일 데이터 자동 만료.
  • FUSE를 통해 마운트된 filer로 파일을 직접 읽고 쓸 수 있음.
  • Filer 저장소 복제로 메타 데이터 저장소의 HA 가능.
  • Amazon S3 호환 API로 S3 도구를 사용하여 파일 접근 가능.
  • Hadoop 호환 파일 시스템으로 Hadoop/Spark/Flink 등에서 파일 접근 가능.
  • AES256-GCM 암호화 저장소로 데이터 안전하게 저장.
  • 수십 TB의 대용량 파일 저장 지원.
  • 클라우드 드라이브로 클라우드 저장소를 로컬 클러스터에 마운트하여 빠른 읽기 및 쓰기 지원.

Kubernetes

  • Kubernetes CSI 드라이버 및 SeaweedFS 운영자 지원.

Seaweed 객체 저장소 사용 예

  • 마스터 노드와 볼륨 노드의 기본 포트 및 실행 방법 안내.
  • 파일 쓰기, 읽기, 삭제 방법에 대한 예시 제공.
  • 랙 인식 및 데이터 센터 인식 복제, 특정 데이터 센터에 파일 키 할당 방법 설명.

아키텍처

  • SeaweedFS는 파일을 청크로 나누지 않고 데이터 볼륨을 관리함.
  • 마스터 서버는 볼륨에 대한 메타데이터만 관리하고, 실제 파일 메타데이터는 볼륨 서버에서 관리함.
  • 파일 쓰기 및 읽기 프로세스에 대한 자세한 설명 제공.

다른 파일 시스템과의 비교

  • HDFS, GlusterFS, Ceph, MooseFS, MinIO 등과 비교하여 SeaweedFS의 장점 설명.
  • SeaweedFS는 작은 파일에 최적화되어 있으며, O(1) 디스크 읽기 작업으로 빠른 파일 접근을 제공함.

List of Object Storage Softwares

See also

Favorite site