This is a draft document that was built and uploaded automatically. It may document beta software and be incomplete or even incorrect. Use this document at your own risk.

Jump to content
Upgrading from SLES for SAP 15 to SLES for SAP 16.0
SUSE Linux Enterprise Server for SAP applications 16.0

Upgrading from SLES for SAP 15 to SLES for SAP 16.0

Publication Date: 11 Aug 2026

Upgrading from SLES for SAP 15 to SLES for SAP 16.0 requires a cluster offline upgrade. SLES for SAP 16 includes major changes that are backward incompatible with SLES for SAP 15, so a cluster rolling upgrade isn't possible. In a cluster offline upgrade, you must stop the cluster services on all nodes at once and upgrade the whole cluster before bringing the nodes back online.

Requirements:

  • A system with SUSE Linux Enterprise Server for SAP applications 15 SP7. Upgrades from other SLES for SAP versions are not supported for SLES for SAP 16.0.

  • The system must be registered to access the package repositories.

Important
Important: Maintenance window

The time of the upgrade itself depends on the system's performance, the installation size and your network connection speed. The cluster resources will be stopped for the duration of the upgrade.

Thoroughly test this procedure in a test environment before performing it in a production environment.

1 Lifecycle and upgrade paths

SUSE Linux Enterprise Server for SAP applications (SLES for SAP) allows upgrading an existing system to a later version. No new installation is required. Existing data, such as home and data directories and system configuration, is kept intact. Whether it is better to upgrade or perform a fresh installation depends on your specific scenario.

1.1 Product lifecycle

SUSE Linux Enterprise Server for SAP applications 16 uses minor versions like 16.0 and 16.1 to add new features or functionality that remain backward-compatible. Minor releases are scheduled annually and always in November. Each minor version has 24 months of general support, giving you 12 months overlap with the next minor version. The last minor version, 16.6, will have 48 months of general support to complete a 10-year lifecycle in November 2035. SUSE Linux Enterprise Server for SAP applications includes additional Long Term Support (LTS) for 3 years for all minor releases, giving you a total of 5 years overlap with the next minor release.

1.2 Upgrading versus fresh installation

Upgrades between two major versions of SUSE Linux Enterprise Server for SAP applications are supported by SUSE. Whether it is better to upgrade or perform a fresh installation depends on your specific scenario. While upgrades involve less work, fresh installations ensure you benefit from all the new features of a release, such as disk layout changes, specific file system features, and other improvements. To get the most out of your system, SUSE therefore recommends fresh installations in most scenarios.

In both cases—an upgrade and a fresh installation—customers need to check if system settings and default values still fit their requirements.

1.3 Supported upgrade and migration paths to SLES for SAP 16.0

SUSE Linux Enterprise Server for SAP applications 16.0 only allows upgrades from SLES for SAP 15 SP7. More upgrade paths are planned for later versions.

2 The distribution migration system

The distribution migration system provides an upgrade path for an installed SUSE Linux Enterprise Server for SAP applications system from one major version to another, for example, from SLES for SAP 15 SP7 to SLES for SAP 16.0. No new installation is required. Existing data, such as home and data directories and system configuration, is kept intact.

The distribution migration system uses a specialized upgrade live image to completely isolate the upgrade environment. This significantly reduces the risk of system inconsistencies or unrecoverable failures during major version upgrades.

2.1 Concept

While previous versions of SUSE Linux Enterprise Server for SAP applications were upgraded from the Unified Installer, SLES for SAP 16 uses the distribution migration system. This upgrade is done via the network using the zypper migration workflow, which sends a request to the repository server, asking for an upgrade path. Supported repository servers are the SUSE Customer Center (SCC) and the Repository Mirroring Tool (RMT). The request response contains the list of repositories required to upgrade the system. This requires the system to be registered before the upgrade.

The repository server providing the updates must have the necessary channels available and those channels must be up to date. This requirement is automatically met when a system is registered to the SUSE Customer Center (SCC) or for "Pay as you go" instances in the public cloud that are automatically registered to the SUSE-operated update infrastructure of the cloud service provider. However, administrative work may be required when the system to be upgraded is connected to an RMT server.

