Gerry Reno writes:
Hows do GlusterFS behave in the following scenarios: ================================= In a multi-brick cluster using AFR a node goes down and then later is brought back online ACTUAL BEHAVIOR: DESIRED BEHAVIOR: GlusterFS sees the node restart and then begins syncing it's bricks from transaction log, once it is synced it is put back into the cluster. =================================
This is what self-heal functionality in 1.4 is supposed to do. Each translator will contribute its piece of context-aware healing functionality to the over all recovery process. self-heal will involve multiple techniques. Key of them are * journaled-recovery: It will maintain a journal of operations that needs to be performed on a failed brick. For example dir related operations, all I/O operations for AFR ... (This is exactly you described above). * lazy-recovery: Certain errors will be extremely time consuming to detect. Instead of looking out for them (when the brick is offline), GlusterFS will resume normal operation immediately. If it finds any fault at run-time, self-heal will heal on demand (say duplicate files.., missing directory on a brick..). It is OK if a dir is missing in one of the brick, when it can be fixed at the time of access. You can also initiate a forceful recovery by just triggering faults (say "find /mnt/glusterfs -type f -exec file {} \;" will navigate the entire dir tree and access each file. This should be sufficient to convert many lazy checks to instant ones). Then glusterfs-fsck tool would be a matter of shell script.
================================= Expand/Contract a GlusterFS cluster. ACTUAL BEHAVIOR: DESIRED BEHAVIOR: GlusterFS allows cluster members to be dynamically hot-added/hot-removed from a running cluster. =================================
As of adding bricks requires restart of GlusterFS. http://www.gluster.org/docs/index.php/GlusterFS_FAQ#How_do_I_add_a_new_node_to_an_already_running_cluster_of_GlusterFS Hot-add/remove functionality is part of our road map. We are introducing server-notification framework in 1.4. With this feature, implementing hot-add/remove is a cake-walk. Do you think this feature is important for 1.4?. I want to have 1.4 released as soon as possible.. -- Anand Babu GPG Key ID: 0x62E15A31 Blog [http://ab.freeshell.org] The GNU Operating System [http://www.gnu.org]