Configuring Monitor Election Strategies
By default, the monitors are in classic
mode. We recommend staying in this
mode unless you have a very specific reason.
If you want to switch modes BEFORE constructing the cluster, change the mon
election default strategy
option. This option takes an integer value:
1
forclassic
2
fordisallow
3
forconnectivity
After your cluster has started running, you can change strategies by running a command of the following form:
$ ceph mon set election_strategy {classic|disallow|connectivity}
Choosing a mode
The modes other than classic
provide specific features. We recommend staying
in classic
mode if you don’t need these extra features because it is the
simplest mode.
Disallow Mode
The disallow
mode allows you to mark monitors as disallowed. Disallowed
monitors participate in the quorum and serve clients, but cannot be elected
leader. You might want to use this mode for monitors that are far away from
clients.
To disallow a monitor from being elected leader, run a command of the following form:
ceph mon add disallowed_leader {name}
To remove a monitor from the disallowed list and allow it to be elected leader, run a command of the following form:
ceph mon rm disallowed_leader {name}
To see the list of disallowed leaders, examine the output of the following command:
ceph mon dump
Connectivity Mode
The connectivity
mode evaluates connection scores that are provided by each
monitor for its peers and elects the monitor with the highest score. This mode
is designed to handle network partitioning (also called net-splits): network
partitioning might occur if your cluster is stretched across multiple data
centers or otherwise has a non-uniform or unbalanced network topology.
The connectivity
mode also supports disallowing monitors from being elected
leader by using the same commands that were presented in Disallow Mode.
Examining connectivity scores
The monitors maintain connection scores even if they aren’t in connectivity
mode. To examine a specific monitor’s connection scores, run a command of the
following form:
ceph daemon mon.{name} connection scores dump
Scores for an individual connection range from 0
to 1
inclusive and
include whether the connection is considered alive or dead (as determined by
whether it returned its latest ping before timeout).
Connectivity scores are expected to remain valid. However, if during troubleshooting you determine that these scores have for some reason become invalid, drop the history and reset the scores by running a command of the following form:
ceph daemon mon.{name} connection scores reset
Resetting connectivity scores carries little risk: monitors will still quickly determine whether a connection is alive or dead and trend back to the previous scores if those scores were accurate. Nevertheless, resetting scores ought to be unnecessary and it is not recommended unless advised by your support team or by a developer.
Brought to you by the Ceph Foundation
The Ceph Documentation is a community resource funded and hosted by the non-profit Ceph Foundation. If you would like to support this and our other efforts, please consider joining now.