Upgrading to a new major version requires the system to be offline. This downtime is necessary to avoid system inconsistencies that could put the system into a state that does not allow recovery. Therefore, an upgrade live image is used for the upgrade.

The distribution migration system provides the live image and a start-up utility, run_migration, which reboots the running system into the upgrade live image. Once booted into the upgrade live image, the following chain of services will be executed:

  1. Detect the system to be upgraded

  2. Mount the necessary file systems

  3. Set up the network to match the network configuration of the system to be upgraded

  4. Prepare SSH access to the upgrade live image

  5. Prepare the package manager for the upgrade task

  6. Upgrade the system using zypper

  7. Update the boot loader configuration

  8. Unmount all mounted file systems

  9. Reboot

If an error occurs prior to the start of the upgrade, the system will be reverted to its original state.

3 Preparing the upgrade

Before starting the upgrade procedure, make sure your system is properly prepared. Among other things, preparation involves backing up data and checking the release notes.

Perform the following steps before starting the upgrade:

  1. Make sure the latest system updates are installed by running zypper patch.

  2. Read the release notes. Find the list of all changes, new features and known issues in the release notes.

    Consult the release notes to check whether the following applies:

    • Your hardware needs special considerations

    • Any currently used software packages have changed significantly

    • Your installation requires special precautions

  3. Back up your data by copying the existing configuration files to a separate medium (such as a tape device or removable hard disk). This primarily applies to files stored in /etc and some directories and files in /var and /opt.

  4. Check the available disk space. If you suspect you are running short of disk space, free up disk space or resize partitions.

  5. If your machine serves as a VM Host Server for KVM, properly shut down all running VM Guests prior to the upgrade.

  6. Root login by ssh will be disabled by default in SLE 16. You might want to enable it back before starting the migration. To do so, create /etc/ssh/sshd_config.d/50-permit-root-login.conf with the following content:

    PermitRootLogin yes

    Once the migration is complete, you can install openssh-server-config-rootlogin package and remove the previously added file.

4 Running the High Availability pre-upgrade check

Use the cluster health check tool to make sure the High Availability cluster can safely upgrade from SLE HA 15 to SLE HA 16. The tool reports any issues that will prevent the upgrade, as well as issues that can be fixed during or after the upgrade.

You can perform this procedure on any node in the cluster.

  1. Log in to the node either as the root user or as a user with sudo privileges.

  2. Run the cluster health check:

    > sudo crm cluster health sles16

    This command reports issues in two categories:

    • The WARN category indicates cluster configuration that isn't recommended, such as deprecated features. Issues in this category can be fixed during or after the upgrade, so the migration check passes. For example:

      [WARN] Corosync transport "udpu" will be deprecated in favor of "knet" in corosync 3.
    • The FAIL category indicates cluster configuration that can't be fixed during or after the upgrade, such as removed resource agents. Issues in this category must be fixed before you can upgrade the cluster, so the migration check fails. The command's output will tell you what to fix. For example:

      [FAIL] The following resource agents will be removed in SLES 16.
             * ocf:heartbeat:IPaddr: please replace it with ocf:heartbeat:IPaddr2
  3. Fix any FAIL issues, then run the cluster health check again to make sure you didn't miss anything.

For more information
  • crm cluster help health

5 Stopping the High Availability cluster services

Stopping the cluster services means stopping Pacemaker and Corosync. You can stop the whole cluster at once by using the --all option. In this mode, the cluster is no longer running and all the resources stop.

For a cluster offline upgrade, the resources must not be in maintenance mode.

Warning
Warning: Graceful shutdown not guaranteed

When you stop the cluster services for the whole cluster without maintenance mode, all the resources stop. However, the resources must finish stopping before the cluster's shutdown timeout. If stopping a resource fails or times out, the resource's node is fenced.

If any resources take a long time to stop, consider stopping them before you stop the cluster services.

You can perform this procedure on any node in the cluster.

  1. Log in either as the root user or as a user with sudo privileges.

  2. Check the status of the cluster:

    > sudo crm status
    • If the resources are in maintenance mode, they will continue to run even while the cluster services are offline.

      Important

      This is only true if the nodes keep running. If you need to shut down or reboot the nodes, take the cluster out of maintenance mode first.

    • If the resources aren't in maintenance mode, they will all stop when you stop the cluster services.

  3. Stop the cluster services on all nodes at once:

    > sudo crm cluster stop --all
  4. Check the status of the cluster services:

    > sudo crm cluster status

    Both Pacemaker and Corosync should be inactive.

