TODO: server: add --panic-action and CTDB_PANIC_ACTION option for backtrace support
[metze/ctdb/wip.git] / config / ctdb.sysconfig
1 # Options to ctdbd. This is read by /etc/init.d/ctdb
2
3 # You must specify the location of a shared lock file across all the
4 # nodes for split brain prevention to work.
5 # This must be on shared storage.
6 # CTDB can operate without a reclock file, but this means that there is no
7 # protection against a split brain.
8 # It is strongly suggested to NOT run ctdb without a reclock file.
9 CTDB_RECOVERY_LOCK="/some/place/on/shared/storage"
10
11 # when doing IP takeover you also may specify what network interface
12 # to use by default for the public addresses. Otherwise you must
13 # specify an interface on each line of the public addresses file
14 # there is no default
15 # CTDB_PUBLIC_INTERFACE=eth0
16
17 # Should ctdb do IP takeover? If it should, then specify a file
18 # containing the list of public IP addresses that ctdb will manage
19 # Note that these IPs must be different from those in $NODES above
20 # there is no default.
21 # The syntax is one line per public address of the form :
22 #   <ipaddress>/<netmask> <interface>
23 # Example: 10.1.1.1/24 eth0
24 #
25 # CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
26
27 # Should CTDB present the cluster using a single public ip address to clients
28 # and multiplex clients across all CONNECTED nodes ?
29 # This is based on LVS 
30 # When this is enabled, the entire cluster will present one single ip address
31 # which clients will connect to.
32 # CTDB_LVS_PUBLIC_IP=10.1.1.1
33
34
35 # should ctdb manage starting/stopping the Samba service for you?
36 # default is to not manage Samba
37 # CTDB_MANAGES_SAMBA=yes
38
39 # If there are very many shares it may not be feasible to check that all
40 # of them are available during each monitoring interval.
41 # In that case this check can be disabled
42 # CTDB_SAMBA_SKIP_SHARE_CHECK=yes
43 # CTDB_NFS_SKIP_SHARE_CHECK=yes
44
45 # specify which ports we should check that there is a daemon listening to
46 # by default we use testparm and look in smb.conf to figure out.
47 # CTDB_SAMBA_CHECK_PORTS="445"
48
49 # should ctdb manage starting/stopping Winbind service?
50 # if left comented out then it will be autodetected based on smb.conf
51 # CTDB_MANAGES_WINBIND=yes
52
53 # should ctdb manage starting/stopping the VSFTPD service
54 # CTDB_MANAGES_VSFTPD=yes
55
56 # should ctdb manage starting/stopping the ISCSI service
57 # CTDB_MANAGES_ISCSI=yes
58
59 # should ctdb manage starting/stopping the NFS service
60 # CTDB_MANAGES_NFS=yes
61
62 # should ctdb manage starting/stopping the Apache web server httpd?
63 # CTDB_MANAGES_HTTPD
64
65 # The init style (redhat/suse/debian...) is usually auto-detected.
66 # The names of init scripts of services managed by CTDB are set
67 # based on the detected init style. You can override the init style
68 # auto-detection here to explicitly use a scheme. This might be
69 # useful when you have installed a packages (for instance samba
70 # packages) with a different init script layout.
71 # There is no default.
72 # CTDB_INIT_STYLE=redhat
73
74 # The following are specific Samba init scripts / services that you
75 # can override from auto-detection.
76 # There are no defaults.
77 # CTDB_SERVICE_SMB=smb
78 # CTDB_SERVICE_NMB=nmb
79 # CTDB_SERVICE_WINBIND=winbind
80
81 # you may wish to raise the file descriptor limit for ctdb
82 # use a ulimit command here. ctdb needs one file descriptor per
83 # connected client (ie. one per connected client in Samba)
84 #  ulimit -n 10000
85
86 # the NODES file must be specified or ctdb won't start
87 # it should contain a list of IPs that ctdb will use
88 # it must be exactly the same on all cluster nodes
89 # defaults to /etc/ctdb/nodes
90 # CTDB_NODES=/etc/ctdb/nodes
91
92 # a script to run when node health changes
93 # CTDB_NOTIFY_SCRIPT=/etc/ctdb/notify.sh
94
95 # the directory to put the local ctdb database files in
96 # defaults to /var/ctdb
97 # CTDB_DBDIR=/var/ctdb
98
99 # the directory to put the local persistent ctdb database files in
100 # defaults to /var/ctdb/persistent
101 # CTDB_DBDIR_PERSISTENT=/var/ctdb/persistent
102
103 # the directory where service specific event scripts are stored
104 # defaults to /etc/ctdb/events.d
105 # CTDB_EVENT_SCRIPT_DIR=/etc/ctdb/events.d
106
107 # the location of the local ctdb socket
108 # defaults to /tmp/ctdb.socket
109 # CTDB_SOCKET=/tmp/ctdb.socket
110
111 # what transport to use. Only tcp is currently supported
112 # defaults to tcp
113 # CTDB_TRANSPORT="tcp"
114
115 # These setting allow monitoring for low/out-out of memory conditions.
116 #
117 # If set, once available memory drops below CTDB_MONITOR_FREE_MEMORY_WARN
118 # ctdb will start logging messages that memory is low, but will not
119 # take any further action.
120 #
121 # If the amount of free memory drops below CTDB_MONITOR_FREE_MEMORY 
122 # ctdb will fail all service over to a different node and finally shutdown.
123 # Once this occurs, the administrator needs to find the reason for the OOM
124 # situation, rectify it and restart ctdb with "service ctdb start"
125 # The unit is MByte
126 # CTDB_MONITOR_FREE_MEMORY_WARN=100
127 # CTDB_MONITOR_FREE_MEMORY=10
128
129 # When set to yes, the CTDB node will start in DISABLED mode and not host
130 # any public ip addresses. The administrator needs to explicitely enable
131 # the node with "ctdb enable"
132 # CTDB_START_AS_DISABLED="yes"
133
134 # LMASTER and RECMASTER capabilities.
135 # By default all nodes are capable of both being LMASTER for records and
136 # also for taking the RECMASTER role and perform recovery.
137 # These parameters can be used to disable these two roles on a node.
138 # Note: If there are NO available nodes left in a cluster that can perform
139 # the RECMASTER role, the cluster will not be able to recover from a failure
140 # and will remain in RECOVERY mode until an RECMASTER capable node becomes
141 # available. Same for LMASTER.
142 # These parametersd are useful for scenarios where you have one "remote" node
143 # in a cluster and you do not want the remote node to be fully participating
144 # in the cluster and slow things down.
145 # For that case, set both roles to "no" for the remote node on the remote site
146 # but leave the roles default to "yes" on the primary nodes in the central
147 # datacentre.
148 # CTDB_CAPABILITY_RECMASTER=yes
149 # CTDB_CAPABILITY_LMASTER=yes
150
151 # NAT-GW configuration
152 # Some services running on nthe CTDB node may need to originate traffic to
153 # remote servers before the node is assigned any IP addresses,
154 # This is problematic since before the node has public addresses the node might
155 # not be able to route traffic to the public networks.
156 # One solution is to have static public addresses assigned with routing
157 # in addition to the public address interfaces, thus guaranteeing that
158 # a node always can route traffic to the external network.
159 # This is the most simple solution but it uses up a large number of 
160 # additional ip addresses.
161 #
162 # A more complex solution is NAT-GW.
163 # In this mode we only need one additional ip address for the cluster from
164 # the exsternal public network.
165 # One of the nodes in the cluster is elected to be hosting this ip address
166 # so it can reach the external services. This node is also configured
167 # to use NAT MASQUERADING for all traffic from the internal private network
168 # to the external network. This node is the NAT-GW node.
169 #
170 # All other nodes are set up with a default rote with a metric of 10 to point
171 # to the nat-gw node.
172
173 # The effect of this is that only when a node does not have a public address
174 # and thus no proper routes to the external world it will instead
175 # route all packets through the nat-gw node.
176 #
177 # CTDB_NATGW_NODES is the list of nodes that belong to this natgw group.
178 # You can have multiple natgw groups in one cluster but each node
179 # can only belong to one single natgw group.
180 #
181 # CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
182 # CTDB_NATGW_PUBLIC_IFACE=eth0
183 # CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
184 # CTDB_NATGW_PRIVATE_NETWORK=10.1.1.0/24
185 # CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
186 #
187 # Normally any node in the natgw group can act as the natgw master.
188 # In some configurations you may have special nodes that is a part of the
189 # cluster/natgw group, but where the node lacks connectivity to the 
190 # public network.
191 # For these cases, set this variable to make these nodes not able to
192 # become natgw master.
193 #
194 # CTDB_NATGW_SLAVE_ONLY=yes
195
196
197 # PER_IP_ROUTING configuration
198 #
199 # Some setups have multiple network interfaces connected to the
200 # same network. By default all traffic for a network is routed
201 # through only one interface, while the others are idle.
202 #
203 # On Linux it possible to use policy based routing to spread the load
204 # across all interfaces. The is implemented by using a separate
205 # routing table per public ip address.
206 #
207 # The configuration file configured by CTDB_PER_IP_ROUTING_CONF
208 # contains the list of additional routes. The routes are bound to the
209 # interface that is holding the public ip address.
210 #
211 # The format of the config file looks like this:
212 # <public_ip_address> <network> [<gateway>]
213 # and it's possible to have multiple routes per public ip address.
214 #
215 # If the special value "__auto_link_local__" is used, the config
216 # file autogenerated. Each public ip address gets a special route
217 # for its own subnet bound to it's current interface.
218 # E.g. 10.1.2.3/24 will result in a config file line
219 # 10.1.2.3 10.1.2.0/24
220 #
221 # The CTDB_PER_IP_ROUTING_RULE_PREF option needs to be configured.
222 # The value will be passed as "pref" argument of "ip rule".
223 # The value should be between 1 and 32765. So that the rule
224 # comes after the rule for "local" routing table and before
225 # the rule for the "main" routing table. This way the specific
226 # routing table just overloads the "main" routing table,
227 # this is useful because with the "__auto_link_local__" setup
228 # the default route still comes from the "main" routing table.
229 #
230 # The routing table ids are automaticly allocated. On
231 # Linux the routing table ids must be in the range of 0 to 255.
232 # But some are reserved values, see /etc/iproute2/rt_tables.
233 # You need to configure a range (CTDB_PER_IP_ROUTING_TABLE_ID_LOW
234 # and CTDB_PER_IP_ROUTING_TABLE_ID_HIGH) from which the table ids can be taken.
235 #
236 # The default value for CTDB_PER_IP_ROUTING_CONF is "",
237 # which means the feature is disabled by default.
238 #
239 # CTDB_PER_IP_ROUTING_CONF="/etc/ctdb/per_ip_routing.conf"
240 # CTDB_PER_IP_ROUTING_CONF="__auto_link_local__"
241 # CTDB_PER_IP_ROUTING_TABLE_ID_LOW=10
242 # CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=250
243 # CTDB_PER_IP_ROUTING_RULE_PREF=10000
244
245 # Make offline interfaces not a reason for being UNHEALTHY.
246 # The CTDB_PARTIALLY_ONLINE_INTERFACES option changes
247 # the behavior of the 10.interface monitor event.
248 # In some setups it's desired that interfaces without
249 # an active link don't change the node to unhealthy.
250 # ctdbd is just informed about the interface status
251 # and "ctdb status" dislays the node as "PARTIALLYONLINE".
252 #
253 # CTDB_PARTIALLY_ONLINE_INTERFACES="yes"
254
255 # where to log messages
256 # the default is /var/log/log.ctdb
257 # CTDB_LOGFILE=/var/log/log.ctdb
258
259 # what debug level to run at. Higher means more verbose
260 # the default is ERR
261 CTDB_DEBUGLEVEL=ERR
262
263 # whether to suppress core files.  Default is no.
264 # CTDB_SUPPRESS_COREFILE=yes
265
266 # Write debug messages to syslog instead of logfile?
267 # The default is not to use syslog.
268 # CTDB_SYSLOG=no
269
270 # Should the 99.timeout monitor event script be run?
271 # This event script just sleeps long enough to trigger the
272 # event script timeout. Might be useful for debugging.
273 # The default is "no".
274 # CTDB_RUN_TIMEOUT_MONITOR=no
275
276 # Should ctdbd start with corrupted/unhealthy persistent databases?
277 # This parameter specifies the max error count for persistent health
278 # checks before the "startup" event. The value must be a positive
279 # interger value, "0" or "-1".
280 # The default is "0", which means ctdbd will not start.
281 # "-1" means wait forever.
282 # CTDB_MAX_PERSISTENT_CHECK_ERRORS=0
283
284 # All log entries up to level 9 are also collected into a in-memory ringbuffer
285 # in addition to the log that is written to the log file.
286 # This parameter controls how many entries we allow for this in memory log
287 # CTDB_LOG_RINGBUF_SIZE=500000
288
289
290 #
291 # set any default tuning options for ctdb
292 # use CTDB_SET_XXXX=value where XXXX is the name of the tuning
293 # variable
294 # for example
295 #    CTDB_SET_TRAVERSETIMEOUT=60
296 # you can get a list of variables using "ctdb listvars"
297
298 # setup a panic action which is triggerd when ctdbd
299 # gets SIGABRT, SIGBUS, SIGSEGV or SIGFPE.
300 #
301 # The magic values %PID% and %PROG% will be substituted.
302 #
303 # CTDB_PANIC_ACTION="/etc/ctdb/gdb_backtrace %PID% %PROG%"
304
305 # any other options you might want. Run ctdbd --help for a list
306 # CTDB_OPTIONS=
307