Your SMART drive database of attribute meanings needs regular updates
A lot of people use the smartmontools
tools to monitor their drives, either automatically through
(which is often set up by default) or directly through '
If you've ever used '
smartctl -A' to get the SMART attributes of
your drives, you know that these attributes have names that often
give you important information on how to interpret their values.
Sadly, these names (and measurement units) mostly aren't standardized;
instead, drive vendors come up with whatever they want, including
varying them from model to model. Even when they use the same SMART
attributes for the same purpose as other drives they may change the
Smartmontools deals with this by having a text file that contains
a bunch of mappings for what various SMART attribute IDs mean on
various different drives. On many systems, you can see your current
version of this database in
/var/lib/smartmontools/drivedb/drivedb.h. Unsurprisingly, this
drive database is updated on a regular basis to add and correct
A SMART database that's missing necessary entries for your disks
can have two effects. The obvious effect is if some SMART attributes
are called just 'Unknown Attribute'; this at least lets you know
that you don't really know what's going on. More dangerously, some
attributes might be mis-labeled, so that for example
thinks that the attribute is 'Total LBAs Written' when it's actually
'Host Writes GiB' (which explains why the values we see are so low
on that disk model).
If you're using a Linux distribution that makes frequent releases,
smartmontools probably has a pretty up to date version of
the drive database. If you're using a less frequently updated
distribution, for example Ubuntu LTS, your SMART drive database is
going to be out of date almost as soon as the distribution is
released. This generally means that you want to update your drive
database on a regular basis, unless you only ever use drives that
are sufficiently old that they're in a SMART database from, say,
2018 (spoiler, they're not).
Smartmontools ships with an
update-smart-drivedb script that
can be used to do this. By default, it updates the location that
was built into distribution package, which you may not want to do.
Fortunately you can tell it to fetch to some other location, which
you can then tell smartctl to use with '
smartctl -B ....'. You
can also just read the script to determine the URLs and then fetch
one of them yourself. I've generally used the smartmontools Github
repo since I find
the web interface much easier than SVN. You want drivedb.h
in raw format, possibly from a branch instead of trunk.
(We've used the trunk version of drivedb.h without problems so far. Well, without obvious and visible problems at least.)