fix markdownlint issues in README.md

This commit is contained in:
Michael Schnerring
2020-09-08 16:00:29 +02:00
parent 0b36a8658a
commit 8744bbd5d0

View File

@@ -1,8 +1,11 @@
# Shell script for burn-in and testing of drives
## Purpose
`disk-burnin.sh` is a POSIX-compliant shell script I wrote to simplify the process of burning-in disks. It is intended for use only on disks which do not contain data, such as new disks or disks which are being tested or re-purposed. I was inspired by the ["How To: Hard Drive Burn-In Testing"](https://forums.freenas.org/index.php?threads/how-to-hard-drive-burn-in-testing.21451/) thread on the FreeNAS forum and I want to give full props to the good folks who contributed to that thread.
## Warnings
Be warned that:
* This script runs the `badblocks` program in destructive mode, which erases any data on the disk. Therefore, please be careful! __Do not run this script on disks containing data you value!__
@@ -10,11 +13,12 @@ Be warned that:
* Must be run as 'root', so either log on using the root account or use the `sudo` command, for example: `sudo ./disk_burnin.sh sda`
## Tests
Performs these steps:
1. Run SMART short test
1. Run `badblocks`
1. Run SMART extended test
2. Run `badblocks`
3. Run SMART extended test
The script calls `sleep` after starting each SMART test, using a duration based on the polling interval reported by the disk, after which it polls for test completion.
@@ -34,13 +38,15 @@ These indicate possible problems with the drive. You therefore may wish to abort
The script extracts the drive model and serial number and creates a log filename of the form `burnin-[model]_[serial number].log`.
## `badblocks` Options
`badblocks` is invoked with the following options:
- `-b 4096` : Use a block size of 4096
- `-e 1` : Abort the test if an error is found (remove this option for full testing of drives)
- `-v` : Verbose mode
- `-o` : Write list of bad blocks found (if any) to a file named `burnin-[model]_[serial number].bb`
- `-s` : Show progress
- `-w` : Write-mode test, writes four patterns (0xaa, 0x55, 0x44, 0x00) on every disk block
* `-b 4096` : Use a block size of 4096
* `-e 1` : Abort the test if an error is found (remove this option for full testing of drives)
* `-v` : Verbose mode
* `-o` : Write list of bad blocks found (if any) to a file named `burnin-[model]_[serial number].bb`
* `-s` : Show progress
* `-w` : Write-mode test, writes four patterns (0xaa, 0x55, 0x44, 0x00) on every disk block
The only required command-line argument is the device specifier, e.g.:
@@ -71,6 +77,7 @@ Also note that `badblocks` may issue the following warning under FreeBSD/FreeNAS
## Operating System Compatibility
Tested under:
* FreeNAS 9.10.2-U1 (FreeBSD 10.3-STABLE)
* FreeNAS 11.1-U7 (FreeBSD 11.1-STABLE)
* FreeNAS 11.2-U8 (FreeBSD 11.2-STABLE)
@@ -80,16 +87,19 @@ Tested under:
## Drive Models Tested
The script should run successfully on any SATA disk with SMART capabilities, which includes just about all modern drives. It has been tested on these particular devices:
* HGST Deskstar NAS, UltraStar, UltraStar He10, and UltraStar He12 models
* Western Digital Gold, Black, and Re models
## Prerequisites
Requires the smartmontools, available at https://www.smartmontools.org
Requires the smartmontools, available at [www.smartmontools.org](https://www.smartmontools.org)
Uses: `grep`, `pcregrep`, `awk`, `sed`, `tr`, `sleep`, `badblocks`
Tested with the static analysis tool at https://www.shellcheck.net to insure that the code is POSIX-compliant and free of issues.
Tested with the static analysis tool at [www.shellcheck.net](https://www.shellcheck.net) to insure that the code is POSIX-compliant and free of issues.
## Author
Written by Keith Nash, March 2017.
Modified on 19 August 2020.