2. Host-Local Configuration¶
Note
Directory and file paths below may differ on your system depending on your Pacemaker build settings. Check your Pacemaker configuration file to find the correct paths.
2.1. Configuration Value Types¶
Throughout this document, configuration values will be designated as having one of the following types:
Type | Description |
---|---|
boolean |
Case-insensitive text value where 1 , yes , y , on ,
and true evaluate as true and 0 , no , n , off ,
false , and unset evaluate as false |
date/time |
Textual timestamp like Sat Dec 21 11:47:45 2013 |
duration |
A nonnegative time duration, specified either like a timeout or an ISO 8601 duration. A duration may be up to approximately 49 days but is intended for much smaller time periods. |
enumeration |
Text that must be one of a set of defined values (which will be listed in the description) |
epoch_time |
Time as the integer number of seconds since the Unix epoch,
1970-01-01 00:00:00 +0000 (UTC) . |
id |
A text string starting with a letter or underbar, followed by any
combination of letters, numbers, dashes, dots, and/or underbars; when
used for a property named id , the string must be unique across all
id properties in the CIB |
integer |
32-bit signed integer value (-2,147,483,648 to 2,147,483,647) |
ISO 8601 |
An ISO 8601 date/time. |
nonnegative integer |
32-bit nonnegative integer value (0 to 2,147,483,647) |
percentage |
Floating-point number followed by an optional percent sign (‘%’) |
port |
Integer TCP port number (0 to 65535) |
range |
A range may be a single nonnegative integer or a dash-separated range of
nonnegative integers. Either the first or last value may be omitted to
leave the range open-ended. Examples: 0 , 3- , -5 , 4-6 . |
score |
A Pacemaker score can be an integer between -1,000,000 and 1,000,000, or
a string alias: INFINITY or +INFINITY is equivalent to
1,000,000, -INFINITY is equivalent to -1,000,000, and red ,
yellow , and green are equivalent to integers as described in
Tracking Node Health. |
text |
A text string |
timeout |
A time duration, specified as a bare number (in which case it is
considered to be in seconds) or a number with a unit (ms or msec
for milliseconds, us or usec for microseconds, s or sec
for seconds, m or min for minutes, h or hr for hours)
optionally with whitespace before and/or after the number. |
version |
Version number (any combination of alphanumeric characters, dots, and dashes, starting with a number). |
2.1.1. Scores¶
Scores are integral to how Pacemaker works. Practically everything from moving a resource to deciding which resource to stop in a degraded cluster is achieved by manipulating scores in some way.
Scores are calculated per resource and node. Any node with a negative score for a resource can’t run that resource. The cluster places a resource on the node with the highest score for it.
Score addition and subtraction follow these rules:
- Any value (including
INFINITY
) -INFINITY
=-INFINITY
INFINITY
+ any value other than-INFINITY
=INFINITY
Note
What if you want to use a score higher than 1,000,000? Typically this possibility arises when someone wants to base the score on some external metric that might go above 1,000,000.
The short answer is you can’t.
The long answer is it is sometimes possible work around this limitation creatively. You may be able to set the score to some computed value based on the external metric rather than use the metric directly. For nodes, you can store the metric as a node attribute, and query the attribute when computing the score (possibly as part of a custom resource agent).
2.2. Local Options¶
Pacemaker supports several host-local configuration options. These options can
be configured on each node in the main Pacemaker configuration file
(/etc/sysconfig/pacemaker
) in the format <NAME>="<VALUE>"
. They work by setting
environment variables when Pacemaker daemons start up.
Name | Type | Default | Description |
---|---|---|---|
CIB_pam_service |
text | login | PAM service to use for remote CIB client authentication (passed to
pam_start ). |
PCMK_logfacility |
enumeration | daemon | Enable logging via the system log or journal, using the specified log
facility. Messages sent here are of value to all Pacemaker
administrators. This can be disabled using
|
PCMK_logpriority |
enumeration | notice | Unless system logging is disabled using
|
PCMK_logfile |
text | /var/log/pacemaker/pacemaker.log | Unless set to none , more detailed log messages will be sent to the
specified file (in addition to the system log, if enabled). These
messages may have extended information, and will include messages of info
severity. This log is of more use to developers and advanced system
administrators, and when reporting problems. Note: The default is
/var/log/pcmk-init.log (inside the container) for bundled container
nodes; this would typically be mapped to a different path on the host
running the container. |
PCMK_logfile_mode |
text | 0660 | Pacemaker will set the permissions on the detail log to this value (see
chmod(1) ). |
PCMK_debug |
enumeration | no | Whether to send debug severity messages to the detail log. This may be
set for all subsystems (
Example: |
PCMK_stderr |
boolean | no | Advanced Use Only: Whether to send daemon log messages to stderr. This would be useful only during troubleshooting, when starting Pacemaker manually on the command line. Setting this option in the configuration file is pointless, since the file is not read when starting Pacemaker manually. However, it can be set directly as an environment variable on the command line. |
PCMK_trace_functions |
text | Advanced Use Only: Send debug and trace severity messages from these (comma-separated) source code functions to the detail log. Example:
|
|
PCMK_trace_files |
text | Advanced Use Only: Send debug and trace severity messages from all functions in these (comma-separated) source file names to the detail log. Example: |
|
PCMK_trace_formats |
text | Advanced Use Only: Send trace severity messages that are generated by these (comma-separated) format strings in the source code to the detail log. Example: |
|
PCMK_trace_tags |
text | Advanced Use Only: Send debug and trace severity messages related to these (comma-separated) resource IDs to the detail log. Example: |
|
PCMK_blackbox |
enumeration | no | Advanced Use Only: Enable blackbox logging globally ( The blackbox recorder can be enabled at start using this variable, or at
runtime by sending a Pacemaker subsystem daemon process a See PCMK_debug for allowed subsystems. Example:
|
PCMK_trace_blackbox |
enumeration | Advanced Use Only: Write a blackbox whenever the message at the specified function and line is logged. Multiple entries may be comma- separated. Example: |
|
PCMK_node_start_state |
enumeration | default | By default, the local host will join the cluster in an online or standby
state when Pacemaker first starts depending on whether it was previously
put into standby mode. If this variable is set to standby or
online , it will force the local host to join in the specified state. |
PCMK_node_action_limit |
nonnegative integer | If set, this overrides the node-action-limit cluster option on this node to specify the maximum number of jobs that can be scheduled on this node (or 0 to use twice the number of CPU cores). | |
PCMK_shutdown_delay |
timeout | Specify a delay before shutting down pacemakerd after shutting down
all other Pacemaker daemons. |
|
PCMK_fail_fast |
boolean | no | By default, if a Pacemaker subsystem crashes, the main pacemakerd
process will attempt to restart it. If this variable is set to yes ,
pacemakerd will panic the local host instead. |
PCMK_panic_action |
enumeration | reboot | Pacemaker will panic the local host under certain conditions. By default,
this means rebooting the host. This variable can change that behavior: if
crash , trigger a kernel crash (useful if you want a kernel dump to
investigate); if sync-reboot or sync-crash , synchronize
filesystems before rebooting the host or triggering a kernel crash. The
sync values are more likely to preserve log messages, but with the risk
that the host may be left active if the synchronization hangs. |
PCMK_authkey_location |
text | /etc/pacemaker/authkey | Use the contents of this file as the authorization key to use with
Pacemaker Remote connections. This file must be readable by Pacemaker
daemons (that is, it must allow read permissions to either the
hacluster user or the haclient group), and its contents
must be identical on all nodes. |
PCMK_remote_address |
text | By default, if the Pacemaker Remote service is run on the local node, it will listen for connections on all IP addresses. This may be set to one address to listen on instead, as a resolvable hostname or as a numeric IPv4 or IPv6 address. When resolving names or listening on all addresses, IPv6 will be preferred if available. When listening on an IPv6 address, IPv4 clients will be supported via IPv4-mapped IPv6 addresses. Example: |
|
PCMK_remote_port |
port | 3121 | Use this TCP port number for Pacemaker Remote node connections. This value must be the same on all nodes. |
PCMK_remote_pid1 |
enumeration | default | Advanced Use Only: When a bundle resource’s This option controls whether those actions are performed when Pacemaker
Remote is not running as PID 1. It is intended primarily for developer
testing but can be useful when
If Pacemaker Remote is running as PID 1, this option is ignored, and the
behavior is the same as for |
PCMK_tls_priorities |
text | NORMAL | Advanced Use Only: These GnuTLS cipher priorities will be used for TLS connections (whether for Pacemaker Remote connections or remote CIB access, when enabled). See: Pacemaker will append Example:
|
PCMK_dh_min_bits |
nonnegative integer | 0 (no minimum) | Advanced Use Only: Set a lower bound on the bit length of the prime number generated for Diffie-Hellman parameters needed by TLS connections. The default is no minimum. The server (Pacemaker Remote daemon, or CIB manager configured to accept remote clients) will use this value to provide a floor for the value recommended by the GnuTLS library. The library will only accept a limited number of specific values, which vary by library version, so setting these is recommended only when required for compatibility with specific client versions. Clients (connecting cluster nodes or remote CIB commands) will require that the server use a prime of at least this size. This is recommended only when the value must be lowered in order for the client’s GnuTLS library to accept a connection to an older server. |
PCMK_dh_max_bits |
nonnegative integer | 0 (no maximum) | Advanced Use Only: Set an upper bound on the bit length of the prime number generated for Diffie-Hellman parameters needed by TLS connections. The default is no maximum. The server (Pacemaker Remote daemon, or CIB manager configured to accept remote clients) will use this value to provide a ceiling for the value recommended by the GnuTLS library. The library will only accept a limited number of specific values, which vary by library version, so setting these is recommended only when required for compatibility with specific client versions. Clients do not use |
PCMK_ipc_type |
enumeration | shared-mem | Advanced Use Only: Force use of a particular IPC method. Allowed values:
|
PCMK_ipc_buffer |
nonnegative integer | 131072 | Advanced Use Only: Specify an IPC buffer size in bytes. This can be useful when connecting to large clusters that result in messages exceeding the default size (which will also result in log messages referencing this variable). |
PCMK_cluster_type |
enumeration | corosync | Advanced Use Only: Specify the cluster layer to be used. If unset,
Pacemaker will detect and use a supported cluster layer, if available.
Currently, "corosync" is the only supported cluster layer. If
multiple layers are supported in the future, this will allow overriding
Pacemaker’s automatic detection to select a specific one. |
PCMK_schema_directory |
text | /usr/share/pacemaker | Advanced Use Only: Specify an alternate location for RNG schemas and XSL transforms. |
PCMK_remote_schema_directory |
text | /var/lib/pacemaker/schemas | Advanced Use Only: Specify an alternate location on Pacemaker Remote nodes for storing newer RNG schemas and XSL transforms fetched from the cluster. |
PCMK_valgrind_enabled |
enumeration | no | Advanced Use Only: Whether subsystem daemons should be run under
valgrind . Allowed values are the same as for PCMK_debug . |
PCMK_callgrind_enabled |
enumeration | no | Advanced Use Only: Whether subsystem daemons should be run under
valgrind with the callgrind tool enabled. Allowed values are the
same as for PCMK_debug . |
SBD_SYNC_RESOURCE_STARTUP |
boolean | If true, pacemakerd waits for a ping from sbd during startup
before starting other Pacemaker daemons, and during shutdown after
stopping other Pacemaker daemons but before exiting. Default value is set
based on the --with-sbd-sync-default configure script option. |
|
SBD_WATCHDOG_TIMEOUT |
duration | If the stonith-watchdog-timeout cluster property is set to a negative
or invalid value, use double this value as the default if positive, or
use 0 as the default otherwise. This value must be greater than the value
of stonith-watchdog-timeout if both are set. |
|
VALGRIND_OPTS |
text | Advanced Use Only: Pass these options to valgrind, when enabled (see
valgrind(1) ). "--vgdb=no" should usually be specified because
pacemaker-execd can lower privileges when executing commands, which
would otherwise leave a bunch of unremovable files in /tmp . |