6 Customizing the upgrade process

The upgrade live image is preconfigured to run without any further setup. The following configuration options are completely optional. Change only what is necessary and only if you know what you are doing.

6.1 Optional configuration of the upgrade process

The migration system reads a custom configuration file from the system to be upgraded. The content of this file modifies the behavior of the upgrade process. Prior to the start of the upgrade process, create the following file if a change of the default behavior is needed:

> sudo  ssh INSTANCE_USER@IP_OF_INSTANCE touch /etc/sle-migration-service.yml'

The custom config file supports the following settings:

Specify Migration Product

By default, the system will be migrated to SLES for SAP 16.0. This default target can be changed through the migration_product setting. The product must be specified with the triplet name/version/arch found in /etc/products.d/baseproduct of the target product, for example:

migration_product: SLES_SAP/16.0/x86_64
Warning
Warning

Changing the default product leads to unsupported territory and is not tested nor covered by the SUSE support offering. The specified product name must be supported by the repository server used for the migration. If the given product does not exist or the repository server cannot calculate an upgrade path, an error message from the repository server will be logged in the migration log file.

Preserve System Data

Preserve custom data files, such as udev rules, from the system being migrated and ensure they are applied in the upgraded system.

The preserve section has three subsections that govern file preservation and system actions:

  • static: Files in this subsection are copied into the DMS directly, with no further processing.

  • rules: If this subsection contains files, they are preserved, and the DMS reloads udev to make these rules effective.

  • sysctl: Preserving these files triggers sysctl --system to apply the configuration changes.

    preserve:
      rules:
        - /etc/udev/rules.d/a.rules
        - /etc/udev/rules.d/b.rules
      static:
        - /etc/sysconfig/proxy
        - /path/to/be/preserved/*.suffix
    Note
    Note

    udev rules that require custom drivers will not have the desired effect as the migration system will not include these drivers and therefore execution of those rules will fail. Rules with such properties should not be listed.

    Note
    Note

    The DMS provides a set of default preservable files that vary based on the target version and architecture. User-defined values will supplement this default list.

Enable Debug Mode

If enabled, it prevents the upgrade system from rewinding the setup steps and rebooting due to a failed upgrade, allowing the issue to be debugged.

debug: true|false
Configure Reboot Method

By default, the migration system uses kexec to boot back into the host system once migration is complete. If this is in any way problematic, a regular reboot can be requested by setting soft_reboot: false.

soft_reboot: true|false
Enable verbosity for zypper migration

If enabled, it will run the zypper migration plugin with increased verbosity.

verbose_migration: true|false
Enable the fix option for pre_checks

If enabled (default), the run_pre_checks systemd process will use the --fix option to automatically remediate applicable issues before the migration is started.

pre_checks_fix: true|false
Configure Make initrd Method

The live system may not contain all the tools required to create an initrd that meets the needs of the system being upgraded. Building a host-independent initrd will create an initrd that includes the tools and modules available on the system being upgraded. If needed, a host-independent initrd can be created by setting build_host_independent_initrd: True.

build_host_independent_initrd: true|false
Configure Dependency Solver Test Case Generation

It is possible that during the migration packages get installed that were not on the system previously and are pulled in because of dependencies. This setting will set up the migration so that a solver test case is generated. The information from the test case can then be used to understand why a given package was installed.

debug_solver: true|false

7 Performing the upgrade

This section describes the actual upgrade procedure with the distribution migration system.

7.1 Requirements

  • The cluster services must be stopped on all nodes. Run crm cluster status to make sure both Pacemaker and Corosync are inactive.

  • The system must be registered with the SUSE Customer Center or an RMT server. "Pay as you go" instances in the public cloud are automatically registered to the SUSE-operated update infrastructure.

  • The upgrade path must be supported. Currently, it is only possible to upgrade from SUSE Linux Enterprise Server for SAP applications 15 SP7 to 16.0. It is possible to configure other versions of SUSE Linux Enterprise Server for SAP applications as the migration target, but doing so is not a tested or supported use case.

  • The server that provides the migration target must have the appropriate repositories synced, and they must be up to date. This requirement is automatically met by the SUSE Customer Center, and the SUSE-operated update infrastructure in the public cloud. If you are using an RMT server, make sure to mirror all relevant channels.

  • The operating system needs to reside on a single partition. Support for multiple partitions, such as LVM, is limited to configurations where the separated partitions do not contain OS-critical data or processes. For example, a separate /home partition will function whereas a separate /var will not.

Note
Note: SSH access during upgrade

During the upgrade, it is only possible to log in via SSH key-based login. If your system is not configured for it, it is recommended that at least one of the users on the system has a ~/.ssh/authorized_keys file with a private key accessible by the person executing the system upgrade.

7.2 Upgrading to SUSE Linux Enterprise Server for SAP applications 16.0

The distribution migration system can be invoked by rebooting after installing the suse-migration-sle16-activation package.

The distribution migration system upgrades both the base operating system and the High Availability cluster. Perform the upgrade on all the cluster nodes. The upgraded nodes won't be able to connect to non-upgraded nodes.

Perform the following steps to trigger the upgrade:

Use reboot on AMD64/Intel 64 and ppc64le:

After installing the suse-migration-sle16-activation package, start the migration process by rebooting the system:

> sudo zypper in suse-migration-sle16-activation
> sudo reboot

The suse-migration-sle16-activation package installs SLES16-SAP_Migration as a dependency and modifies the bootloader configuration to boot into the upgrade image.

After the upgrade, the High Availability cluster services will start automatically during system boot (if the Pacemaker service is enabled). The cluster resources will start again when the upgraded cluster stack is back online and reaches a quorate state.

8 Finishing the upgrade

After the upgrade, you need to perform some additional tasks. The following section guides you through these steps.

  1. Use zypper packages to check for orphaned and unneeded packages.

    1. Orphaned packages are no longer available in any of the configured package repositories. They can no longer get updated and become unsupported.

      For a list of orphaned packages, run:

      > zypper packages --orphaned
    2. Unneeded packages are dependencies of packages that have been installed either explicitly by the user or implicitly as part of a pattern or product, and that have been removed in the meantime. They are usually no longer needed and should be removed, too.

      For a list of unneeded packages, run:

      > zypper packages --unneeded
      Tip
      Tip

      To avoid unneeded packages, use zypper rm with the --clean-deps option.

    3. You can combine both lists into one:

      > zypper packages --orphaned --unneeded
    4. Use these lists to determine which packages are still needed and which can be safely removed.

      Warning
      Warning: Do not remove packages you need

      If packages are renamed or removed from a pattern or product, zypper may no longer consider them explicitly installed and mark them as unneeded, even though they are still crucial for your installation.

      Carefully review the list of packages you are removing.

      To remove all orphaned and unneeded packages with a single command, run:

      > sudo zypper rm $(zypper --no-refresh packages --orphaned --unneeded | gawk '{print $5}' | tail -n +5)

      Exclude a single package or pattern from being uninstalled:

      > sudo zypper rm $(zypper --no-refresh packages --orphaned --unneeded | gawk '{print $5}' | tail -n +5 | grep -v PACKAGE_TO_EXCLUDE)

      Exclude multiple packages defined in a text file, separated by a newline:

      > sudo zypper rm $(zypper --no-refresh packages --orphaned --unneeded | gawk '{print $5}' | tail -n +5 | grep -v -f /PACKAGES/TO/KEEP.txt)
  2. Check for any *.rpmnew and *.rpmsave files. When an upgrade includes changes to a default configuration file that has been altered after package installation, instead of overwriting the file, one of these file types is created. While *.rpmnew contains the new default configuration and leaves your altered file untouched, *.rpmsave is a copy of your altered configuration that has been replaced by the new default file.

    If you find any of these files, examine their content and merge desirable changes. You do not need to search the whole file system, only the /etc directory. Use the following command:

    > find /etc/ -name "*.rpmnew" -o -name "*.rpmsave"

9 Starting the High Availability cluster services

If the Pacemaker service is enabled, the High Availability cluster services will start automatically during system boot. The cluster resources will start again when the upgraded cluster stack is back online and reaches a quorate state.

If the Pacemaker service is disabled, you can start the cluster services for the whole cluster at once by using the --all option.

You can perform this procedure on any node in the cluster.

  1. Log in either as the root user or as a user with sudo privileges.

  2. Start the cluster services on all nodes at once:

    > sudo crm cluster start --all
  3. Check the status of the cluster services:

    > sudo crm cluster status

    Both Corosync and Pacemaker should be active.

  4. Check the status of the cluster:

    > sudo crm status

    The nodes will have the status UNCLEAN (offline), but will soon change to Online.

10 Resolving post-upgrade issues in the High Availability cluster

Use the cluster health check tool after the upgrade to list issues that still need to be fixed. You can also use the --fix option to automatically fix certain issues. Issues that can't be fixed automatically are listed along with suggestions for how to fix them manually.

Requirements
  • All cluster nodes are reachable.

  • All cluster nodes have been upgraded.

You can perform this procedure on any node in the cluster.

  1. Log in to the node either as the root user or as a user with sudo privileges.

  2. Run the cluster health check with the --fix option to automatically fix certain issues:

    > sudo crm cluster health sles16 --fix

    The output also lists any issues that can't be fixed automatically and tells you how to fix them manually. For example:

    [WARN] The CIB is not validated with the latest schema version.
           * Latest version: 4.0
           * Current version: 3.10
           Please run "crm configure upgrade force" to upgrade to the latest version.
  3. Fix any issues, then run the cluster health check again to make you didn't miss anything.

For more information
  • crm cluster help health

11 For more information

For more information about the Distribution Migration System, refer to https://documentation.suse.com/suse-distribution-migration-system/15/html/distribution-migration-system/.

HA glossary

active/active, active/passive

How resources run on the nodes. Active/passive means that resources only run on the active node, but can move to the passive node if the active node fails. Active/active means that all nodes are active at once, and resources can run on (and move to) any node in the cluster.

arbitrator

An arbitrator is a machine running outside the cluster to provide an additional instance for cluster calculations. For example, QNetd provides a vote to help QDevice participate in quorum decisions.

CIB (cluster information base)

An XML representation of the whole cluster configuration and status (cluster options, nodes, resources, constraints, etc.). The CIB manager (pacemaker-based) keeps the CIB synchronized across the cluster nodes and handles requests to modify it.

clone

In the context of a cluster resource, a clone is a resource that can be active on multiple nodes. Any resource can be cloned if its resource agent supports it.

cluster

A high-availability cluster is a group of servers (physical or virtual) designed primarily to secure the highest possible availability of data, applications and services. Not to be confused with a high-performance cluster, which shares the application load to achieve faster results.

Cluster LVM (Cluster logical volume manager)

The term Cluster LVM indicates that LVM is being used in a cluster environment. This requires configuration adjustments to protect the LVM metadata on shared storage.

cluster offline upgrade

If a new product version includes major changes that are backward incompatible, the cluster requires a cluster offline upgrade. You must stop the cluster services on all nodes and upgrade the whole cluster before bringing the nodes back online.

For minor version upgrades, see cluster rolling upgrade.

cluster partition

A cluster partition occurs when communication fails between one or more nodes and the rest of the cluster. The nodes are split into partitions but are still active. They can only communicate with nodes in the same partition and are unaware of the separated nodes. This is known as a split brain scenario.

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. Stop the cluster services on a node, upgrade it, then bring it back online to join the cluster. Continue one by one until all cluster nodes are upgraded.

For major version upgrades, see cluster offline upgrade.

cluster services

The services that run the cluster. Typically this refers to Pacemaker and Corosync, but might also include SBD and QDevice if those services are used.

cluster stack

The ensemble of software technologies and components that make up a cluster.

colocation constraint

A type of resource constraint that specifies which resources can or cannot run together on a node.

concurrency violation

A resource that should be running on only one node in the cluster is running on several nodes.

Corosync

Corosync provides reliable messaging, membership and quorum information about the cluster. This is handled by the Corosync Cluster Engine, a group communication system.

CRM (cluster resource manager)

The management entity responsible for coordinating all non-local interactions in a High Availability cluster. SUSE Linux Enterprise High Availability uses Pacemaker as the CRM. It interacts with several components: local executors on its own node and on the other nodes, non-local CRMs, administrative commands, the fencing functionality, and the membership layer.

crmsh (CRM Shell)

The command-line utility crmsh manages the cluster, nodes and resources.

Csync2

A synchronization tool for replicating configuration files across all nodes in the cluster.

DC (designated coordinator)

The pacemaker-controld daemon is the cluster controller, which coordinates all actions. This daemon has an instance on each cluster node, but only one instance is elected to act as the DC. The DC is elected when the cluster services start, or if the current DC fails or leaves the cluster. The DC decides whether a cluster-wide change must be performed, such as fencing a node or moving resources.

disaster

An unexpected interruption of critical infrastructure caused by nature, humans, hardware failure, or software bugs.

disaster recovery

The process by which a function is restored to the normal, steady state after a disaster.

Disaster Recovery Plan

A strategy to recover from a disaster with the minimum impact on IT infrastructure.

DLM (Distributed Lock Manager)

DLM coordinates accesses to shared resources in a cluster, for example, managing file locking in clustered file systems to increase performance and availability.

DRBD

DRBD® is a block device designed for building High Availability clusters. It replicates data on a primary device to secondary devices in a way that ensures all copies of the data remain identical.

existing cluster

The term existing cluster is used to refer to any cluster that consists of at least one node. An existing cluster has a basic Corosync configuration that defines the communication channels, but does not necessarily have resource configuration yet.

failover

Occurs when a resource or node fails on one machine and the affected resources move to another node.

failover domain

A named subset of cluster nodes that are eligible to run a resource if a node fails.

fencing

Prevents access to a shared resource by isolated or failing cluster members. There are two classes of fencing: resource-level fencing and node-level fencing. Resource-level fencing ensures exclusive access to a resource. Node-level fencing prevents a failed node from accessing shared resources and prevents resources from running on a node with an uncertain status. This is usually done by resetting or powering off the node.

GFS2

Global File System 2 (GFS2) is a shared disk file system for Linux computer clusters. GFS2 allows all nodes to have direct concurrent access to the same shared block storage. GFS2 has no disconnected operating mode, and no client or server roles. All nodes in a GFS2 cluster function as peers. GFS2 supports up to 32 cluster nodes. Using GFS2 in a cluster requires hardware to allow access to the shared storage, and a lock manager to control access to the storage.

group

Resource groups contain multiple resources that need to be located together, started sequentially and stopped in the reverse order.

Hawk (HA Web Konsole)

A user-friendly Web-based interface for monitoring and administering a High Availability cluster from Linux or non-Linux machines. Hawk can be accessed from any machine that can connect to the cluster nodes, using a graphical Web browser.

heuristics

QDevice supports using a set of commands (heuristics) that run locally on start-up of cluster services, cluster membership change, successful connection to the QNetd server, or optionally at regular times. The result is used in calculations to determine which partition should have quorum.

knet (kronosnet)

A network abstraction layer supporting redundancy, security, fault tolerance, and fast fail-over of network links. In SUSE Linux Enterprise High Availability 16, knet is the default transport protocol for the Corosync communication channels.

local cluster

A single cluster in one location (for example, all nodes are located in one data center). Network latency is minimal. Storage is typically accessed synchronously by all nodes.

local executor

The local executor is located between Pacemaker and the resources on each node. Through the pacemaker-execd daemon, Pacemaker can start, stop and monitor resources.

location

In the context of a whole cluster, location can refer to the physical location of nodes (for example, all nodes might be located in the same data center). In the context of a location constraint, location refers to the nodes on which a resource can or cannot run.

location constraint

A type of resource constraint that defines the nodes on which a resource can or cannot run.

meta attribute

Parameters that tell the CRM (cluster resource manager) how to treat a specific resource. For example, you might define a resource's priority or target role.

metro cluster

A single cluster that can stretch over multiple buildings or data centers, with all sites connected by Fibre Channel. Network latency is usually low. Storage is frequently replicated using mirroring or synchronous replication.

network device bonding

Network device bonding combines two or more network interfaces into a single bonded device to increase bandwidth and/or provide redundancy. When using Corosync, the bonded device is not managed by the cluster software. Therefore, the bonded device must be configured on every cluster node that might need to access it.

node

Any server (physical or virtual) that is a member of a cluster.

order constraint

A type of resource constraint that defines the sequence of actions.

Pacemaker

Pacemaker is the CRM (cluster resource manager) in SUSE Linux Enterprise High Availability, or the brain that reacts to events occurring in the cluster. Events might be nodes that join or leave the cluster, failure of resources, or scheduled activities such as maintenance, for example. The pacemakerd daemon launches and monitors all other related daemons.

parameters (instance attributes)

Parameters determine which instance of a service the resource controls.

primitive

A primitive resource is the most basic type of cluster resource.

promotable clone

Promotable clones are a special type of clone resource that can be promoted. Active instances of these resources are divided into two states: promoted and unpromoted (also known as active and passive or primary and secondary).

QDevice

QDevice and QNetd participate in quorum decisions. The corosync-qdevice daemon runs on each cluster node and communicates with QNetd to provide a configurable number of votes, allowing a cluster to sustain more node failures than the standard quorum rules allow.

QNetd

QNetd is an arbitrator that runs outside the cluster. The corosync-qnetd daemon provides a vote to the corosync-qdevice daemon on each node to help it participate in quorum decisions.

quorum

A cluster partition is defined to have quorum (be quorate) if it has the majority of nodes (or votes). Quorum distinguishes exactly one partition. This is part of the algorithm to prevent several disconnected partitions or nodes (split brain) from proceeding and causing data and service corruption. Quorum is a prerequisite for fencing, which then ensures that quorum is unique.

RA (resource agent)

A script acting as a proxy to manage a resource (for example, to start, stop or monitor a resource). SUSE Linux Enterprise High Availability supports different kinds of resource agents.

ReaR (Relax and Recover)

An administrator tool set for creating disaster recovery images.

resource

Any type of service or application that is known to Pacemaker, for example, an IP address, a file system, or a database. The term resource is also used for DRBD, where it names a set of block devices that use a common connection for replication.

resource constraint

Resource constraints specify which cluster nodes a resource can run on, what order the resources should start in, and which other resources a specific resource is dependent on.

See also colocation constraint, location constraint and order constraint.

resource set

As an alternative format for defining location, colocation or order constraints, you can use resource sets, where primitives are grouped together in one set. When creating a constraint, you can specify multiple resources for the constraint to apply to.

resource template

To help create many resources with similar configurations, you can define a resource template. After being defined, it can be referenced in primitives or in certain types of constraints. If a template is referenced in a primitive, the primitive inherits all operations, instance attributes (parameters), meta attributes and utilization attributes defined in the template.

SBD (STONITH Block Device)

SBD provides a node fencing mechanism through the exchange of messages via shared block storage. Alternatively, it can be used in diskless mode. In either case, it needs a hardware or software watchdog on each node to ensure that misbehaving nodes are really stopped.

scheduler

The scheduler is implemented as pacemaker-schedulerd. When a cluster transition is needed, pacemaker-schedulerd calculates the expected next state of the cluster and determines what actions need to be scheduled to achieve the next state.

split brain

A scenario in which the cluster nodes are divided into two or more groups that do not know about each other (either through a software or hardware failure). STONITH prevents a split-brain scenario from badly affecting the entire cluster. Also known as a partitioned cluster scenario.

The term split brain is also used in DRBD but means that the nodes contain different data.

SPOF (single point of failure)

Any component of a cluster that, if it fails, triggers the failure of the entire cluster.

stickiness

Resource stickiness is a meta attribute that determines how much a resource prefers to stay on its current node.

STONITH

Another term for the fencing mechanism that shuts down a misbehaving node to prevent it from causing trouble in a cluster. In a Pacemaker cluster, node fencing is managed by the fencing subsystem pacemaker-fenced.

switchover

The planned moving of resources to other nodes in a cluster. See also failover.

utilization

Tells the CRM what capacity a certain resource requires from a node.

watchdog

SBD (STONITH Block Device) needs a watchdog on each node to ensure that misbehaving nodes are really stopped. SBD feeds the watchdog by regularly writing a service pulse to it. If SBD stops feeding the watchdog, the hardware enforces a system restart. This protects against failures of the SBD process itself, such as becoming stuck on an I/O error.