1SHEEPDOG(8)                 System Manager's Manual                SHEEPDOG(8)
2
3
4

NAME

6       sheep - Distributed Block Storage System for QEMU
7

SYNOPSIS

9       sheep [options] [PATH]
10

DESCRIPTION

12       sheep  - Sheepdog is a distributed storage system for QEMU. It provides
13       highly available block  level  storage  volumes  to  virtual  machines.
14       Sheepdog supports advanced volume management features such as snapshot,
15       cloning, and thin provisioning. The architecture of Sheepdog  is  fully
16       symmetric; there is no central node such as a meta-data server.
17
18       The server daemon is called sheep(8).  A command line utility is avail‐
19       able via dog(8).  QEMU virtual machines use  the  sheep  daemon  via  a
20       block driver available in qemu(1).
21

OPTIONS

23       -b, --bindaddr
24              specify IP address of interface to listen on
25
26              Example:
27
28                $ sheep -b 192.168.1.1 ...
29
30              This tries to teach sheep listen to NIC of 192.168.1.1.
31
32              Example:
33
34                $ sheep -b 0.0.0.0 ...
35
36              This  tries  to teach sheep listen to all the NICs available. It
37              can be useful when you want sheep to response dog without speci‐
38              fied address and port.
39
40       -c, --cluster
41              specify the cluster driver (default: corosync)
42
43              Available arguments:
44                local: use local driver
45                corosync: use corosync driver
46                zookeeper: use zookeeper driver, need extra arguments
47
48                zookeeper  arguments: connection-string,timeout=value (default
49              as 3000)
50
51              Example:
52
53                $  sheep   -c   zookeeper:IP1:PORT1,IP2:PORT2,IP3:PORT3[/clus‐
54              ter_id][,timeout=1000] ...
55
56              This tries to use 3 node zookeeper cluster, which can be reached
57              by IP1:PORT1, IP2:PORT2,  IP3:PORT3  to  manage  membership  and
58              broadcast  message and set the timeout of node heartbeat as 1000
59              milliseconds.  cluster_id is used to identify which  cluster  it
60              belongs to, if not set, /sheepdog is used internally as default.
61
62       -D, --directio
63              use direct IO for backend store
64
65
66       -f, --foreground
67              make the program run in foreground
68
69
70       -g, --gateway
71              make the program run as a gateway mode
72
73
74       -h, --help
75              display this help and exit
76
77       -i, --ioaddr
78              use  separate  network card to handle IO requests (default: dis‐
79              abled)
80
81              Example:
82
83                $ sheep -i host=192.168.1.1,port=7002 ...
84
85              This tries to add a dedicated  IO  NIC  of  192.168.1.1:7002  to
86              transfer data.  If IO NIC is down, sheep will fallback to non IO
87              NIC to transfer data.
88
89       -j, --journal
90              use journal file to log all the write operations. (default: dis‐
91              abled)
92
93              Available arguments:
94                size=: size of the journal in megabyes
95                dir=: path to the location of the journal (default: $STORE)
96                skip: if specified, skip the recovery at startup
97
98              Example:
99
100                $ sheep -j dir=/journal,size=1G
101
102              This tries to use /journal as the journal storage of the size 1G
103
104       -l, --log
105              specify  the log level, the log directory and the log format(log
106              level default: 6 [SDOG_INFO])
107
108              Example:
109
110                $ sheep -l dir=/var/log/,level=debug,format=server ...
111
112              Available arguments:
113                dir=: path to the location of sheep.log
114                level=: log level of sheep.log
115                format=: log format type
116                dst=: log destination type
117
118              if dir is not specified, use metastore directory
119
120              Available log levels:
121                Level      Description
122                emerg      system has failed and is unusable
123                alert      action must be taken immediately
124                crit       critical conditions
125                err        error conditions
126                warning    warning conditions
127                notice     normal but significant conditions
128                info       informational notices
129                debug      debugging messages default log level is info
130
131              Available log format:
132                FormatType      Description
133                default         raw format
134                server          raw format with timestamp
135                json            json format
136
137              Available log destination:
138                DestinationType    Description
139                default            dedicated file in a directory used by sheep
140                syslog             syslog of the system
141                stdout             standard output
142
143       -n, --nosync
144              drop O_SYNC for write of backend
145
146
147       -p, --port
148              specify the TCP port on which to listen (default: 7000)
149
150
151       -P, --pidfile
152              create a pid file
153
154
155       -R, --recovery
156              specify the recovery speed throttling
157
158              Available arguments:
159                max=: object recovery process maximum count of each interval
160                interval=: object recovery interval time (millisec) Example:
161
162                $ sheep -R max=50,interval=1000 ...
163
164
165       -u, --upgrade
166              upgrade to the latest data layout
167
168
169       -v, --version
170              show the version
171
172              Sheepdog daemon version 1.0.1
173
174       -V, --vnodes
175              set number of vnodes
176
177              Example:
178
179                $ sheep -V 128
180
181                set number of vnodes
182
183       -w, --wq-threads
184              specify a number of threads for workqueue
185
186
187       -W, --wildcard-recovery
188              wildcard recovery for first time
189
190
191       -y, --myaddr
192              specify the address advertised to other sheep
193
194              Example:
195
196                $ sheep -y 192.168.1.1 ...
197
198              This tries to tell other nodes through  what  address  they  can
199              talk to this sheep.
200
201       -z, --zone
202              specify the zone id (default: determined by listen address)
203
204              Example:
205
206                $ sheep -z 1 ...
207
208              This  tries  to  set the zone ID of this sheep to 1 and sheepdog
209              won't store more than one copy of any object into this same zone
210
211

PATH

213       Proper LSB systems will store sheepdog files in /var/lib/sheepdog.  The
214       init script uses this directory by default.  The directory must be on a
215       filesystem with xattr support.  In the case of ext3, user_xattr  should
216       be added to the mount options.
217
218       mount -o remount,user_xattr /var/lib/sheepdog
219
220

DEPENDENCIES

222       sheepdog requires QEMU 0.13.z or later and Corosync 1.y.z.
223
224

FILES

226       /var/lib/sheepdog - Directory containing block storage information
227
228

SEE ALSO

230       dog(8), qemu(1), sheepfs(8), corosync_overview(8)
231
232

AUTHORS

234       This  software  is  developed  by  the  sheepdog community which may be
235       reached via mailing list at <sheepdog@lists.wpkg.org>.
236
237                                  2023-01-21                       SHEEPDOG(8)
Impressum