Whamcloud - gitweb
New RC 2.16.0-RC5
[fs/lustre-release.git] / lustre / doc / llverdev.8
1 .\" -*- nroff -*-
2 .\" Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
3 .\" This file may be copied under the terms of the GNU Public License, v2.
4 .\"
5 .TH LLVERDEV 8 2024-08-28 Lustre "Lustre Configuration Utilities"
6 .SH NAME
7 llverdev - verify a block device is functioning properly over its full size
8 .SH SYNOPSIS
9 .SY llverdev
10 .RB [ -c
11 .IR CHUNKSIZE ]
12 .RB [ -f "] [" -h ]
13 .RB [ -o
14 .IR OFFSET_KB ]
15 .RB [ -l "] [" -p "] [" -r ]
16 .RB [ -s
17 .IR SIZE_MB ]
18 .RB [ -t
19 .IR TIMESTAMP ]
20 .RB [ -v "] [" -w ]
21 .I DEVICE
22 .YS
23 .SH DESCRIPTION
24 Sometimes kernel drivers or hardware devices have bugs that prevent them from
25 accessing the full device size correctly, or possibly have bad sectors on disk
26 or other problems which prevent proper data storage.  There are often defects
27 associated with major system boundaries such as 2^32 bytes, 2^31 sectors,
28 2^31 blocks, 2^32 blocks, etc.
29 .PP
30 The
31 .B llverdev
32 tool will write and verify a unique test pattern across the entire device in
33 order to ensure that not only is data accessible after it was written, but
34 also that data written to one part of the disk is not overwriting data on
35 another part of the disk.
36 .PP
37 It is expected that llverdev tool will be run on large size devices (TB), 
38 so it is always better to run llverdev tool in verbose mode, so that one
39 can easily restart device testing from the point at which it had stopped. 
40 .PP
41 Running a full verification can be time consuming for very large devices,
42 so it is advisable to start with a partial verification to ensure the
43 device is minimally sane before investing the time in a full verification.
44 .SH OPTIONS
45 .TP
46 .BR -c ", " --chunksize \ \fICHUNK_MB
47 IO chunk size in megabytes (default=1), with optional KMG suffix.
48 .TP
49 .BR -f ", " --force
50 force test to run without confirmation that the device will be overwritten
51 and all data therein will be permanently destroyed.
52 .TP
53 .BR -h ", " --help
54 display a brief help message.
55 .TP
56 .BR -l ", " --long
57 Run a full check, writing and then reading and verifying every block on the
58 disk.
59 .TP
60 .BR -o ", " --offset \ \fIOFFSET_KB
61 offset of IO start in kilobytes (default=0), with optional KMGTP suffix.
62 .TP
63 .BR -p ", " --partial
64 Run a partial check, only doing periodic checks across the device (1GB steps).
65 .TP
66 .BR -r ", " --read
67 Run test in read (verify) mode only, after having run the test in
68 .B -w
69 mode previously.
70 .TP
71 .BR -s ", " --size \ \fISIZE_MB
72 device or file size in megabytes to use for the test, with optional KMGTP
73 suffix.  If unspecified, use the actual device or file size (or write until
74 an error is hit if 0).
75 .TP
76 .BR -t ", " --timestamp \ \fITIMESTAMP
77 Set test start time as printed at the start of a previously interrupted test
78 to ensure that the validation data is the same across the whole filesystem
79 (default=current time())
80 .TP
81 .BR -v ", " --verbose
82 Run test in verbose mode, listing each read and write operation.
83 .TP
84 .BR -w ", " --write
85 Run test in write (test-pattern) mode (default run both read and write)
86 .SH EXAMPLES
87 Run a partial device verification on
88 .BR /dev/sda :
89 .RS
90 .EX
91 .B # llverdev -v -p /dev/sda
92 llverdev: permanently overwrite all data on /dev/sda (yes/no)? y
93 llverdev: /dev/sda is 4398046511104 bytes (4096.0 GB) in size
94 Timestamp: 1009839028
95 Current write offset:        4096 kB
96 .EE
97 .RE
98 .PP
99 Continue an interrupted verification at offset
100 .BR 4096 kB
101 from the start of the device, using the same timestamp as the previous run:
102 .RS
103 .EX
104 .B # llverdev -f -v -p --offset=4096 --timestamp=1009839028 /dev/sda
105 llverdev: /dev/sda is 4398046511104 bytes (4096.0 GB) in size
106 Timestamp: 1009839028
107 write complete
108 read complete
109 .EE
110 .RE
111 .SH AVAILABILITY
112 .B llverdev
113 is part of the
114 .BR lustre (7)
115 filesystem package since release 1.4.0
116 .\" Added in commit 1.3.4-1130-g113303973e
117 .SH SEE ALSO
118 .BR llverfs (8)