GlusterFS::AFR() - What you need to know as a sysadmin.
Understand how synchronous replication a.k.a AFR works in GlusterFS, so that you, as a sysadmin can handle tricky situations like resolving split-brains with confidence.
Replication, as the name implies, maintains multiple copies of your data to ensure high availability. There are two popular strategies to replicating data: synchronous and asynchronous.
In synchronous replication, data is written to all the replica volumes in real time. For example if there are 2 hard-disk partitions in a replicate configuration, when the user does a single write() from the mount point, the replication module sends 2 writes(), one to each partition.
In asynchronous replication, the data is written real time only to one partition (master). The data is then synced to the other partition (slave) eventually and periodically using suitable mechanisms (say rsync).
Synchronous replication is generally used when you need real-time failover of transactions. For example, when reading a file, if one partition goes down, the application must be served the data from the other partition instantaneously.
Automatic File Replication(AFR) is the name given to the synchronous replication module in GlusterFS. This talk will be a mostly-everything-but-code overview of how AFR does what it does to ensure your data is kept consistent and in-sync across different replicas. Armed with this knowledge, you can understand how self-heals work, interpret the values of the file's extended attributes maintained by AFR, identify if a split-brain occurs and what you need to do to resolve it.
- You must have setup and used a gluster volume in a replicate configuration.
- You have peeked into the files in the backend bricks and observed that the files have some funny looking extended attributes set on them.
- You are too lazy to read https://github.com/gluster/glusterfs/blob/master/doc/split-brain.md or are not able to make any sense out of it.
Currently working on GlusterFS at Red Hat.
Likes: Linux, electronics, D.I.Y.
Goes by the online nick of itisravi.