<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Will the various client packages (centos in my case) be able to automatically handle the upgrade vs new install decision, or will we be required to do something manually to determine that?<div class=""><br class=""></div><div class="">It’s a little unclear that things will continue without interruption because of the way you describe the change from GD1 to GD2, since it sounds like it stops GD1. Early days, obviously, but if you could clarify if that’s what we’re used to as a rolling upgrade or how it works, that would be appreciated. Also clarification that we’ll be able to upgrade from 3.x (3.1x?) to 4.0, manually or automatically?</div><div class=""><br class=""></div><div class=""><br class=""><div><blockquote type="cite" class=""><hr style="border:none;border-top:solid #B5C4DF 1.0pt;padding:0 0 0 0;margin:10px 0 5px 0;" class=""><span style="margin: -1.3px 0.0px 0.0px 0.0px" id="RwhHeaderAttributes" class=""><font face="Helvetica" size="4" color="#000000" style="font: 13.0px Helvetica; color: #000000" class=""><b class="">From:</b> Kaushal M &lt;<a href="mailto:kshlmster@gmail.com" class="">kshlmster@gmail.com</a>&gt;</font></span><br class="">
<span style="margin: -1.3px 0.0px 0.0px 0.0px" class=""><font face="Helvetica" size="4" color="#000000" style="font: 13.0px Helvetica; color: #000000" class=""><b class="">Subject:</b> [Gluster-users] Request for Comments: Upgrades from 3.x to 4.0+</font></span><br class="">
<span style="margin: -1.3px 0.0px 0.0px 0.0px" class=""><font face="Helvetica" size="4" color="#000000" style="font: 13.0px Helvetica; color: #000000" class=""><b class="">Date:</b> November 2, 2017 at 3:56:05 AM CDT</font></span><br class="">
<span style="margin: -1.3px 0.0px 0.0px 0.0px" class=""><font face="Helvetica" size="4" color="#000000" style="font: 13.0px Helvetica; color: #000000" class=""><b class="">To:</b> <a href="mailto:gluster-users@gluster.org" class="">gluster-users@gluster.org</a>; Gluster Devel</font></span><br class="">
<br class="Apple-interchange-newline"><div class=""><div class="">We're fast approaching the time for Gluster-4.0. And we would like to<br class="">set out the expected upgrade strategy and try to polish it to be as<br class="">user friendly as possible.<br class=""><br class="">We're getting this out here now, because there was quite a bit of<br class="">concern and confusion regarding the upgrades between 3.x and 4.0+.<br class=""><br class="">---<br class="">## Background<br class=""><br class="">Gluster-4.0 will bring a newer management daemon, GlusterD-2.0 (GD2),<br class="">which is backwards incompatible with the GlusterD (GD1) in<br class="">GlusterFS-3.1+. &nbsp;As a hybrid cluster of GD1 and GD2 cannot be<br class="">established, rolling upgrades are not possible. This meant that<br class="">upgrades from 3.x to 4.0 would require a volume downtime and possible<br class="">client downtime.<br class=""><br class="">This was a cause of concern among many during the recently concluded<br class="">Gluster Summit 2017.<br class=""><br class="">We would like to keep pains experienced by our users to a minimum, so<br class="">we are trying to develop an upgrade strategy that avoids downtime as<br class="">much as possible.<br class=""><br class="">## (Expected) Upgrade strategy from 3.x to 4.0<br class=""><br class="">Gluster-4.0 will ship with both GD1 and GD2.<br class="">For fresh installations, only GD2 will be installed and available by default.<br class="">For existing installations (upgrades) GD1 will be installed and run by<br class="">default. GD2 will also be installed simultaneously, but will not run<br class="">automatically.<br class=""><br class="">GD1 will allow rolling upgrades, and allow properly setup Gluster<br class="">volumes to be upgraded to 4.0 binaries, without downtime.<br class=""><br class="">Once the full pool is upgraded, and all bricks and other daemons are<br class="">running 4.0 binaries, migration to GD2 can happen.<br class=""><br class="">To migrate to GD2, all GD1 processes in the cluster need to be killed,<br class="">and GD2 started instead.<br class="">GD2 will not automatically form a cluster. A migration script will be<br class="">provided, which will form a new GD2 cluster from the existing GD1<br class="">cluster information, and migrate volume information from GD1 into GD2.<br class=""><br class="">Once migration is complete, GD2 will pick up the running brick and<br class="">other daemon processes and continue. This will only be possible if the<br class="">rolling upgrade with GD1 happened successfully and all the processes<br class="">are running with 4.0 binaries.<br class=""><br class="">During the whole migration process, the volume would still be online<br class="">for existing clients, who can still continue to work. New clients will<br class="">not be possible during this time.<br class=""><br class="">After migration, existing clients will connect back to GD2 for<br class="">updates. GD2 listens on the same port as GD1 and provides the required<br class="">SunRPC programs.<br class=""><br class="">Once migrated to GD2, rolling upgrades to newer GD2 and Gluster<br class="">versions. without volume downtime, will be possible.<br class=""><br class="">### FAQ and additional info<br class=""><br class="">#### Both GD1 and GD2? What?<br class=""><br class="">While both GD1 and GD2 will be shipped, the GD1 shipped will<br class="">essentially be the GD1 from the last 3.x series. It will not support<br class="">any of the newer storage or management features being planned for 4.0.<br class="">All new features will only be available from GD2.<br class=""><br class="">#### How long will GD1 be shipped/maintained for?<br class=""><br class="">We plan to maintain GD1 in the 4.x series for at least a couple of<br class="">releases, at least 1 LTM release. Current plan is to maintain it till<br class="">4.2. Beyond 4.2, users will need to first upgrade from 3.x to 4.2, and<br class="">then upgrade to newer releases.<br class=""><br class="">#### Migration script<br class=""><br class="">The GD1 to GD2 migration script and the required features in GD2 are<br class="">being planned only for 4.1. This would technically mean most users<br class="">will only be able to migrate from 3.x to 4.1. But users can still<br class="">migrate from 3.x to 4.0 with GD1 and get many bug fixes and<br class="">improvements. They would only be missing any new features. Users who<br class="">live on the edge, should be able to the migration manually in 4.0.<br class=""><br class="">---<br class=""><br class="">Please note that the document above gives the expected upgrade<br class="">strategy, and is not final, nor complete. More details will be added<br class="">and steps will be expanded upon, as we move forward.<br class=""><br class="">To move forward, we need your participation. Please reply to this<br class="">thread with any comments you have. We will try to answer and solve any<br class="">questions or concerns. If there a good new ideas/suggestions, they<br class="">will be integrated. If you just like it as is, let us know any way.<br class=""><br class="">Thanks.<br class=""><br class="">Kaushal and Gluster Developers.<br class="">_______________________________________________<br class="">Gluster-users mailing list<br class=""><a href="mailto:Gluster-users@gluster.org" class="">Gluster-users@gluster.org</a><br class="">http://lists.gluster.org/mailman/listinfo/gluster-users<br class=""></div></div></blockquote></div><br class=""></div></body></html>