awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
gluster avatar

gluster/glusterfs

0
View on GitHub↗
5,191 stars·1,110 forks·C·GPL-2.0·27 viewswww.gluster.org↗

Glusterfs

GlusterFS is a software-defined distributed file system and scale-out storage cluster that aggregates disk resources from multiple servers into a single global namespace. It functions as a unified storage platform, allowing the same underlying data to be exposed through file, block, and object storage interfaces.

The system distinguishes itself through a decentralized architecture that uses consistent hashing to distribute files across network nodes without a central metadata server. It ensures data integrity and availability using self-healing replication, quorum-based consistency to prevent split-brain scenarios, and asynchronous geo-replication for disaster recovery across distant geographic sites.

The platform provides broad capability coverage across multi-protocol storage export via NFS, Samba, and iSCSI, as well as comprehensive volume management including point-in-time snapshots, storage quotas, and elastic capacity expansion. Security is handled through TLS encryption for data in transit, identity management integration, and granular POSIX access control.

The software is available as binary packages through community repositories for various Linux distributions.

Features

  • Distributed Network Filesystems - Provides a scalable distributed filesystem that aggregates disk resources from multiple servers into a single global namespace.
  • Distributed Storage Aggregators - Combines disk resources from multiple servers into a single global namespace for scalable storage.
  • Unified Storage Interfaces - Provides a unified storage platform that exposes the same data through file, block, and object storage interfaces.
  • Distributed File Systems - Aggregates disk resources from multiple servers into a single scalable global namespace as a distributed file system.
  • Storage Service Self-Healing - Automatically detects and repairs mismatched file replicas using background daemons to ensure data integrity across nodes.
  • Block Storage - Provides a unified storage platform that exposes data as raw block devices.
  • Distributed Data Replication - Copies data across multiple servers to ensure high availability and protection against hardware failure.
  • Storage Synchronization Services - Mirrors storage volumes across distant sites to enable disaster recovery and localized access.
  • Geo-Replicated Volumes - Replicates data between remote volumes using SSH and matching identifiers to maintain consistency across sites.
  • Distributed Storage - Aggregates storage across network nodes to provide scalable file, block, and object storage.
  • Scale-Out Storage Clusters - Aggregates physical servers into a high-availability cluster providing unified block, file, and object storage.
  • Elastic Storage Aggregation - Aggregates physical disks from multiple servers into a single global namespace that supports online expansion and shrinkage.
  • Storage Pool Managers - Establishes a network of peer storage servers to create a shared pool of resources.
  • Geographic Data Replication - Implements asynchronous synchronization of storage volumes between geographically dispersed data centers for disaster recovery.
  • Multi-Protocol Storage Interfaces - Exposes the same underlying distributed data simultaneously through file, block, and object storage interfaces.
  • Multi-Protocol Storage Providers - Exposes the same underlying data through unified object, block, and file storage interfaces.
  • Object Storage - Provides an interface to store and retrieve unstructured data as objects as part of a unified storage platform.
  • Distributed Volume Provisioning - Configures and starts a shared storage pool across multiple servers to provide a scalable namespace.
  • Replicated Persistent Volumes - Maintains multiple copies of data across nodes to ensure high availability and automatic failover.
  • Volume Listing and Inspection - Provides capabilities to retrieve configuration details, connectivity status, and resource usage for storage volumes.
  • Volume Scaling - Enables expanding or shrinking storage volume capacity by dynamically adding or removing underlying bricks.
  • Quorum-Based Consistency - Prevents data divergence and split-brain scenarios by requiring a minimum number of active nodes before allowing write operations.
  • Storage Abstraction - Abstracts physical hardware to provide replicated volumes, automated data healing, and a unified storage interface.
  • Logical Volume Management - Groups export directories across multiple servers into a single logical pool to increase filesystem capacity.
  • Redundant Storage Configurations - Sets up data distribution using replication or erasure coding to balance capacity and fault tolerance.
  • Unified File and Object Storage - Exposes the same underlying data as both objects and files to simplify storage management.
  • Distributed Volume Synchronizations - Run self-heal operations after version updates to resolve inconsistencies and clear backlogs.
  • Capacity Scaling - Increases system performance and capacity by adding new nodes to the cluster via a scale-out architecture.
  • Storage Scaling - Expands cluster capacity and performance by adding new storage servers and rebalancing data online.
  • Distributed Storage Deployments - Provides mechanisms to install and configure a scalable storage system across multiple physical servers.
  • High Availability Clusters - Ensures continuous data access and automatic failover through replicated storage volumes across network nodes.
  • Storage Management - Provides a command-line interface to manage cluster operations, volume configurations, and persistent file storage.
  • Consistent Hashing Distribution - Determines file placement across network nodes using a consistent hashing algorithm to ensure scalable capacity.
  • Multi-Protocol Storage Interfaces - Shares distributed volumes using industry-standard network protocols to ensure broad compatibility across different devices.
  • FUSE-Based Filesystem Mounts - Integrates distributed storage into the operating system using a FUSE-based client for concurrent I/O.
  • Scoped Permission Assignments - Provides granular control by granting or denying access to files and directories for specific users or groups.
  • Data Encryption - Secures communication between clients and servers using TLS to protect network data in transit.
  • Secure Network Communication - Ensures secure data transmission between cluster nodes and clients using SSL to prevent interception.
  • Consistent Hashing - Uses a consistent hashing algorithm to distribute files across network nodes without requiring a central metadata server.
  • Distributed Storage Clusters - Aggregates physical storage servers into a single logical pool of scalable object, block, and file storage.
  • Split-Brain Prevention - Blocks write operations when quorum is not met to prevent split-brain scenarios and data divergence.
  • Disk and Swap Monitoring - Monitors free disk space and inodes with configurable thresholds to trigger warnings before exhaustion.
  • Real-time Performance Monitoring - Tracks live metrics such as read/write calls and file descriptor counts across storage bricks.
  • File-Object Bridges - Exposes distributed files via a RESTful API and allows object uploads to appear as files.
  • iSCSI Target Exports - Translates iSCSI commands into file operations to present distributed storage as a network block device.
  • Metadata-Only Replicas - Maintains consistency across three nodes by storing only metadata on one node to optimize replication storage.
  • Point-In-Time Snapshots - Captures the state of the filesystem at a specific moment for data recovery purposes.
  • Volume Snapshot and Clone Engines - Creates point-in-time copies of volumes with custom naming and automated deletion policies.
  • Automated Snapshot Lifecycles - Manages the lifecycle of volume snapshots, including monitoring and deletion to control storage overhead.
  • Synchronous Replication Management - Writes data to all replica bricks simultaneously to ensure strict consistency during single-brick failures.
  • Resumable Sync Checkpoints - Uses timestamps to verify and manage the state of data synchronization to remote geographic sites.
  • Disaster Recovery Solutions - Synchronizes storage volumes asynchronously between distant geographic sites for disaster recovery and business continuity.
  • Distributed Storage Configurations - Allows tuning of stripe block sizes and hash-range allocation to optimize data distribution across storage bricks.
  • Samba Storage Exports - Exports distributed volumes as network shares to provide file access to Windows clients via Samba.
  • Dynamic Cluster Membership Management - Manages the addition and removal of storage servers without disrupting active distributed volume operations.
  • Volume Mounts - Provides a native FUSE-based client to attach distributed storage volumes for high-concurrency access.
  • Client-Side Small File Caches - Accelerates read operations by storing the contents of small files on the client side.
  • Local Data Locality Optimizations - Reduces network latency by prioritizing the allocation of files to the server's local drive.
  • Filesystem Metadata Caches - Reduces lookup overhead by caching file and directory attribute information locally on the client.
  • Online Storage Volume Configuration - Adjusts storage parameters and performance settings while online to optimize behavior without interrupting availability.
  • Parallel Storage Access Protocols - Increases throughput by distributing data requests directly to servers while routing metadata operations separately.
  • Consistency Scanners - Crawls the filesystem to identify and heal files with dirty attributes to maintain cluster consistency.
  • Persistent Storage Provisioning - Creates and starts distributed storage volumes assigned to specific tenants for data persistence.
  • Brick Provisioning - Automatically partitions and formats filesystems to create the bricks required for shared volumes.
  • Named Volume Lifecycles - Provides capabilities to start, stop, and delete storage volumes to manage their operational lifecycle.
  • Data Rebalancing - Redistributes files across the storage topology after volume changes to optimize usage.
  • Thin Arbiters - Tracks brick health using a lightweight process to ensure consistency without storing full replicas.
  • Snapshot Volume Creation - Creates read-only copies of a volume to preserve data states for backup and recovery.
  • Volume Restorations - Provides the ability to revert a storage volume to a previously captured point-in-time state during offline operations.
  • Disk Quota Enforcement - Limits the disk space a user or group can consume to prevent storage exhaustion.
  • Group Storage Quotas - Implements storage limits for specific user groups within a distributed volume.
  • Centralized Software Upgrading - Provides tools for triggering and managing software updates across a cluster of remote storage servers.
  • Block Storage Services - Integrates with orchestration services to provide persistent block storage volumes for virtual machines.
  • Cluster Server Managements - Manages the pool of trusted servers authorized to participate in the distributed storage cluster.
  • Cluster Upgrades - Provides processes for managing version updates across distributed storage server clusters to maintain high availability.
  • Protocol Failover High Availability - Maintains client connectivity during server failure using a resource manager to failover NFS requests to active nodes.
  • Storage Cluster Deployment - Supports the automated provisioning and configuration of distributed storage clusters using infrastructure-as-code.
  • Node Software Updates - Provides online and offline procedures to update server software on storage nodes.
  • Virtual Machine Deployment - Supports installation across virtualized instances using standard hypervisors to create distributed storage clusters.
  • Brick Replacement - Swaps corrupted storage units with new ones and synchronizes data to restore redundancy.
  • NFS Configurations - Provides standard network file system access to distributed volumes using inline or kernel-based servers.
  • NFS Client Mounts - Enables clients to connect to distributed volumes using the standard NFS protocol over TCP.
  • NFS Directory Exporting - Bridges user-space servers with distributed storage to serve files to clients via NFS protocols.
  • RDMA Protocol Implementations - Accelerates data transfer between clients and bricks using the RDMA protocol to reduce latency.
  • CIFS Storage Exports - Shares distributed volumes with Windows clients using the CIFS protocol or direct network mapping.
  • Storage Request Pipelines - Processes storage requests through a modular translator pipeline to implement features like encryption and access control.
  • Thread-Pool Disk I/O Engines - Increases read and write speeds by using an asynchronous interface instead of standard synchronous system calls.
  • Storage Volume Resizing - Increases overall storage capacity and distribution by adding new bricks to an active cluster.
  • Inode Consumption Limits - Enforces hard limits on both disk space and inode consumption to prevent storage exhaustion.
  • Read-Only Snapshot Access - Provides read-only access to snapshot data via mounts or hidden directory entry points.
  • Bitrot Protection - Calculates and verifies checksums for files to identify silent data corruption and bitrot.
  • Administrative Role Management - Assigns specific permission levels to users to control the management of volumes and configurations.
  • Storage Access Restrictions - Controls client access to distributed storage volumes using IP address allow-lists and reject-lists.
  • Access Control Lists - Implements granular user and group permissions using POSIX access control lists to secure stored data.
  • Request Interception Control - Uses a translator pipeline to intercept, modify, or redirect storage requests for encryption and access control.
  • IP Access Restrictions - Limits NFS volume access to specific IP addresses or defined netgroups for network-level security.
  • Cluster Monitoring Systems - Tracks performance metrics and resource usage across the distributed cluster to optimize overall throughput.
  • Replication Health Monitors - Tracks synchronization state and pending operations to identify faults or bottlenecks in data replication.
  • Node Health Tracking - Provides periodic health checks to ensure storage nodes are responsive and available within the cluster.
  • Software Update Managers - Implements administrative processes for updating distributed storage software across servers to enable new features.
  • Cluster Version Updaters - Provides utilities for performing rolling updates of cluster-wide storage software while preserving data and configuration.
  • Distributed Filesystems - Software-defined storage scaling to petabytes.
  • Storage Management - Scalable software-defined distributed storage.
  • More to explore - Scale-out network-attached storage.

