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)