You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
LeilFS is a free and open source, distributed POSIX file system
inspired by Google File System.
LeilFS is being developed and maintained by the team from
Leil. Designed to run on commodity hardware, LeilFS is a
high-performance, scalable, and reliable file system that provides
high availability, data integrity, fault tolerance, and performance on par with local
file systems. It is easy to deploy and manage, and it is designed to be used in
a wide range of applications, from small clusters to large data centers.
Use cases
We target the use cases below as primary and this is where we are proud to be a great fit. Contact us to learn more.
Media & video post-production
Sustained sequential throughput for 4K/8K editorial workflows. Proprietary HM-SMR support, Windows client, Connect and Navigator apps, and clustered Samba.
Data lakes & AI pipelines
A single POSIX namespace across nodes and JBODs. Training and analytics read directly from the file system — no object gateway in the path.
Backup & long-term retention
Erasure coding keeps usable capacity high at low overhead. Predictable cost per TB on high-density commodity drives.
Research & HPC clusters
Parallel access from many clients with per-directory redundancy goals, so hot and cold datasets share one deployment.
Feature list
Resilient by architecture
Separated components for metadata servers (Master, Shadow, Metaloggers), data servers (Chunkservers), and Clients.
Scales linearly
Add chunkservers to add capacity and throughput. Rebalancing is automatic and online.
POSIX, not almost-POSIX
Real POSIX semantics, so existing applications run unmodified.
Capability
Detail
High availability
uRaft-based metadata failover with coordinated floating IP management for seamless continuity.
Seamless hardware refresh and expansion
Nodes and drives can be added or replaced without interrupting client access.
Data integrity
End-to-end data integrity with CRC verification per chunk and periodic validation operations.
Robust redundancy
Erasure Coding (EC): Reed-Solomon EC(d, p) for high durability, supporting simultaneous server loss without data loss or service disruption.
Standard replication: Simple mirroring for improved locality and performance, especially for geographically distributed deployments.
Instant Copy-on-Write Snapshots: Fast and immutable snapshots enabling historical state access and safe filesystem-level rollback.
Protocol interoperability
S3 compatibility: Supported through Versity gateway.
NFS support: Full NFSv3/NFSv4 support through Ganesha plugin (FSAL).
Samba/CIFS support: High performance settings for shares on top of Linux native mount points.
Advanced ACL framework
Rich NFSv4 and POSIX ACL support for precise access management.
POSIX and flock advisory locking
Includes byte-range locks for concurrent collaborative access.
Granular quota management
Limits by user, group, and directory with independent caps for size and inode count.
Fast recursive deletion
Efficient removal of large directory trees via asynchronous task-manager operations.
Flexible media strategy
HDD, SSD, and NVMe can coexist in the same cluster with labels and goal-based placement for tiering behavior.
Periodic scrubbing for durability
Metadata scans: Validates chunk availability and redundancy compliance.
Data scrubbing:CRC-based block checking ensures ongoing data correctness.
Automatic data rebalancing
Reclaims space and redistributes chunks when disks or servers are added or removed.
Quick start
Install
Use the Installation Guide for packages, dependencies, and full installation steps.
Set up a cluster
Follow the Quick Start Guide for a simple single-machine LeilFS setup.
Go further
Continue with the Administration Guide for production topology and advanced configuration.
Build from source
This section assumes the required dependencies are already installed. If not,
see the Installation Guide for platform-specific dependency and
source-build instructions.
git clone https://github.com/leil-io/leilfs.git
cd leilfs
mkdir build
cd build
cmake ..
nice -n 16 make -j$(nproc)
We run make under nice so the build uses a lower CPU priority. The
-j$(nproc) option matches the number of build jobs to your CPU core count.
Warning
A parallel build with -j$(nproc) can exhaust memory on smaller systems. If
that happens, reduce the job count (for example, use -j2).
Reference documentation for commands, services, and configuration files.
Contributing
LeilFS is built in the open and we review every contribution. Start with the Contributing Guide for the workflow, coding standards and commit conventions.
The Developer Guide is a good starting
point for how to setup a development environment and run tests.
1 - Find something
Browse good first issues, or open one to describe what you have in mind.
2 - Build and test
Follow the Quick Start to build locally, then run the test suite before opening a pull request.
3 - Open a PR
Reference the issue, describe the change and what you tested. We respond on every PR.
Contact us
Join our community chat on Matrix to connect with fellow LeilFS enthusiasts, developers and users.
Ask questions: Get help, share experiences, and discuss LeilFS usage.
Discuss ideas: Propose features, improvements, and best practices.
Receive updates: Follow LeilFS development, releases, and community news.
Most of the software is licensed under GPLv3, except the Ganesha FSAL, which is
licensed LGPLv3 and located under src/nfs-ganesha/. See the FSAL LICENSE
file for more info.