ctdb-web: Update another reference to the CTDB wiki.
[amitay/ctdb-web.git] / web / index.html
1 <!--#set var="TITLE" value="CTDB" -->
2 <!--#include virtual="header.html" -->
3
4 <H2 align="center">Welcome to the CTDB web pages</H2>
5
6 CTDB is a cluster implementation of the TDB database used by Samba and
7 other projects to store temporary data. If an application is already
8 using TDB for temporary data it is very easy to convert that
9 application to be cluster aware and use CTDB instead.
10
11 <p>CTDB provides the same types of functions as TDB but in a clustered
12   fashion, providing a TDB-style database that spans multiple physical
13   hosts in a cluster.
14
15 <p>Features include:
16 <ul>
17 <li>CTDB provides a TDB that has consistent data and consistent locking across
18 all nodes in a cluster.
19 <li>CTDB is very fast.
20 <li>In case of node failures, CTDB will automatically recover and
21   repair all TDB databases that it manages.
22 <li>CTDB is the core component that provides <strong>pCIFS</strong>
23 ("parallel CIFS") with Samba3/4.
24 <li>CTDB provides HA features such as node monitoring, node failover,
25   and IP takeover.
26 <li>CTDB provides a reliable messaging transport to allow applications
27  linked with CTDB to communicate to other instances of the application
28  running on different nodes in the cluster.
29 <li>CTDB has pluggable transport backends. Currently implemented backends are TCP
30  and Infiniband.
31 <li>CTDB supports a system of application specific management scripts,
32   allowing applications that depend on network or filesystem resources
33   to be managed in a highly available manner on a cluster.
34 </ul>
35
36 <h2>Requirements</h2>
37
38 CTDB relies on a clustered filesystem being available and shared on
39 all nodes that participate in the CTDB cluster. This filesystem must
40 be mounted and available on all nodes in the CTDB cluster.
41
42 <p>On top of this cluster filesystem, CTDB then provides clustered HA
43 features so that data from the clustered filesystem can be exported
44 through multiple nodes in the CTDB cluster using various
45 services. Currently included with CTDB are the necessary hooks for Samba, NFS
46   and ftp exports. Support for new service types can easily be added.
47
48 <h2>TDB</h2>
49
50 TDB is a very fast simple database that was originally developed for
51 use in Samba. Today several other projects use TDB to store their data.
52
53 <p>See the <a
54 href="http://samba.org/ftp/unpacked/tdb/docs/README">TDB
55 README file</a> for a description of how TDB is used.
56
57 <h2>Documentation</h2>
58
59 <p>
60   Most documentation about how to install and configure CTDB is
61   available in
62   the <a href="http://wiki.samba.org/index.php/CTDB_and_Clustered_Samba">CTDB
63     Wiki</a>.
64 </p>
65
66 <p>
67   Additional documentation that is not yet included in the wiki is
68   <a href="./documentation.html">available</a>.
69 </p>
70
71 <h2>High Availability Features</h2>
72
73 The CTDB nodes in a cluster designates one node as a recovery master
74 through an election process. If the recovery master node fails a
75 new election is initiated so that the cluster will always guarantee
76 there will be a recovery master. The recovery master will
77 continuously monitor the cluster to verify that all nodes contain a
78 consistent configuration and view of the cluster and will initiate a
79 recovery process when required.
80
81 <p>During the recovery phase, the recovery master will automatically
82 rebuild/recover all clustered TDB database to ensure that the
83 databases are consistent. Recovery typically takes between 1 and 3
84 seconds. During the recovery period the databases are 'frozen', and
85 all database IO operations by ctdb clients are suspended.
86
87 <h3>Is CTDB a HA solution?</h3>
88
89 Yes and no.<p>
90
91 CTDB alone is not a HA solution, but when you combine CTDB with a clustered 
92 filesystem it becomes one.<p>
93
94 CTDB is primarily developed around the concept of having a shared
95 cluster filesystem across all the nodes in the cluster to provide the
96 features required for building a NAS cluster.<p>
97
98 Thus CTDB relies on an external component (the cluster filesystem) to
99 provide the mechanisms for avoiding split-brain and other core
100 clustering tasks.<p>
101
102 However, if you do have a clustered filesystem for all the nodes, in
103 that scenario CTDB will provide a very easy to install and manage
104 solution for your clustering HA needs.
105
106 <h3>IP Takeover</h3>
107
108 When a node in a cluster fails, CTDB will arrange that a different
109 node takes over the IP address of the failed node to ensure that the
110 IP addresses for the services provided are always available.
111
112 <p>To speed up the process of IP takeover and when clients attached to
113 a failed node recovers as fast as possible, CTDB will automatically
114 generate gratuitous ARP packets to inform all nodes of the changed MAC
115 address for that IP.  CTDB will also send "tickle ACK" packets to all
116 attached clients to trigger the clients to immediately recognize that
117 the TCP connection needs to be re-established and to shortcut any TCP
118 retransmission timeouts that may be active in the clients.
119
120 <h2>Discussion and bug reports</h2>
121
122 For discussions please use
123 the <a href="https://lists.samba.org/mailman/listinfo/samba-technical">samba-technical</a>
124 mailing list. To submit a bug report, please use
125 the <a href="http://bugzilla.samba.org/">Samba bugzilla</a> bug
126 tracking system.
127
128 <p>We would be very interested in hearing from and work with other
129 projects that want to make their services cluster aware using CTDB.
130
131 <p>CTDB discussions also happen on the #ctdb IRC channel on freenode.net
132
133
134 <hr>
135 <h2>Developers</h2>
136 <ul>
137 <li><a href="http://samba.org/~tridge/">Andrew Tridgell</a></li>
138 <li><a href="http://samba.org/~sahlberg/">Ronnie Sahlberg</a></li>
139 <li><a href="http://samba.org/~obnox/">Michael Adam</a></li>
140 <li>Peter Somogyi</li>
141 <li><a href="http://sernet.de/Samba/">Volker Lendecke</a></li>
142 <li>Stefan Metzmacher</li>
143 <li><a href="http://meltin.net/people/martin/">Martin Schwenke</a></li>
144 <li>Amitay Isaacs</li>
145 </ul>
146
147 <!--#include virtual="footer.html" -->