check hdd health
check secor size
lsblk -o NAME,PHY-SeC
In my setup of SAS drives I have a block size of 512, my SATA drive setup has 4096 block size.
badblocks
Check the health of a harddisk with badblocks, attention the w option will delete all data on the disk. Use the blocksize from above with the badblocks command.
badblocks -svw -b 512 -c 65536 /dev/sda
It seems that the c option has a big impact on the runtime of badblocks.
smart
After running badblocks you can run a long selftest
smartctl -t long /dev/sda