---
name: "ocf_heartbeat_redis"
section: "7"
platform: "linux"
package: "resource-agents"
version: "1:4.16.0-3+deb13u2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ocf_heartbeat_redis"
---

# ocf\_heartbeat\_redis(7)

Redis server

## 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 (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)](/crm/8.md) 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/8.md)

```
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

**http://clusterlabs.org/**

## AUTHOR

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