S.M.A.R.T.: Difference between revisions

From David's Wiki
 
(6 intermediate revisions by the same user not shown)
Line 5: Line 5:
* Add <code>-d sat</code>
* Add <code>-d sat</code>


For some seagate hard drives, it will run in uas mode and smart won't work.   
====Seagate USB Hard Drives====
See [https://www.smartmontools.org/wiki/SAT-with-UAS-Linux https://www.smartmontools.org/wiki/SAT-with-UAS-Linux].   
For Seagate USB hard drives, it will run in uas mode and smart won't work.   
To fix this, you can find your id by looking in <code>/var/log/kern.log</code> and filling in:
See [https://askubuntu.com/questions/637450/cannot-perform-smart-data-and-self-test-on-external-hard-drive https://askubuntu.com/questions/637450/cannot-perform-smart-data-and-self-test-on-external-hard-drive].   
<pre>
To fix this:
GRUB_CMDLINE_LINUX="usb_storage.quirks=0bc2:[id]:u"
# Run <code>lsusb</code> to find the id of your HDD
</pre>
#* It should start with <code>0bc2</code>.
# Create file <code>/etc/modprobe.d/ignore_uas.conf</code> and add this following:
#* <code>options usb-storage quirks=[ids]</code>
#* E.g. <code>options usb-storage quirks=0bc2:ab31:,0bc2:a0a4:</code>
# Run <code>sudo update-initramfs -u</code>
# Reboot


* Multiple hard drives should be comma separated:
====Long Smart Tests====
** E.g. <code>0bc2:abcd:u,0bc2:efgh:u</code>
When running long smart tests, you will want to continuously poll the device so it does not go to sleep.
* <code>0bc2</code> is the manufacturer id for Seagate drives.
<syntaxhighlight lang="bash">
DEVICE=/dev/sda
sudo smartctl -t long $DEVICE
sudo watch -d--cumulative -n 10 smartctl -l selftest $DEVICE
</syntaxhighlight>


===Remote monitoring===
===Remote monitoring===
Line 36: Line 45:
* <code>-M daily</code> sends daily reminders for failures
* <code>-M daily</code> sends daily reminders for failures
* <code>-s (S/../../6/01)</code> runs a short test every saturday at 1AM.
* <code>-s (S/../../6/01)</code> runs a short test every saturday at 1AM.
===Tests===
<pre>
sudo smartctl -t <short|long|conveyance|select> <drive>
</pre>
* <code>conveyance</code> is good to test after any physical movement of the drive.


==gsmartcontrol==
==gsmartcontrol==
gsmartcontrol is a GUI frontend for smartctl
gsmartcontrol is a GUI frontend for smartctl

Latest revision as of 14:43, 10 March 2023

SMART Testing

smartctl

USB Hard Drives

  • Add -d sat

Seagate USB Hard Drives

For Seagate USB hard drives, it will run in uas mode and smart won't work.
See https://askubuntu.com/questions/637450/cannot-perform-smart-data-and-self-test-on-external-hard-drive.
To fix this:

  1. Run lsusb to find the id of your HDD
    • It should start with 0bc2.
  2. Create file /etc/modprobe.d/ignore_uas.conf and add this following:
    • options usb-storage quirks=[ids]
    • E.g. options usb-storage quirks=0bc2:ab31:,0bc2:a0a4:
  3. Run sudo update-initramfs -u
  4. Reboot

Long Smart Tests

When running long smart tests, you will want to continuously poll the device so it does not go to sleep.

DEVICE=/dev/sda
sudo smartctl -t long $DEVICE
sudo watch -d--cumulative -n 10 smartctl -l selftest $DEVICE

Remote monitoring

See Reference

  1. Install the following:
    sudo apt install mailutils msmtp msmtp-mta smartmontools
  2. Edit /etc/smartd.conf
  3. Add some options

See smartd.conf reference

Example:

/dev/disk/by-id/usb-WD_easystore_264D_394B47573334314C-0:0 -s (S/../../6/01) -a -m [email protected] -M test -M daily
  • -a turns on some defaults for checking smart attributes
  • -M Test sends a test email when smartd starts
  • -M daily sends daily reminders for failures
  • -s (S/../../6/01) runs a short test every saturday at 1AM.

Tests

sudo smartctl -t <short|long|conveyance|select> <drive>
  • conveyance is good to test after any physical movement of the drive.

gsmartcontrol

gsmartcontrol is a GUI frontend for smartctl