Linux-HA Logo

Upgrade Methodologies

There are three approaches to upgrading heartbeat:

  1. Complete Cluster Shutdown[1]

    • In this scenario one shuts down all cluster nodes and resources and upgrades all the nodes before restarting the cluster.
  2. Rolling[2] (node by node)

    • In this scenario each node is removed from the cluster, upgraded and then brought back online until all nodes are running the newest version.
  3. Disconnect & Reattach[3]

    • A variant of a complete cluster shutdown, but the resources are left active and re-detected when the cluster is restarted.

Each method has advantages and disadvantages, some of which are listed in the table below:

Upgrade Type

Version Issues

Service Outage

Recovery During Upgrade

Exercises Fail-over Logic

Shutdown

no

yes

no

no

Rolling

yes

yes

yes

yes

Reattach

no

no

no

no

Version Compatibility

The stated goal of the Heartbeat team is to allow your cluster to be online for 100 years[4]. As such, when releasing newer versions we take care to make sure we are backwardly compatible with older versions. While you will always be able to upgrade from version x to x+1, in order to continue to produce high quality software it may occasionally be necessary to drop compatibility with older versions.

There will always be an upgrade path from any series-2 release to any other series-2 release.

From time to time it is neccessary to perform some steps in addition to the usual upgrade procedure. You may want to check the UpdateExperience[5] page to see some hints on those.

With the release of 2.0.5 we will be removing the ability to perform a rolling upgrade[2] from any version lower than 2.0.4 in a single pass. However as noted above, other upgrade strategies exist and include the ability to upgrade without service interruption.

For those desperate to perform a rolling upgrade[2] to 2.0.5 (and beyond) in a single pass, you will continue to be able to do so when compiling from scratch for some time yet as the relevant code has been disabled, not removed. Details are available on request.

Rolling Update Example: 2.0.1 to 2.0.6

Upgrading from 2.0.1 to 2.0.6:

  1. Follow the rolling upgrade[2] instructions to upgrade from 2.0.1 to 2.0.4

  2. Follow the rolling upgrade[2] instructions to upgrade from 2.0.4 to 2.0.6


References

[1]http://www.linux-ha.org/v2/upgrade/shutdown
[2]http://www.linux-ha.org/v2/upgrade/rolling
[3]http://www.linux-ha.org/v2/upgrade/reattach
[4]http://www.linux-ha.org/100years
[5]http://www.linux-ha.org/UpdateExperience


This information provided courtesy of the Linux-HA project at http://linux-ha.org/