ocf_heartbeat_redis - Man Page
Redis server
Synopsis
redis [start | stop | status | monitor | promote | demote | meta-data | validate-all]
Description
Resource agent script for redis server.
This resource fully supports master/slave replication. The master preference of a node is determined by the 'slave_priority' parameter of the redis config. When taking the resource from 'unmanaged' to 'managed', the currently active master will be given a priority of 1000 (plus 1 for each active connection). The default 'slave_priority' is 100, so the master will stay master. For a slave to become master after converting the resource to managed, set a slave_priority greater than 1000.
Supported Parameters
- bin
Path to `redis-server`
(optional, string, default "/usr/bin/redis-server")
- client_bin
Path to `redis-cli`
(optional, string, default "/usr/bin/redis-cli")
- config
Path to 'redis.conf'
(unique, optional, string, default "/etc/redis/redis.conf")
- user
User to run redis as
(optional, string, default "redis")
- rundir
Directory to store socket and pid file in
(unique, optional, string, default "/var/run/redis")
- pidfile_name
The filename to use for the pidfile. Will be created in the rundir. Should only be a basename, not a full path.
(optional, string, default "redis-server.pid")
- socket_name
The filename to use for the socket. Will be crated in the rundir. Should only be a basename, not a full path.
(optional, string, default "redis.sock")
- port
Port for replication client to connect to on remote server
(optional, string, default "6379")
- tunnel_host
When replication traffic is tunnelled, this is the host to target to forward outgoing traffic to the redis master. The resource agent configures the redis slave to target the master via tunnel_host:tunnel_port.
Note that in order to enable replication traffic tunneling, parameter {tunnel_port_map} must be populated.
(optional, string, default "127.0.0.1")
- tunnel_port_map
A mapping of pacemaker node names to redis port number.
To be used when redis servers need to tunnel replication traffic. On every node where the redis resource is running, the redis server listens to a different port. Each redis server can access its peers for replication traffic via a tunnel accessible at {tunnel_host}:port.
The mapping the form of: pcmk1-name:port-for-redis1;pcmk2-name:port-for-redis2;pcmk3-name:port-for-redis3
where the redis resource started on node pcmk1-name would listen on port port-for-redis1
(optional, string, no default)
- wait_last_known_master
During redis cluster bootstrap, wait for the last known master to be promoted before allowing any other instances in the cluster to be promoted. This lessens the risk of data loss when persistent data is in use.
(optional, boolean, default false)
Supported Actions
This resource agent supports the following actions (operations):
- start
Starts the resource. Suggested minimum timeout: 120s.
- stop
Stops the resource. Suggested minimum timeout: 120s.
- status
Performs a status check. Suggested minimum timeout: 60s.
- monitor
Performs a detailed status check. Suggested minimum timeout: 60s. Suggested interval: 45s.
- monitor (Promoted role)
Performs a detailed status check. Suggested minimum timeout: 60s. Suggested interval: 20s.
- promote
Promotes the resource to the Master role. Suggested minimum timeout: 120s.
- demote
Demotes the resource to the Slave role. Suggested minimum timeout: 120s.
- notify
Suggested minimum timeout: 90s.
- validate-all
Performs a validation of the resource configuration. Suggested minimum timeout: 5s.
- meta-data
Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5s.
Example CRM Shell
The following is an example configuration for a redis resource using the crm(8) shell:
primitive p_redis ocf:heartbeat:redis \ op monitor depth="0" timeout="60s" interval="45s" \ op monitor role="Promoted" depth="0" timeout="60s" interval="20s"
ms ms_redis p_redis \ meta notify="true" interleave="true"
Example PCS
The following is an example configuration for a redis resource using pcs(8)
pcs resource create p_redis ocf:heartbeat:redis \ op monitor OCF_CHECK_LEVEL="0" timeout="60s" interval="45s" \ op monitor role="Promoted" OCF_CHECK_LEVEL="0" timeout="60s" interval="20s" promotable
See Also
Author
ClusterLabs contributors (see the resource agent source for information about individual authors)