What is the difference between maintenance and standby in pacemaker

Solution 1:

Red Hat, being a major contributor of pacemaker (SUSE being another, from Clusterlabs' informations), provides quite good documentation about it.


Standby mode

standby mode is for a node being a part of a cluster. Setting a node in standby mode will (attempt to) migrate services on other online nodes.

4.4.5. Standby Mode

The following command puts the specified node into standby mode. The specified node is no longer able to host resources. Any resources currently active on the node will be moved to another node. If you specify the --all, this command puts all nodes into standby mode.

To set a node in standby mode:

    pcs cluster standby <node>

Maintenance mode

maintenance-mode is for the whole cluster. Setting the cluster in maintenance mode will make the cluster not attempt to manage services any more for whatever reason: the administrator of the cluster can now do actions without having the cluster interfering in any way.

4.8. Cluster Maintenance

In order to perform maintenance on the nodes of your cluster, you may need to stop or move the resources and services running on that cluster. Or you may need to stop the cluster software while leaving the services untouched. Pacemaker provides a variety of methods for performing system maintenance. [...] If you need to put the cluster in a state where no services will be started or stopped, you can set the maintenance-mode cluster property. Putting the cluster into maintenance mode automatically unmanages all resources. For information on setting cluster properties, see Table 12.1, “Cluster Properties”.

To set the cluster in maintenance mode:

pcs property set maintenance-mode=true

So for example, to compare two things which might appear similar: the main difference immediately visible between putting all nodes in standby mode, and putting the cluster in maintenance mode, is that for the former case, it will stop all services, since there's no online node any more, while for the later, services will stay as they were, started or not, on various nodes.

Solution 2:

I see this is an old question... but I think I can add something to the good answer above.

My experience is mostly in SLES clusters. It is possible to put either a cluster OR a node into maintenance mode. Maintenance mode puts the resources on that node into "unmanaged" state ─ where the resources are no longer monitored by the cluster, and the cluster will not stop or start resources. https://www.suse.com/support/kb/doc/?id=000019250

The pacemaker documentation also looks good to me. Perhaps it has been updated since the question was asked. https://clusterlabs.org/pacemaker/doc/en-US/Pacemaker/2.0/html-single/Pacemaker_Explained/index.html Search in that page for "maintenance".