LLVERDEV(8)

πŸ“¦ version 2.17.58, in ubuntu stonking

πŸ‘‘ LLVERDEV β€” the <pink>llverdev(8)` girlies' guide to vibes-checking a whole block device ✨

ok so this is llverdev, from the Lustre Configuration Utilities section 8, and she is here to make sure your block device is actually functioning properly over its full size. no cap.


🌸 NAME 🌸

llverdev β€” verify a block device is functioning properly over its full size πŸ’…


✨ SYNOPSIS ✨

llverdev [-c CHUNKSIZE] [-f] [-h] [-o OFFSET_KB] [-l] [-p] [-r] [-s
         SIZE_MB] [-t TIMESTAMP] [-v] [-w] DEVICE

πŸ¦‹ DESCRIPTION πŸ¦‹

okok so bestie, sometimes kernel drivers or hardware devices have bugs that stop them from accessing the full device size correctly. or maybe they've got bad sectors on disk, or other problems that prevent proper data storage. and like β€” there are so often defects hanging out around major system boundaries, like 2^32 bytes, 2^31 sectors, 2^31 blocks, 2^32 blocks, etc. the drama of powers of two fr fr 😭

here's the tea: the llverdev tool writes and verifies a unique test pattern across the entire device. that way you know two things β€” first, that data is still accessible after it was written, and second, that data written to one part of the disk isn't secretly overwriting data on another part of the disk. (sneaky!! we hate that πŸ’€)

now, llverdev is expected to be run on large size devices (TB), so it is always better to run llverdev in verbose mode, so that one can easily restart device testing from the point at which it had stopped. like, if you gotta redo it, you want receipts of where you were. iykyk ✨

and because running a full verification can be time consuming for very large devices, it is advisable to start with a partial verification to make sure the device is minimally sane before investing the time in a full verification. vibe check first, full send later. 🫢


πŸ’– OPTIONS πŸ’–

  • -c, --chunksize CHUNK_MB β€” IO chunk size in megabytes (default=1), with optional KMG suffix.
  • -f, --force β€” force the test to run without the confirmation that the device will be overwritten and all data therein will be permanently destroyed. yes this is the "i consent to violence" flag 🫣
  • -h, --help β€” display a brief help message.
  • -l, --long β€” Run a full check, writing and then reading and verifying every block on the disk. the whole thing. every block. iconic but slow πŸ‘‘
  • -o, --offset OFFSET_KB β€” offset of IO start in kilobytes (default=0), with optional KMGTP suffix.
  • -p, --partial β€” Run a partial check, only doing periodic checks across the device (1GB steps).
  • -r, --read β€” Run test in read (verify) mode only, after having run the test in -w mode previously.
  • -s, --size SIZE_MB β€” device or file size in megabytes to use for the test, with optional KMGTP suffix. If unspecified, use the actual device or file size (or write until an error is hit if 0).
  • -t, --timestamp TIMESTAMP β€” Set test start time as printed at the start of a previously interrupted test to ensure that the validation data is the same across the whole filesystem (default=current time()).
  • -v, --verbose β€” Run test in verbose mode, listing each read and write operation.
  • -w, --write β€” Run test in write (test-pattern) mode (default run both read and write).

🌈 EXAMPLES 🌈

Run a partial device verification on /dev/sda:

# llverdev -v -p /dev/sda
llverdev: permanently overwrite all data on /dev/sda (yes/no)? y
llverdev: /dev/sda is 4398046511104 bytes (4096.0 GB) in size
Timestamp: 1009839028
Current write offset:        4096 kB

Continue an interrupted verification at offset 4096kB from the start of the device, using the same timestamp as the previous run:

# llverdev -f -v -p --offset=4096 --timestamp=1009839028 /dev/sda
llverdev: /dev/sda is 4398046511104 bytes (4096.0 GB) in size
Timestamp: 1009839028
write complete
read complete

see how she picks up right where she left off? main character energy πŸ’…βœ¨


πŸŽ€ AVAILABILITY πŸŽ€

llverdev is part of the lustre(7) filesystem package since release 1.4.0. she's been here since day one basically.


πŸ‘€ SEE ALSO πŸ‘€

  • llverfs(8)

🚨 bestie warning: this tool is gonna overwrite your device. like, permanently, all data, gone, forever. that's literally the point β€” that's why -f exists to skip the confirmation. do NOT point this at something you love. πŸ™ˆ

ok that's the whole page, mwah πŸ’– stay safe out there and always -v in verbose mode.

Lustre Β· version dated 2024-08-28 Β· bye bestie, go verify responsibly πŸ¦‹πŸŒΈπŸ’œ

πŸ“¦ where this page comes from