Vijay Bellur

Life, Technology and a little more…

GlusterFS 3.6.0 – Looking Back and Looking Ahead..

GlusterFS 3.6.0 was released over the last weekend. As I mulled over the release cycle during the weekend, several thoughts on both on the technical and project fronts crossed my mind. This post is an attempt to capture some of those thoughts.

On the technical front, several new features and significant number of bug fixes are part of GlusterFS 3.6.0. The release notes contains a comprehensive list of what’s new in this release. My noteworthy list includes:

  •  Volume Snapshots – Distributed lvm thin-pool based snapshots for backing up volumes in a Gluster Trusted Storage Pool.  Apart from providing cluster wide co-ordination to trigger a consistent snapshot, several improvements have been  performed through the GlusterFS stack to make translators more crash consistent. Snapshotting of volumes is tightly coupled with lvm today but one could also enhance the same framework to integrate with a backend storage technology like btrfs that can perform snapshots.
  •  Erasure Coding – Xavier Hernandez from Datalab added support to perform erasure coding of data in a GlusterFS volume across nodes in a Trusted Storage Pool. Erasure Coding requires fewer nodes to provide better redundancy than a n-way replicated volume and can help in reducing the overall deployment cost. We look forward to build on this foundation and deliver more enhancememnts in upcoming releases.
  • Meta translator – This translator provides a /proc like view for examining internal state of translators on the client stack of a GlusterFS volume and certainly looks like an interface that I would be heavily consuming for introspection of  GlusterFS.
  • Automatic File Replication (AFR) v2 – A significant re-factor of the synchronous replication translator, provides granular entry self-healing and reduced resource consumption with entry self-heals.
  • NetBSD, OSX and FreeBSD ports – Lot of fixes on the portability front. The NetBSD port passes most regression tests as of 3.6.0. At this point, none of these ports are ready to be deployed in production. However, with dedicated maintainers for each of these ports, we expect to reach production readiness on these platforms in a future release.

On the project front,  there have been several things of note happening as far as this release cycle goes. Here are my personal highlights from 3.6.0:

  • 3.6.0 marks the first occurrence of two major GlusterFS releases happening in a calendar year.
  • More patches merged in the 6 month cycle leading to 3.6.0 than any other major release. Addition of more maintainers for GlusterFS and revamp of our Jenkins based CI infrastructure seems to be helping here.

Looking ahead, there are already signs of what is coming up in GlusterFS 3.7. Projects like bitrot detection, volume tiering, Trash translator, Export/Netgroup style authentication for gluster NFS are already in progress and in all probability will be part of 3.7.0 along with other features. We have also started early discussions on what we would want to build for GlusterFS.next releases and more details will be available in the community soon. If you have thoughts on how addition of a new feature can address your problem(s), do let us know and that can help us in planning out the future of GlusterFS.

Overall, it has been a gratifying time for me to be in the Gluster Community. Personally I look forward to build on this feeling of gratification as we build the next versions of GlusterFS to play a significant role in the distributed storage segment.

November 4, 2014 Posted by | Uncategorized | 6 Comments