So I’ve been using multi-report for many years now. I’m running it on TrueNAS core 13.0-U6.7 and it is started by cron at 8AM every morning.
After upgrading to the latest version of everything, with the new script to do SMART testing, I’ve found that the script never starts a test on my two NVMe drives. All other SMART testing is handled by the TrueNAS middleware, so I set Test_ONLY_NVMe_Drives=“true” in the multi-report configuration file.
The log file in DS_Logs shows:
Joe's SMART Drive Self-test Script - Run: 09 February 08:00:06 AM
Script Version: 1.03 (26 January 2025), TrueNAS Core 13.0-U6.7
Logging Enabled
Testing ONLY NVMe Drives
Short Test Mode:(1) "Short SMART Test on 1 Drive(s) Per Day", Running Week Option, Sorting by: DriveID
Authorized Test Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
Total Drives Recognized: 2
All Scheduled Drives Complete
Drive(s) previously scheduled to be tested: None
Drives scheduled for testing today: None
Long Test Mode:(1) "Long SMART Test on 1 Drive(s) Per Day", Running Month Option, Sorting by: Serial
Sorting Drive Test Order ...............
Authorized Test Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun
Total Drives Recognized: 2
Drive(s) previously scheduled to be tested: nvme1 nvme0
0 Drive(s) testing today:
NO SHORT TESTS TO RUN
NO LONG TESTS TO RUN
08:00:07: Drive-Selftest Wrapping things up...
Elapsed Time: Program 0 minutes and 1 seconds elapsed.
Saving Log (file name: /mnt/freenas/Scripts/DS_Logs/drive_test_09.txt)
Exiting Joe's SMART Drive Self-test Script
Interestingly, the first time I tried setting this flag, the SMART test script still insisted on trying to test my SSDs and spinning rust drives and I had to add the serial numbers of those drives in the script itself in the Ignore_Drives_List variable to make the script leave them alone.
For now, I’ve simply added a cron job which runs:
nvmecontrol selftest -c 1 nvme0
nvmecontrol selftest -c 1 nvme1
every day at midnight just to avoid getting warnings from multi-report.