Scroll to navigation

OCF_HEARTBEAT_REDIS(7) OCF resource agents OCF_HEARTBEAT_REDIS(7)

NAME

ocf_heartbeat_redis - 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 (Master role)

Performs a detailed status check. Suggested minimum timeout: 60s. Suggested interval: 20s.

monitor (Slave role)

Performs a detailed status check. Suggested minimum timeout: 60s. Suggested interval: 60s.

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="Master" depth="0" timeout="60s" interval="20s" \
op monitor role="Slave" depth="0" timeout="60s" interval="60s"

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 depth="0" timeout="60s" interval="45s" \
op monitor role="Master" depth="0" timeout="60s" interval="20s" \
op monitor role="Slave" depth="0" timeout="60s" interval="60s" --master

SEE ALSO

http://clusterlabs.org/

AUTHOR

ClusterLabs contributors (see the resource agent source for information about individual authors)

03/19/2024 resource-agents UNKNOWN