Thursday, September 25, 2014

On GlusterFS

Type of a volume is specified at the time of volume creation, it determines how and where data is placed. Following volume types are supported in glusterfs:
1) Distribute
    Distributes files across various bricks of the volume, similar to file-level RAID 0.
    Directories are present on all bricks of the volume.
    It uses Davies-Meyer hash algorithm, with 32-bit hash space being divided into N ranges for N bricks. When a directory created, a range is assigned to each directory. Hash value is computed on the file name when a file is created.

2) Stripe
    Individual files split among bricks, similar to block-level RAID 0.

3) Replication
    Copy files to multiple bricks, similar to file-level RAID 1.
    Synchronous replication of all directory and file updates.
    Transaction driven consistency.

4) Distributed Replicate
    Most preferred model of deployment currently. Reads get load balanced.

5) Striped Replicate
    Similar to RAID 10 (1+0)

6) Distributed Striped Replicate
    Limited Use Cases – Map Reduce

There is no external metadata servers.

Access GlusterFS can be FUSE mount point or through libgfsapi, both sync and async interfaces are available.

A new feature in 3.5 is distributed geo-replication, which based on change log, one driver per replica set on the master, with no SPOF. It is asynchronous operation across LAN or WAN, in a master-slave model (cascading), so data is passed between defined master and slave only, continuous and incremental replicate.

No comments:

Post a Comment