29 Upgrading your cluster and updating software packages #
This chapter covers two different scenarios: upgrading a cluster to another version of SUSE Linux Enterprise High Availability (either a major release or a service pack) as opposed to updating individual packages on cluster nodes. See Section 29.2, “Upgrading your cluster to the latest product version” versus Section 29.3, “Updating software packages on cluster nodes”.
If you want to upgrade your cluster, check Section 29.2.1, “Supported upgrade paths for SLE HA and SLE HA Geo” and Section 29.2.2, “Required preparations before upgrading” before starting to upgrade.
29.1 Terminology #
In the following, find definitions of the most important terms used in this chapter:
- Major release, General Availability (GA) version
A major release is a new product version that brings new features and tools, and decommissions previously deprecated components. It comes with backward incompatible changes.
- Cluster offline upgrade
If a new product version includes major changes that are backward incompatible, the cluster needs to be upgraded by a cluster offline upgrade. You need to take all nodes offline and upgrade the cluster as a whole, before you can bring all nodes back online.
- Cluster rolling upgrade
In a cluster rolling upgrade one cluster node at a time is upgraded while the rest of the cluster is still running. You take the first node offline, upgrade it and bring it back online to join the cluster. Then you continue one by one until all cluster nodes are upgraded to a major version.
- Service Pack (SP)
Combines several patches into a form that is easy to install or deploy. Service packs are numbered and usually contain security fixes, updates, upgrades or enhancements of programs.
- Update
Installation of a newer minor version of a package, which usually contains security fixes and other important fixes.
- Upgrade
Installation of a newer major version of a package or distribution, which brings new features. See also Cluster offline upgrade versus Cluster rolling upgrade.
29.2 Upgrading your cluster to the latest product version #
Which upgrade path is supported, and how to perform the upgrade, depends on the current product version and on the target version you want to migrate to.
29.2.1 Supported upgrade paths for SLE HA and SLE HA Geo #
SUSE Linux Enterprise High Availability has the same supported upgrade paths as the underlying base system. For a complete overview, see the section Supported Upgrade Paths to SUSE Linux Enterprise Server 15 SP6 in the SUSE Linux Enterprise Server Upgrade Guide.
In addition, the following rules apply, as the High Availability cluster stack offers two methods for upgrading the cluster:
Cluster rolling upgrade. A cluster rolling upgrade is only supported within the same major release (from one service pack to the next, or from the GA version of a product to SP1).
Cluster offline upgrade. A cluster offline upgrade is required to upgrade from one major release to the next (for example, from SLE HA 12 to SLE HA 15) or from a service pack within one major release to the next major release (for example, from SLE HA 12 SP5 to SLE HA 15).
Mixed clusters running on SUSE Linux Enterprise High Availability 12/SUSE Linux Enterprise High Availability 15 are not supported.
After the upgrade process to product version 15, reverting back to product version 12 is not supported.
The easiest upgrade path is consecutively installing all service packs. For the SUSE Linux Enterprise 15 product line (GA and the subsequent service packs), skipping up to two service packs is also supported when upgrading. For example, upgrading from SLE HA 15 SP3 to 15 SP6 is supported (as long as SLE HA 15 SP3 is supported).
29.2.2 Required preparations before upgrading #
- Backup
Ensure that your system backup is up to date and restorable.
- Testing
Test the upgrade procedure on a staging instance of your cluster setup first, before performing it in a production environment. This gives you an estimation of the time frame required for the maintenance window. It also helps to detect and solve any unexpected problems.
29.2.3 Cluster offline upgrade #
This section describes upgrading from SLE HA 12 to SLE HA 15. Check the supported service packs for upgrade in Figure 29.1, “Overview of supported upgrade paths”. If your cluster is still based on an older service pack, first upgrade it to a version of SLES and SLE HA that can be used as a source for upgrading to SLE HA 15. See Upgrading your Cluster to the Latest Product Version for SLE HA 12 SP5.
If you decide to install the cluster nodes from scratch (instead of upgrading them), see Section 2.2, “Software requirements” for the list of modules required for SUSE Linux Enterprise High Availability 15 SP6. Find more information about modules, extensions, and related products in the release notes for SUSE Linux Enterprise Server 15. They are available at https://www.suse.com/releasenotes/.
Before starting the offline upgrade to SUSE Linux Enterprise High Availability 15, manually upgrade the CIB syntax in your current cluster as described in Note: Upgrading the CIB syntax version.
Log in to each cluster node and stop the cluster stack with:
#
crm cluster stop
For each cluster node, perform an upgrade to the desired target version of SUSE Linux Enterprise Server and SUSE Linux Enterprise High Availability—see Section 29.2.1, “Supported upgrade paths for SLE HA and SLE HA Geo”.
After the upgrade process has finished, log in to each node and boot it with the upgraded version of SUSE Linux Enterprise Server and SUSE Linux Enterprise High Availability.
If you use Cluster LVM, you need to migrate from clvmd to lvmlockd. See the man page of
lvmlockd
, section Changing a clvm/clustered VG to a shared VG.If you also use
cmirrord
, we highly recommend migrating to Cluster MD. See Section 24.4, “Online migration from mirror LV to cluster MD”.Log in to a cluster node and start the cluster stack on all nodes:
#
crm cluster start --all
Note:--all
option only available in version 15 SP4The
--all
option was added in SUSE Linux Enterprise High Availability 15 SP4. In earlier versions, you must run thecrm cluster start
command on each node one by one.Check the cluster status with
crm status
or with Hawk2.
Sometimes new features are only available with the latest CIB syntax version. When you upgrade to a new product version, your CIB syntax version will not be upgraded by default.
Check your version with:
cibadmin -Q | grep validate-with
Upgrade to the latest CIB syntax version with:
#
cibadmin --upgrade --force
29.2.4 Cluster rolling upgrade #
This section describes upgrading to a new SLE HA 15 service pack. Check the supported service packs for upgrade in Figure 29.1, “Overview of supported upgrade paths”.
Use one of the following procedures for your scenario:
Before starting an upgrade for a node, stop the cluster stack on that node.
If the cluster resource manager on a node is active during the software update, this can lead to results such as fencing of active nodes.
The new features shipped with the latest product version are only available after all cluster nodes have been upgraded to the latest product version. Mixed version clusters are only supported for a short time frame during the cluster rolling upgrade. Complete the cluster rolling upgrade within one week.
Once all the online nodes are running the upgraded version, it is not possible for any other nodes with the old version to (re-)join without having been upgraded.
Log in as
root
on the node that you want to upgrade and stop the cluster stack:#
crm cluster stop
Perform an upgrade to the desired target version of SUSE Linux Enterprise Server and the SUSE Linux Enterprise High Availability extension as described in Upgrade Guide for SLES 15 SP6.
If you need to upgrade a Geo cluster, see Chapitre 10, Upgrading to the latest product version.
Start the cluster stack on the upgraded node to make the node rejoin the cluster:
#
crm cluster start
Take the next node offline and repeat the procedure for that node.
Check the cluster status with
crm status
or with Hawk2.The Hawk2
screen also shows a warning if different CRM versions are detected for your cluster nodes.
The new features shipped with the latest product version are only available after all cluster nodes have been upgraded to the latest product version. Mixed version clusters are only supported for a short time frame during the rolling upgrade. Complete the rolling upgrade within one week.
The Hawk2
screen also shows a warning if different CRM versions are detected for your cluster nodes.Beside an in-place upgrade, many customers prefer a fresh installation even for moving to the next service pack. The following procedure shows a scenario where a two-node cluster with the nodes alice and bob is upgraded to the next service pack (SP):
Make a backup of your cluster configuration. A minimum set of files is shown in the following list:
/etc/corosync/corosync.conf /etc/corosync/authkey /etc/sysconfig/sbd /etc/modules-load.d/watchdog.conf /etc/hosts /etc/chrony.conf
Depending on your resources, you may also need the following files:
/etc/services /etc/passwd /etc/shadow /etc/groups /etc/drbd/* /etc/lvm/lvm.conf /etc/mdadm.conf /etc/mdadm.SID.conf
Start with node alice.
Put the node into standby node. That way, resources can move off the node:
#
crm --wait node standby alice reboot
With the option
--wait
, the command returns only when the cluster finishes the transition and becomes idle. Thereboot
option has the effect that the node will be already out of standby mode when it is online again. Despite its name, thereboot
option works as long as the node goes offline and online.Stop the cluster services on node alice:
#
crm cluster stop
At this point, alice does not have running resources anymore. Upgrade the node alice and reboot it afterward. Cluster services are assumed not to start on boot.
Copy your backup files from Step 1 to the original places.
Bring back node alice into cluster:
#
crm cluster start
Check that resources are fine.
Repeat Step 2 for node bob.
29.3 Updating software packages on cluster nodes #
Before starting a package update for a node, either stop the cluster stack on that node or put the node into maintenance mode, depending on whether the cluster stack is affected or not. See Step 1 for details.
If the cluster resource manager on a node is active during the software update, this can lead to results such as fencing of active nodes.
Before installing any package updates on a node, check the following:
Does the update affect any packages belonging to SUSE Linux Enterprise High Availability? If
yes
, stop the cluster stack on the node before starting the software update:#
crm cluster stop
Does the package update require a reboot? If
yes
: Stop the cluster stack on the node before starting the software update:#
crm cluster stop
If none of the situations above apply, you do not need to stop the cluster stack. In that case, put the node into maintenance mode before starting the software update:
#
crm node maintenance NODE_NAME
For more details on maintenance mode, see Section 28.2, “Different options for maintenance tasks”.
Install the package update using either YaST or Zypper.
After the update has been successfully installed:
Either start the cluster stack on the respective node (if you stopped it in Step 1):
#
crm cluster start
or remove the maintenance flag to bring the node back to normal mode:
#
crm node ready NODE_NAME
Check the cluster status with
crm status
or with Hawk2.
29.4 For more information #
For detailed information about any changes and new features of the product you are upgrading to, refer to its release notes. They are available from https://www.suse.com/releasenotes/.