CTDB and Clustered Samba: Difference between revisions
From SambaWiki
m (MartinSchwenke moved page CTDB to CTDB and Clustered Samba: More informative title) |
m (/* added note) |
||
(22 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
= Introduction = |
|||
⚫ | |||
CTDB is a clustered database component in clustered Samba that provides a high-availability load-sharing CIFS server cluster. |
CTDB is a clustered database component in clustered Samba that provides a high-availability load-sharing CIFS server cluster. |
||
Line 13: | Line 13: | ||
Combined with a cluster filesystem CTDB provides a full high-availablity (HA) environment for services such as clustered Samba, NFS and other services. |
Combined with a cluster filesystem CTDB provides a full high-availablity (HA) environment for services such as clustered Samba, NFS and other services. |
||
{{Imbox |
|||
⚫ | |||
| type = note |
|||
| text = It should be noted that CTDB cannot be used with Samba AD DC's, it should only be used with Unix domain members or standalone servers. |
|||
}} |
|||
⚫ | |||
⚫ | |||
⚫ | |||
== Getting CTDB Source code == |
|||
⚫ | |||
If you [[Obtaining_Samba|download source code for Samba >= 4.2.0]] then CTDB is included in the <code>ctdb</code> subdirectory. |
|||
⚫ | |||
== Binary packages == |
|||
⚫ | |||
* Your operating system may include pre-built packages for Samba and CTDB |
|||
⚫ | |||
* If you use pre-built packages then you need to ensure that Samba was built with cluster support |
|||
More details: |
|||
: You can get information about smbd's clustering features: |
|||
* [[Getting and Building CTDB]] |
|||
# smbd -b | grep -i 'ctdb\|cluster' |
|||
* [[Upgrading a CTDB cluster]] |
|||
CLUSTER_SUPPORT |
|||
CTDB_SOCKET |
|||
Cluster support features: |
|||
CLUSTER_SUPPORT |
|||
CTDB_SOCKET: /var/run/ctdb/ctdbd.socket |
|||
CTDB_PROTOCOL: 1 |
|||
⚫ | |||
: Note that output may vary slightly, but the <code>CLUSTER_SUPPORT</code> feature must be present. |
|||
* [[Basic CTDB configuration]] |
|||
* CTDB will usually be in a separate package to other Samba components called <code>ctdb</code> |
|||
* [[Setting up a cluster filesystem]] |
|||
* [[Configuring the CTDB recovery lock]] |
|||
* [[Adding public IP addresses]] |
|||
* [[Configuring clustered Samba]] |
|||
* [[Setting up CTDB for Clustered NFS]] |
|||
* [[Setting up CTDB with other services]] |
|||
* [[Advanced CTDB configuration]] |
|||
* [[Samba_CTDB_GPFS_Cluster_HowTo|CTDB with GPFS]] |
|||
* [[GFS_CTDB_HowTo|CTDB with GFS]] |
|||
= Analysing CTDB problems = |
|||
== Building from source code == |
|||
* [[Merged logs]] |
|||
CTDB should be built with Samba. Add the following options to the <code>./configure</code> command. |
|||
* [[CTDB log file search patterns]] |
|||
= Developing CTDB = |
|||
; <code>--with-cluster-support</code> : This enables clustering support in Samba and includes CTDB in the build |
|||
; <code>--with-shared-modules=idmap_rid,idmap_tdb2,idmap_ad</code> : Clustered Samba needs an IDMAP facility so it is worth building a few |
|||
* [[CTDB database design]] |
|||
Other than that, just [[Build_Samba_from_Source|follow instructions for building Samba]]. |
|||
* [[Running CTDB tests]] |
|||
= Historical and Background Information = |
|||
== Legacy CTDB versions == |
|||
Note that some of this information is out of date. |
|||
You should use a version of CTDB that comes with [[Samba_Release_Planning|a supported Samba version]]. |
|||
However, [https://download.samba.org/pub/ctdb/ legacy, standalone versions of CTDB are still available] (including [[CTDB2releaseNotes|2.x]]). These versions were used with Samba versions older than 4.2.0. |
|||
The code is also available from the CTDB git repository at git://git.samba.org/ctdb.git. See also the [https://git.samba.org/?p=ctdb.git;a=summary GIT web interface]. |
|||
⚫ | |||
* [[CTDB Project]] |
|||
* [[CTDB_Setup|Configuring a Samba Cluster with CTDB]] |
|||
⚫ | |||
* [[Samba & Clustering]] |
|||
* [http://samba.org/~obnox/presentations/sambaXP-2009/ Michael Adam's clustered NAS articles] |
Revision as of 16:55, 23 November 2020
Introduction
CTDB is a clustered database component in clustered Samba that provides a high-availability load-sharing CIFS server cluster.
The main functions of CTDB are:
- Provide a clustered version of the TDB database with automatic rebuild/recovery of the databases upon node failures.
- Monitor nodes in the cluster and services running on each node.
- Manage a pool of public IP addresses that are used to provide services to clients. Alternatively, CTDB can be used with LVS.
Combined with a cluster filesystem CTDB provides a full high-availablity (HA) environment for services such as clustered Samba, NFS and other services.
It should be noted that CTDB cannot be used with Samba AD DC's, it should only be used with Unix domain members or standalone servers. |
Supported platforms
CTDB is primarily developed and tested on Linux. A subset of features may work on other platforms.
Getting and Building CTDB
Samba and CTDB must be installed on all nodes of a cluster. CTDB is part of Samba (>= 4.2.0), so to get CTDB you need to get Samba.
More details:
Configuring Clusters with CTDB
- Basic CTDB configuration
- Setting up a cluster filesystem
- Configuring the CTDB recovery lock
- Adding public IP addresses
- Configuring clustered Samba
- Setting up CTDB for Clustered NFS
- Setting up CTDB with other services
- Advanced CTDB configuration
- CTDB with GPFS
- CTDB with GFS
Analysing CTDB problems
Developing CTDB
Historical and Background Information
Note that some of this information is out of date.