Star history

Star history chart for gluster/glusterfsStar history chart for gluster/glusterfs

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Glusterfs

These projects share indexed features with Glusterfs. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • cubefs/cubefscubefs avatar

    cubefs/cubefs

    5,593View on GitHub↗

    CubeFS is a distributed cloud storage system designed for managing file and object storage across datacenters and hybrid clouds. It functions as a multi-tenant distributed file system and object store capable of handling data at exabyte scale, utilizing a distributed architecture to store unstructured content. The system is distinguished by a multi-protocol interface layer that allows simultaneous data access through S3, POSIX, and HDFS interfaces. It employs a decoupled compute-storage architecture to scale processing and persistence independently and implements fine-grained isolation polici

    Goai-native-storagecloud-native-storagecloud-storage
    View on GitHub↗5,593
  • olric-data/olricolric-data avatar

    olric-data/olric

    3,469View on GitHub↗

    Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of servers. It serves as a shared memory system for managing distributed maps, performing atomic operations, and acting as an in-memory data cache. The system provides a distributed locking mechanism for concurrency control and a pub-sub messaging system that broadcasts and routes messages over named channels across the cluster. The platform covers wide-ranging capabilities including cluster management and orchestration, data replication with configurable quorums, and automated

    Gocachedatabasedistributed-cache
    View on GitHub↗3,469
  • basho/riakbasho avatar

    basho/riak

    4,023View on GitHub↗

    Riak is a decentralized NoSQL key-value store designed for high availability and fault tolerance. It is a Dynamo-style distributed database that utilizes consistent hashing and eventual consistency to scale data across a cluster of nodes. The system functions as a geo-replicated datastore, synchronizing data across multiple physical locations to provide disaster recovery and maintain availability during regional outages. It employs a multi-master replication model, allowing writes to any node in the cluster. The platform covers broad capability areas including decentralized cluster coordinat

    Shell
    View on GitHub↗4,023
  • rook/rookrook avatar

    rook/rook

    13,553View on GitHub↗

    Rook is a Kubernetes storage orchestrator and distributed storage operator that automates the deployment and management of storage clusters. It serves as a multi-protocol storage provider, offering block, file, and object storage capabilities to containerized workloads. The system focuses on providing a self-healing storage cluster that replicates data across hardware nodes to maintain availability and recover from failures. It uses an operator-led model to handle the installation, scaling, and upgrades of storage nodes and daemons. The orchestrator covers a broad range of provisioning servi

    Gocephcloud-nativecncf
    View on GitHub↗13,553
Compare all 30 related projects→

Frequently asked questions

What does gluster/glusterfs do?

GlusterFS is a software-defined distributed file system and scale-out storage cluster that aggregates disk resources from multiple servers into a single global namespace. It functions as a unified storage platform, allowing the same underlying data to be exposed through file, block, and object storage interfaces.

What are the main features of gluster/glusterfs?

The main features of gluster/glusterfs are: Distributed Network Filesystems, Distributed Storage Aggregators, Unified Storage Interfaces, Distributed File Systems, Storage Service Self-Healing, Block Storage, Distributed Data Replication, Storage Synchronization Services.

Which projects share features with gluster/glusterfs?

Projects with overlapping indexed features include: cubefs/cubefs — CubeFS is a distributed cloud storage system designed for managing file and object storage across datacenters and… olric-data/olric — Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of… rook/rook — Rook is a Kubernetes storage orchestrator and distributed storage operator that automates the deployment and… basho/riak — Riak is a decentralized NoSQL key-value store designed for high availability and fault tolerance. It is a Dynamo-style… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… nats-io/nats-server — NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge…