1 .\" Copyright (c) 2010 The FreeBSD Foundation
2 .\" All rights reserved.
4 .\" This software was developed by Pawel Jakub Dawidek under sponsorship from
5 .\" the FreeBSD Foundation.
7 .\" Redistribution and use in source and binary forms, with or without
8 .\" modification, are permitted provided that the following conditions
10 .\" 1. Redistributions of source code must retain the above copyright
11 .\" notice, this list of conditions and the following disclaimer.
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\" notice, this list of conditions and the following disclaimer in the
14 .\" documentation and/or other materials provided with the distribution.
16 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35 .Nd configuration file for the
49 Configuration file is designed in a way that exactly the same file can be
50 (and should be) used on both HAST nodes.
51 Every line starting with # is treated as comment and ignored.
52 .Sh CONFIGURATION FILE SYNTAX
56 .Bd -literal -offset indent
81 # Resource-node section
89 # Resource-node section
99 Most of the various available configuration parameters are optional.
100 If parameter is not defined in the particular section, it will be
101 inherited from the parent section.
104 parameter is not defined in the node section, it will be inherited from
106 In case the global section does not define the
108 parameter at all, the default value will be used.
109 .Sh CONFIGURATION FILE DESCRIPTION
112 argument can be replaced either by a full hostname as obtained by
114 only first part of the hostname, or by node's UUID as found in the
119 The following statements are available:
120 .Bl -tag -width ".Ic xxxx"
121 .It Ic control Aq addr
123 Address for communication with
125 Each of the following examples defines the same control address:
126 .Bd -literal -offset indent
127 uds:///var/run/hastctl
128 unix:///var/run/hastctl
133 .Pa uds:///var/run/hastctl .
134 .It Ic listen Aq addr
136 Address to listen on in form of:
137 .Bd -literal -offset indent
138 protocol://protocol-specific-address
141 Each of the following examples defines the same listen address:
142 .Bd -literal -offset indent
152 .Pa tcp4://0.0.0.0:8457 .
153 .It Ic replication Aq mode
155 Replication mode should be one of the following:
156 .Bl -tag -width ".Ic xxxx"
159 Report the write operation as completed when local write completes and
160 when the remote node acknowledges the data receipt, but before it
161 actually stores the data.
162 The data on remote node will be stored directly after sending
164 This mode is intended to reduce latency, but still provides a very good
166 The only situation where some small amount of data could be lost is when
167 the data is stored on primary node and sent to the secondary.
168 Secondary node then acknowledges data receipt and primary reports
169 success to an application.
170 However, it may happen that the seconderay goes down before the received
171 data is really stored locally.
172 Before secondary node returns, primary node dies entirely.
173 When the secondary node comes back to life it becomes the new primary.
174 Unfortunately some small amount of data which was confirmed to be stored
175 to the application was lost.
176 The risk of such a situation is very small, which is the reason for this
177 mode to be the default.
180 Mark the write operation as completed when local as well as remote
182 This is the safest and the slowest replication mode.
185 replication mode is currently not implemented.
188 The write operation is reported as complete right after the local write
190 This is the fastest and the most dangerous replication mode.
191 This mode should be used when replicating to a distant node where
192 latency is too high for other modes.
195 replication mode is currently not implemented.
199 GEOM provider name that will appear as
200 .Pa /dev/hast/<name> .
201 If name is not defined, resource name will be used as provider name.
204 Path to the local component which will be used as backend provider for
206 This can be either GEOM provider or regular file.
207 .It Ic remote Aq addr
209 Address of the remote
212 Format is the same as for the
215 When operating as a primary node this address will be used to connect to
217 When operating as a secondary node only connections from this address
221 The example configuration file can look as follows:
222 .Bd -literal -offset indent
227 remote tcp4://10.0.0.2
230 remote tcp4://10.0.0.1
235 local /dev/mirror/tanka
236 remote tcp4://10.0.0.2
239 local /dev/mirror/tankb
240 remote tcp4://10.0.0.1
245 .Bl -tag -width ".Pa /var/run/hastctl" -compact
246 .It Pa /etc/hast.conf
250 .It Pa /var/run/hastctl
251 Control socket used by the
253 control utility to communicate with the
266 .An Pawel Jakub Dawidek Aq pjd@FreeBSD.org
267 under sponsorship of the FreeBSD Foundation.