eventscripts: Add new option $CTDB_MONITOR_NFS_THREAD_COUNT
[ctdb.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 # a script to collect data when an eventscript has hung
96 # CTDB_DEBUG_HUNG_SCRIPT=/etc/ctdb/debug-hung-script.sh
97
98 # the directory to put the local ctdb database files in
99 # defaults to /var/ctdb
100 # CTDB_DBDIR=/var/ctdb
101
102 # the directory to put the local persistent ctdb database files in
103 # defaults to /var/ctdb/persistent
104 # CTDB_DBDIR_PERSISTENT=/var/ctdb/persistent
105
106 # the directory where service specific event scripts are stored
107 # defaults to /etc/ctdb/events.d
108 # CTDB_EVENT_SCRIPT_DIR=/etc/ctdb/events.d
109
110 # the location of the local ctdb socket
111 # defaults to /tmp/ctdb.socket
112 # CTDB_SOCKET=/tmp/ctdb.socket
113
114 # what transport to use. Only tcp is currently supported
115 # defaults to tcp
116 # CTDB_TRANSPORT="tcp"
117
118 # These setting allow monitoring for low/out-out of memory conditions.
119 #
120 # If set, once available memory drops below CTDB_MONITOR_FREE_MEMORY_WARN
121 # ctdb will start logging messages that memory is low, but will not
122 # take any further action.
123 #
124 # If the amount of free memory drops below CTDB_MONITOR_FREE_MEMORY 
125 # ctdb will fail all service over to a different node and finally shutdown.
126 # Once this occurs, the administrator needs to find the reason for the OOM
127 # situation, rectify it and restart ctdb with "service ctdb start"
128 # The unit is MByte
129 # CTDB_MONITOR_FREE_MEMORY_WARN=100
130 # CTDB_MONITOR_FREE_MEMORY=10
131
132 # Should the 60.nfs monitor event try to correct the number of nfsd
133 # threads?  This works around a limitation in some NFS initscripts
134 # where some threads can be stuck in host filesystem calls (perhaps
135 # due to slow storage), a restart occurs, some threads don't exit, the
136 # start only adds the missing number of threads, the stuck threads
137 # exit, and the result is a lower than expected thread count.  Note
138 # that if you must also set $RPCNFSDCOUNT (RedHat/Debian) or
139 # $USE_KERNEL_NFSD_NUMBER (SUSE) in your NFS configuration so the
140 # monitoring code knows how many threads there should be - if neither
141 # of these are set then this option will be ignored.  The default is
142 # to not do this check.
143 # CTDB_MONITOR_NFS_THREAD_COUNT="yes"
144
145 # When set to yes, the CTDB node will start in DISABLED mode and not host
146 # any public ip addresses. The administrator needs to explicitely enable
147 # the node with "ctdb enable"
148 # CTDB_START_AS_DISABLED="yes"
149
150 # LMASTER and RECMASTER capabilities.
151 # By default all nodes are capable of both being LMASTER for records and
152 # also for taking the RECMASTER role and perform recovery.
153 # These parameters can be used to disable these two roles on a node.
154 # Note: If there are NO available nodes left in a cluster that can perform
155 # the RECMASTER role, the cluster will not be able to recover from a failure
156 # and will remain in RECOVERY mode until an RECMASTER capable node becomes
157 # available. Same for LMASTER.
158 # These parametersd are useful for scenarios where you have one "remote" node
159 # in a cluster and you do not want the remote node to be fully participating
160 # in the cluster and slow things down.
161 # For that case, set both roles to "no" for the remote node on the remote site
162 # but leave the roles default to "yes" on the primary nodes in the central
163 # datacentre.
164 # CTDB_CAPABILITY_RECMASTER=yes
165 # CTDB_CAPABILITY_LMASTER=yes
166
167 # NAT-GW configuration
168 # Some services running on nthe CTDB node may need to originate traffic to
169 # remote servers before the node is assigned any IP addresses,
170 # This is problematic since before the node has public addresses the node might
171 # not be able to route traffic to the public networks.
172 # One solution is to have static public addresses assigned with routing
173 # in addition to the public address interfaces, thus guaranteeing that
174 # a node always can route traffic to the external network.
175 # This is the most simple solution but it uses up a large number of 
176 # additional ip addresses.
177 #
178 # A more complex solution is NAT-GW.
179 # In this mode we only need one additional ip address for the cluster from
180 # the exsternal public network.
181 # One of the nodes in the cluster is elected to be hosting this ip address
182 # so it can reach the external services. This node is also configured
183 # to use NAT MASQUERADING for all traffic from the internal private network
184 # to the external network. This node is the NAT-GW node.
185 #
186 # All other nodes are set up with a default rote with a metric of 10 to point
187 # to the nat-gw node.
188
189 # The effect of this is that only when a node does not have a public address
190 # and thus no proper routes to the external world it will instead
191 # route all packets through the nat-gw node.
192 #
193 # CTDB_NATGW_NODES is the list of nodes that belong to this natgw group.
194 # You can have multiple natgw groups in one cluster but each node
195 # can only belong to one single natgw group.
196 #
197 # CTDB_NATGW_PUBLIC_IP=10.0.0.227/24
198 # CTDB_NATGW_PUBLIC_IFACE=eth0
199 # CTDB_NATGW_DEFAULT_GATEWAY=10.0.0.1
200 # CTDB_NATGW_PRIVATE_NETWORK=10.1.1.0/24
201 # CTDB_NATGW_NODES=/etc/ctdb/natgw_nodes
202 #
203 # Normally any node in the natgw group can act as the natgw master.
204 # In some configurations you may have special nodes that is a part of the
205 # cluster/natgw group, but where the node lacks connectivity to the 
206 # public network.
207 # For these cases, set this variable to make these nodes not able to
208 # become natgw master.
209 #
210 # CTDB_NATGW_SLAVE_ONLY=yes
211
212
213 # PER_IP_ROUTING configuration
214 #
215 # Some setups have multiple network interfaces connected to the
216 # same network. By default all traffic for a network is routed
217 # through only one interface, while the others are idle.
218 #
219 # On Linux it possible to use policy based routing to spread the load
220 # across all interfaces. The is implemented by using a separate
221 # routing table per public ip address.
222 #
223 # The configuration file configured by CTDB_PER_IP_ROUTING_CONF
224 # contains the list of additional routes. The routes are bound to the
225 # interface that is holding the public ip address.
226 #
227 # The format of the config file looks like this:
228 # <public_ip_address> <network> [<gateway>]
229 # and it's possible to have multiple routes per public ip address.
230 #
231 # If the special value "__auto_link_local__" is used, the config
232 # file autogenerated. Each public ip address gets a special route
233 # for its own subnet bound to it's current interface.
234 # E.g. 10.1.2.3/24 will result in a config file line
235 # 10.1.2.3 10.1.2.0/24
236 #
237 # The CTDB_PER_IP_ROUTING_RULE_PREF option needs to be configured.
238 # The value will be passed as "pref" argument of "ip rule".
239 # The value should be between 1 and 32765. So that the rule
240 # comes after the rule for "local" routing table and before
241 # the rule for the "main" routing table. This way the specific
242 # routing table just overloads the "main" routing table,
243 # this is useful because with the "__auto_link_local__" setup
244 # the default route still comes from the "main" routing table.
245 #
246 # The routing table ids are automaticly allocated. On
247 # Linux the routing table ids must be in the range of 0 to 255.
248 # But some are reserved values, see /etc/iproute2/rt_tables.
249 # You need to configure a range (CTDB_PER_IP_ROUTING_TABLE_ID_LOW
250 # and CTDB_PER_IP_ROUTING_TABLE_ID_HIGH) from which the table ids can be taken.
251 #
252 # The default value for CTDB_PER_IP_ROUTING_CONF is "",
253 # which means the feature is disabled by default.
254 #
255 # CTDB_PER_IP_ROUTING_CONF="/etc/ctdb/per_ip_routing.conf"
256 # CTDB_PER_IP_ROUTING_CONF="__auto_link_local__"
257 # CTDB_PER_IP_ROUTING_TABLE_ID_LOW=10
258 # CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=250
259 # CTDB_PER_IP_ROUTING_RULE_PREF=10000
260
261 # Make offline interfaces not a reason for being UNHEALTHY.
262 # The CTDB_PARTIALLY_ONLINE_INTERFACES option changes
263 # the behavior of the 10.interface monitor event.
264 # In some setups it's desired that interfaces without
265 # an active link don't change the node to unhealthy.
266 # ctdbd is just informed about the interface status
267 # and "ctdb status" dislays the node as "PARTIALLYONLINE".
268 #
269 # CTDB_PARTIALLY_ONLINE_INTERFACES="yes"
270
271 # where to log messages
272 # the default is /var/log/log.ctdb
273 # CTDB_LOGFILE=/var/log/log.ctdb
274
275 # what debug level to run at. Higher means more verbose
276 # the default is ERR
277 CTDB_DEBUGLEVEL=ERR
278
279 # whether to suppress core files.  Default is no.
280 # CTDB_SUPPRESS_COREFILE=yes
281
282 # Write debug messages to syslog instead of logfile?
283 # The default is not to use syslog.
284 # CTDB_SYSLOG=no
285
286 # Should the 99.timeout monitor event script be run?
287 # This event script just sleeps long enough to trigger the
288 # event script timeout. Might be useful for debugging.
289 # The default is "no".
290 # CTDB_RUN_TIMEOUT_MONITOR=no
291
292 # Should ctdbd start with corrupted/unhealthy persistent databases?
293 # This parameter specifies the max error count for persistent health
294 # checks before the "startup" event. The value must be a positive
295 # interger value, "0" or "-1".
296 # The default is "0", which means ctdbd will not start.
297 # "-1" means wait forever.
298 # CTDB_MAX_PERSISTENT_CHECK_ERRORS=0
299
300 # All log entries up to level 9 are also collected into a in-memory ringbuffer
301 # in addition to the log that is written to the log file.
302 # This parameter controls how many entries we allow for this in memory log
303 # CTDB_LOG_RINGBUF_SIZE=500000
304
305 # Monitor filesystem useage.
306 # when set, and the 40.fs_use eventscript is enabled, this variable
307 # allows one to monitor the filesystem use and flag a node as unhealthy when
308 # the filesystem becomes too full.
309 # This is useful for example when /var grows too big.
310 # Example: monitor both / and /var and make the node unhealthy when eitehr go
311 # above 90%
312 # CTDB_CHECK_FS_USE="/:90 /var:90"
313
314 # Should CTDB automatically start and stop services when it is told to
315 # newly manage or no longer manage them?
316 CTDB_SERVICE_AUTOSTARTSTOP=yes
317
318
319 #
320 # set any default tuning options for ctdb
321 # use CTDB_SET_XXXX=value where XXXX is the name of the tuning
322 # variable
323 # for example
324 #    CTDB_SET_TRAVERSETIMEOUT=60
325 # you can get a list of variables using "ctdb listvars"
326
327 # any other options you might want. Run ctdbd --help for a list
328 # CTDB_OPTIONS=
329