Whamcloud - gitweb
b=20748
[fs/lustre-release.git] / lustre / doc / lreplicate.8
1 .TH lreplicate 8 "2009 Apr 08" Lustre "Lustre Filesystem replication utility"
2 .SH NAME
3 lreplicate \- Utility to replicate a Lustre Filesystem
4 .SH SYNOPSIS
5 .br
6 .B lreplicate --source|-s <src> --target|-t <tgt> 
7 .br
8 .B\t\t\t --mdt|-m <mdt>  [--user|-u <user id>] 
9 .br
10 .B\t\t\t [--xattr|-x <yes|no>] [--verbose|-v]
11 .br
12 .B\t\t\t [--statuslog|-l <log>] [--dry-run] [--abort-on-err]
13 .br
14
15 .br
16 .B lreplicate  --statuslog|-l <log>
17 .br
18
19 .br
20 .B lreplicate  --statuslog|-l <log> --source|-s <source>
21 .br
22 .br
23 .B\t\t\t --target|-t <tgt> --mdt|-m <mdt>
24 .SH DESCRIPTION
25 .B lreplicate
26 can be used to replicate a lustre filesystem (source filesystem) to
27 another target filesystem (any filesystem type). It is required that
28 changelogs be enabled on the source filesystem (see lctl (8)).
29
30 The source and the target filesystems must be identical before
31 changelogs are enabled. If the source filesystem has been populated
32 before turning on changelogs, a utility like rsync may be used to make
33 them identical.
34
35 .SH OPTIONS
36 .B --source=<src>
37 .br
38 The source filesytem which will be replicated. Mandatory if a valid
39 statuslog created during an previous replication operation
40 (--statuslog) is not specified.
41
42 .B --target=<tgt>
43 .br
44 The filesystem to which the source filesystem is replicated. Mandatory
45 if a valid statuslog created during an previous replication operation
46 (--statuslog) is not specified. This option can be repeated if
47 multiple replication targets are desired.
48
49 .B --mdt=<mdt>
50 .br
51 The metadata device which is to be replicated. Changelogs must be
52 turned on on this device. Mandatory if a valid statuslog created
53 during an previous replication operation (--statuslog) is not
54 specified.
55
56 .B --user=<user id>
57 .br
58 The changelog user id. See lctl(8) changelog_register. Mandatory if a
59 valid statuslog created during an previous replication operation
60 (--statuslog) is not specified.
61
62 .B --statuslog=<log>
63 .br
64 A status log file to which the status of replication is saved. At the
65 time of initialization, the state from a previous replication
66 operation which was saved, can be read and reused.
67
68 If a statuslog from a previous replication operation is specified, the
69 otherwise mandatory options like --source, --target and --mdt may be
70 skipped.
71
72 By specifying the options like --source, --target and --mdt in
73 addition to the --statuslog option, the parameters in the statuslog
74 can be overridden. The command line options take precedence over the
75 ones from the statuslog.
76
77 .B --xattr <yes|no>
78 .br
79 Specify whether extended attributes are replicated or not. The default
80 is to replicate extended attributes. Disabling xattrs will mean that
81 striping information will not be replicated.
82
83 .B --verbose
84 .br
85 Produce a verbose output.
86
87 .B --dry-run
88 .br
89 Shows what the program would do without actually replicating data.
90
91 .B --abort-on-err
92 .br
93 Stop processing upon first error.  Default is to continue processing.
94
95 .SH EXAMPLES
96
97 .TP
98 Register a changelog consumer for MDT lustre-MDT0000
99 $ ssh $MDS lctl changelog_register --device lustre-MDT0000 -n
100 .br
101 1
102
103 .TP
104 Replicate the lustre filesystem /mnt/lustre to /mnt/target.
105 $ lreplicate --source=/mnt/lustre --target=/mnt/target \\ 
106 .br
107              --mdt=lustre-MDT0000 --user=1 \\
108 .br
109              --statuslog replicate.log  --verbose
110 .br
111 Lustre filesystem: lustre
112 .br
113 MDT device: lustre-MDT0000
114 .br
115 Source: /mnt/lustre
116 .br
117 Target: /mnt/target
118 .br
119 Statuslog: replicate.log
120 .br
121 Changelog registration: cl1
122 .br
123 Starting changelog record: 0
124 .br
125 Errors: 0
126 .br
127 lreplicate took 1 seconds
128 .br
129 Changelog records consumed: 22
130 .br
131
132
133 .TP
134 After the filesystem undergoes some changes, replicate the \
135 changes. Only the statuslog needs to be specified as it has all the \
136 parameters passed earlier.
137 .br
138 $ lreplicate --statuslog replicate.log --verbose
139 .br
140 Replicating Lustre filesystem: lustre
141 .br
142 MDT device: lustre-MDT0000
143 .br
144 Source: /mnt/lustre
145 .br
146 Target: /mnt/target
147 .br
148 Statuslog: replicate.log
149 .br
150 Changelog registration: cl1
151 .br
152 Starting changelog record: 22
153 .br
154 Errors: 0
155 .br
156 lreplicate took 2 seconds
157 .br
158 Changelog records consumed: 42
159 .br
160
161 .TP
162 To replicate the lustre filesystem /mnt/lustre to /mnt/target1 and /mnt/target2.
163 $ lreplicate --source=/mnt/lustre \\ 
164 .br
165              --target=/mnt/target1 --target=/mnt/target2 \\ 
166 .br
167              --mdt=lustre-MDT0000 --user=cl1
168 .br
169              --statuslog replicate.log
170 .br
171
172
173 .SH AUTHOR
174 The lreplicate command is part of the Lustre filesystem. Contact
175 http://www.lustre.org/
176
177 .SH SEE ALSO
178 .BR lctl (8),
179 .BR lfs (1)