---
name: "ocf_heartbeat_CTDB"
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_CTDB"
---

# ocf\_heartbeat\_CTDB(7)

CTDB Resource Agent

## NAME

ocf\_heartbeat\_CTDB - CTDB Resource Agent

## SYNOPSIS

**CTDB** \[start \| stop \| monitor \| meta-data \| validate-all\]

## DESCRIPTION

This resource agent manages CTDB, allowing one to use Clustered Samba in a Linux-HA/Pacemaker cluster. You need a shared filesystem (e.g. OCFS2 or GFS2) on which the CTDB lock will be stored. Create /etc/ctdb/nodes containing a list of private IP addresses of each node in the cluster, then configure this RA as a clone. This agent expects the samba and windbind resources to be managed outside of CTDB's control as a separate set of resources controlled by the cluster manager. The optional support for enabling CTDB management of these daemons will be depreciated.

For more information see http://linux-ha.org/wiki/CTDB\_(resource\_agent)

## SUPPORTED PARAMETERS

**ctdb\_recovery\_lock**

The location of a shared lock file or helper binary, common across all nodes. See CTDB documentation for details.

(unique, required, string, no default)

**ctdb\_manages\_samba**

Should CTDB manage starting/stopping the Samba service for you? This will be deprecated in future, in favor of configuring a separate Samba resource.

(optional, boolean, default no)

**ctdb\_manages\_winbind**

Should CTDB manage starting/stopping the Winbind service for you? This will be deprecated in future, in favor of configuring a separate Winbind resource.

(optional, boolean, default no)

**ctdb\_service\_smb**

Name of smb init script. Only necessary if CTDB is managing Samba directly. Will usually be auto-detected.

(optional, string, no default)

**ctdb\_service\_nmb**

Name of nmb init script. Only necessary if CTDB is managing Samba directly. Will usually be auto-detected.

(optional, string, no default)

**ctdb\_service\_winbind**

Name of winbind init script. Only necessary if CTDB is managing Winbind directly. Will usually be auto-detected.

(optional, string, no default)

**ctdb\_samba\_skip\_share\_check**

If there are very many shares it may not be feasible to check that all of them are available during each monitoring interval. In that case this check can be disabled.

(optional, boolean, default yes)

**ctdb\_monitor\_free\_memory**

If the amount of free memory drops below this value the node will become unhealthy and ctdb and all managed services will be shutdown. Once this occurs, the administrator needs to find the reason for the OOM situation, rectify it and restart ctdb with "service ctdb start". With CTDB 4.4.0 and later this parameter is ignored.

(optional, integer, default 100)

**ctdb\_start\_as\_disabled**

When set to yes, the CTDB node will start in DISABLED mode and not host any public ip addresses.

(optional, boolean, default no)

**ctdb\_config\_dir**

The directory containing various CTDB configuration files. The "nodes" and "notify.sh" scripts are expected to be in this directory.

(optional, string, default "/etc/ctdb")

**ctdb\_binary**

Full path to the CTDB binary.

(optional, string, default "/usr/bin/ctdb")

**ctdbd\_binary**

Full path to the CTDB cluster daemon binary.

(optional, string, default "/usr/sbin/ctdbd")

**ctdb\_socket**

Full path to the domain socket that ctdbd will create, used for local clients to attach and communicate with the ctdb daemon. With CTDB 4.9.0 and later the socket path is hardcoded at build time, so this parameter is ignored.

(unique, optional, string, default "/run/ctdb/ctdbd.socket")

**ctdb\_dbdir**

The directory to put the local CTDB database files in. Persistent database files will be put in ctdb\_dbdir/persistent.

(unique, optional, string, default "/var/run")

**ctdb\_logfile**

Full path to log file. To log to syslog instead, use the value "syslog".

(optional, string, default "/var/log/ctdb/log.ctdb")

**ctdb\_rundir**

Full path to ctdb runtime directory, used for storage of socket lock state.

(optional, string, default "/run/ctdb")

**ctdb\_timeout**

Indicates that ctdb should wait up to TIMEOUT seconds for a response to most commands sent to the CTDB daemon.

(unique, optional, integer, default 10)

**ctdb\_debuglevel**

What debug level to run at (0-10). Higher means more verbose.

(optional, integer, default 2)

**ctdb\_max\_open\_files**

Maximum number of open files (for ulimit -n)

(optional, integer, no default)

**smb\_conf**

Path to default samba config file. Only necessary if CTDB is managing Samba.

(optional, string, default "/etc/samba/smb.conf")

**smb\_private\_dir**

The directory for smbd to use for storing such files as smbpasswd and secrets.tdb. Old versions of CTBD (prior to 1.0.50) required this to be on shared storage. This parameter should not be set for current versions of CTDB, and only remains in the RA for backwards compatibility.

(unique, optional, string, no default)

**smb\_passdb\_backend**

Which backend to use for storing user and possibly group information. Only necessary if CTDB is managing Samba.

(optional, string, default "tdbsam")

**smb\_idmap\_backend**

Which backend to use for SID/uid/gid mapping. Only necessary if CTDB is managing Samba.

(optional, string, default "tdb2")

**smb\_fileid\_algorithm**

Which fileid:algorithm to use with vfs\_fileid. The correct value depends on which clustered filesystem is in use, e.g.: for OCFS2, this should be set to "fsid". Only necessary if CTDB is managing Samba.

(optional, string, no default)

## SUPPORTED ACTIONS

This resource agent supports the following actions (operations):

**start**

Starts the resource. Suggested minimum timeout: 90s.

**stop**

Stops the resource. Suggested minimum timeout: 100s.

**monitor**

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

**meta-data**

Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5s.

**validate-all**

Performs a validation of the resource configuration. Suggested minimum timeout: 30s.

## EXAMPLE CRM SHELL

The following is an example configuration for a CTDB resource using the [**crm**(8)](/crm/8.md) shell:

```
primitive p_CTDB ocf:heartbeat:CTDB \
  params \
    ctdb_recovery_lock=string \
  op monitor timeout="20s" interval="10s" depth="0"
```

## EXAMPLE PCS

The following is an example configuration for a CTDB resource using [**pcs**(8)](/pcs/8.md)

```
pcs resource create p_CTDB ocf:heartbeat:CTDB \
  ctdb_recovery_lock=string \
  op monitor timeout="20s" interval="10s" OCF_CHECK_LEVEL="0"
```

## SEE ALSO

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

## AUTHOR

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