SeaweedFS
lastmod 2026-03-12created 2022-05-135 edits
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.
- A simple and highly scalable distributed file system
- The goal is to store billions of files and serve them fast
- Implemented with ideas from Facebook's Haystack design and f4: Facebook's Warm BLOB Storage System
- The Blob store has O(1) disk seek and cloud tiering
- The Filer supports directories and POSIX attributes, and includes Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding, and more
Demo
Features
- Offers various replication options, such as replication level and rack- and data-center-awareness.
- Automatic master server failover means no single point of failure.
- Supports automatic Gzip compression based on file MIME type.
- Automatic compaction to reclaim disk space after data deletion or update.
- Total storage space can be increased by adding servers.
- No data rebalancing when adding/removing servers; only triggered by an administrator command.
- Supports image resizing, ETag, Accept-Range, Last-Modified, etc.
- Supports tuning in-memory/leveldb/readonly modes to balance memory and performance.
- Provides customizable multiple storage tiers and transparent cloud integration.
- Rack-aware 10.4 erasure coding for warm storage reduces storage cost and improves availability.
Filer features
- The Filer server serves "normal" directories and files over HTTP.
- File TTL automatically expires file metadata and the actual file data.
- Files can be read and written directly through a filer mounted via FUSE.
- Filer store replication enables HA for the metadata store.
- An Amazon S3-compatible API allows access to files using S3 tools.
- A Hadoop-compatible file system allows access to files from Hadoop/Spark/Flink, etc.
- AES256-GCM encrypted storage stores data securely.
- Supports storing large files of tens of TB.
- Cloud Drive mounts cloud storage to the local cluster for fast reads and writes.
Kubernetes
- Supports a Kubernetes CSI driver and the SeaweedFS Operator.
Seaweed object store usage examples
- Explains the default ports and how to run master nodes and volume nodes.
- Provides examples of how to write, read, and delete files.
- Explains rack-aware and data-center-aware replication, and how to assign file keys to a specific data center.
Architecture
- SeaweedFS manages data volumes instead of splitting files into chunks.
- The master server manages only metadata about volumes, while the actual file metadata is managed by the volume servers.
- Provides a detailed explanation of the file write and read processes.
Comparison with other file systems
- Explains SeaweedFS's advantages compared with HDFS, GlusterFS, Ceph, MooseFS, MinIO, etc.
- SeaweedFS is optimized for small files and provides fast file access with O(1) disk read operations.
List of Object Storage Softwares
- Cloud Service