Skip to content

DncrJim/disktest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 

Repository files navigation

disktest

script for testing incoming sata/sas disks

Instructions

must be run as root

-y Will not prompt before erasing data

-a all tests, -slbw (z will be added when complete)
-s short S.M.A.R.T test smartctl -t short
-l long S.M.A.R.T test smartctl -t long
-b badblocks 4 passes of write/read
-w write speed test
-z .zfs test (not yet implemented)

-u unattended mode (not yet implemented)
-m Sends email 0 = no emails, 1 (default) = email status updates, 2 = email full log each time
-e Sets email address, default root
-f Formats disk after testing
-d Sets disk sdxx

full command, run all tests, erase data, and format: sudo /disktest.sh -ayf -d sdxx

Dependencies

  • smartctl (smartmontools)
  • badblocks (e2fsprogs) .only applies to badblocks test
  • zfs .only applies to zfs test
  • f3 .only applies to zfs test
  • parted .only applies to zfs test or formatting

Other Notes

designed for sata/sas disks only, ATA info reporting is not enabled

Testing Sequence (checks indicate sections with completed programing)

  • smart test - Short
  • smart test - Long
  • badblocks - standard 4 pass r/w
  • test/report disk r/w speed
  • zfs r/w test under compression
    • create single disk zfs pool w/ compression
    • run standard single pass r/w test
    • destroy zfs pool
  • run short/long smart test again at end?
    • create flag for this?

Possible Future Development

  • insert time stamps in log
  • check for dependencies (based on selected flags) before running
  • update "**skipping" and "**starting" inserts to make sure they log correctly
  • confirm if r/w speed test is destructive
    • optional: add r/w test for when disk is in use?
  • add confirmation messages at beginning of script
    • confirm device name and
    • if badblocks/zfs is selected, confirm data erasure
  • set up to run program in background
  • allow input of a list of multiple disks
  • flags for automatic enable/disable of individual tests
    • -u flag for run in unattended mode (background/disown)
    • -z flag for zfs
  • add test to check for disks reporting fake size (f3?)
  • have program check for dependencies before running

Releases

No releases published

Packages

No packages published

Languages