Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / doc / llverdev.8
1 .\" -*- nroff -*-
2 .\" Copyright 2006 by Cluster FileSystems.  All Rights Reserved.
3 .\" Copyright 2008 by Sun Microsystems.  All Rights Reserved.
4 .\" This file may be copied under the terms of the GNU Public License, v2.
5 .\"
6 .TH llverdev 8 "2008 Mar 15" Lustre "configuration utilities"
7 .SH NAME
8 llverdev - verify a block device is functioning properly over its full size
9 .SH SYNOPSIS
10 .BI llverdev
11 .RB [ -c
12 .IR chunksize ]
13 .RB [ -f "] [" -h ]
14 .RB [ -o
15 .IR offset ]
16 .RB [ -l "] [" -p "] [" -r ]
17 .RB [ -t
18 .IR timestamp ]
19 .RB [ -v "] [" -w ]
20 .I device
21 .SH DESCRIPTION
22 Sometimes kernel drivers or hardware devices have bugs that prevent them from
23 accessing the full device size correctly, or possibly have bad sectors on disk
24 or other problems which prevent proper data storage.  There are often defects
25 associated with major system boundaries such as 2^32 bytes, 2^31 sectors,
26 2^31 blocks, 2^32 blocks, etc.
27 .PP
28 The
29 .B llverdev
30 tool will write and verify a unique test pattern across the entire device in
31 order to ensure that not only is data accessible after it was written, but
32 also that data written to one part of the disk is not overwriting data on
33 another part of the disk.
34 .PP
35 It is expected that llverdev tool will be run on large size devices (TB), 
36 so it is always better to run llverdev tool in verbose mode, so that one
37 can easily restart device testing from the point at which it had stopped. 
38 .PP
39 Running a full verification can be time consuming for very large devices,
40 so it is advisable to start with a partial verification to ensure the
41 device is minimally sane before investing the time in a full verification.
42 .SH OPTIONS
43 .TP
44 .BR -c | --chunksize
45 IO chunk size in bytes (default=1048576).
46 .TP
47 .BR -f | --force
48 force test to run without confirmation that the device will be overwritten
49 and all data therein will be permanently destroyed.
50 .TP
51 .BR -h | --help
52 display a brief help message.
53 .TP
54 .BI -o offset
55 offset in kilobytes of start of test (default=0).
56 .TP
57 .BR -l | --long
58 Run a full check, writing and then reading and verifying every block on the
59 disk.
60 .TP
61 .BR -p | --partial
62 Run a partial check, only doing periodic checks across the device (1GB steps).
63 .TP
64 .BR -r | --read
65 Run test in read (verify) mode only, after having run the test in
66 .B -w
67 mode previously.
68 .TP
69 .BI -t timestamp
70 Set test start time as printed at the start of a previously interrupted test
71 to ensure that the validation data is the same across the whole filesystem
72 (default=current time())
73 .TP
74 .BR -v | --verbose
75 Run test in verbose mode, listing each read and write operation.
76 .TP
77 .BR -w | --write
78 Run test in write (test-pattern) mode (default run both read and write)
79 .SH EXAMPLES
80 .TP
81 Run a partial device verification on \fB/dev/sda\fR:
82 .B llverdev -v -p /dev/sda
83 .br
84 llverdev: permanently overwrite all data on /dev/sda (yes/no)? y
85 .br
86 llverdev: /dev/sda is 4398046511104 bytes (4096.0 GB) in size
87 .br
88 Timestamp: 1009839028
89 .br
90 Current write offset:        4096 kB
91 .TP
92 Continue an interrupted verification at offset \fB4096\fRkB from the start of the device, using the same timestamp as the previous run:
93 .B llverdev -f -v -p --offset=4096 --timestamp=1009839028 /dev/sda
94 .br
95 llverdev: /dev/sda is 4398046511104 bytes (4096.0 GB) in size
96 .br
97 Timestamp: 1009839028
98 .br
99 write complete
100 .br
101 read complete
102 .SH SEE ALSO
103 .BR llverfs (8)