True for the moment. I had a suggestion to make a change to my script to only remove drives that are in a pool having a scrub active. I have expanded this to include Resilver as well.
TrueNAS (all versions) are currently (as of this writing) not capable of scheduling and running SMART tests. I have Multi-Report which does perform this operation, well to be specific the Drive-Selftest script. It can and will plan all your scheduling needs for all your drives. You tell it what days of the week it is allowed to run, tell it how often to run a Short or Long test (Daily/Weekly/Monthly). And you tell it that if a Scrub is going on, if xx minutes remains then it can run a Long test if the schedule supports it, if the scrub is longer, run a Short test instead.
You will not find a manufacture specification on how often a SMART test is to be run, or at least I have never seen one. With that said, I would change your setup to use Multi-Report so you can test your NVMe drives and remove the scheduled testing from the TrueNAS GUI.
Otherwise your schedule is sort of close to correct. The 14TB drives are scheduled differently that what I’d do.
If I had to schedule my hard drives using TrueNAS, I’d do it this way.
The Short testing is fine.
The Long testing should be broken up into individual days, drive sda on Monday, sdb on Tuesday, etc… Do not run Long tests on multiple drives for any given day if possible. This keeps the pool more responsive and generates less heat in the system, especially if your drives are stacked together.
The Scrub is fine as well.
I do need to clarify two things, the Multi-Report script needs to be run every day that it would have been authorized to run or you run the risk of a drive skipping a Long test. And the script is run as root. This can be an issue for some folks and if you can find a way to run it not being root, tell me how as I would really like to know. That is a serious comment. I’m not all knowing (my wife thinks that I think I am).
And please do not think I’m peddling Multi-Report, that is not my purpose. Also, you can perform all the drive testing using just the Drive-Selftest script, so you do not need to install Multi-Report itself.
Why did I create Drive-Selftest? Because I know people who have dozens and even hundreds of drives and this greatly simplifies scheduling these tests.
Drive-Selftest is currently at version 1.05 and I started working on version 1.06 a few days ago, as time permits. The big change there is currently, any SCRUB on any pool will cause all Long tests to be changed to Short tests for that time period. It will be change to be pool specific. Again, someone with a lot of drives uses this and they are the ones who asked if it could be implemented.
If you want to read the User Guide, here is my GitHub link where the files are located. Look for the Drive-Selftest User Guide with respect to this topic. The Multi-Report User Guide s there and the Quick Start Guide.