如何在 Ubuntu 上使用 smartmontools 监控硬盘健康状况
在此页
- 关于 smartmontools
- 安装
- 链接
在本文中,我将向您介绍 smartmontools,它是一组可以测试硬盘驱动器的应用程序,当故障率上升时自动通知您并读取硬盘 SMART 统计数据以及早发现故障。我将在本教程中介绍在 shell 和 smartmon GNOME gui 上的安装、使用。
关于smartmontools
smartmontools 软件包包含两个实用程序(smartctl 和 smartd),使用大多数现代 ATA 和 SCSI 硬盘中内置的自我监控、分析和报告技术系统 (SMART) 来控制和监控存储系统。在许多情况下,这些实用程序将提供磁盘降级和故障的高级警告。
安装
从安装开始。您只需要一台现代 S.M.A.R.T.有能力的硬盘。
sudo apt-get install smartmontools
上面的命令将在您的系统上安装 smartmontools。现在只是检查您的驱动器是否实际上是 SMART 类型:
sudo smartctl -i /dev/sda

sudo smartctl -s on /dev/sda

sudo smartctl -a /dev/sda (for IDE drives)
sudo smartctl -a -d ata /dev/sda (for SATA drives)
您可以通过键入以下内容来检查您的硬盘驱动器状态:
sudo smartctl -H /dev/sda
如果输出显示任何错误,您最好运行备份!!!
现在在您的系统上启用了 SMART,让我们看看如何使用它。用于测试硬盘驱动器的工具可执行三种类型的测试。您可以通过键入以下内容来检查所有这些信息:
sudo smartctl -c /dev/sda

sudo smartctl -l long /dev/sda (for long test)
sudo smartctl -short /dev/sda (for short test)
sudo smartctl -conveyance /dev/sda (for conveyance test)

sudo smartctl -l selftest /dev/sda

man 8 smartctl
man 8 smartd (for smartd output's)
完成上述所有操作后,您可以在系统上将 smartmontools 作为守护进程运行。因此,您不必每天执行上述所有操作。为此,请继续执行以下操作:
sudo nano /etc/default/smartmontools

sudo nano /etc/smartd.conf (and uncomment the marked line)

/dev/sda -m root -M exec /usr/share/smartmontools/smartd-runner
上述命令中的-m root 表示如果在扫描过程中出现错误,将向root 发送邮件报告,但 -M exec 将执行 /usr/share/smartmontools/smartd-runner 中的命令。如果您的系统没有 smartd-runner 文件,您可以删除 -M exec 部分。 smartd-runner 文件执行了相当多的功能,包括向 root 发送邮件,但它可能有自己的时间规范。如果你想添加你自己的规格你也可以这样做,这里是一个如何做的例子:
DEVICESCAN -a -H -l error -l selftest -f -s(S/../.././02|L/../../6/03) -m root -M exec /usr/share/smartmontools/smartd-runner
以下是对上述内容的解释:
( -a) 这会启用一些常用选项。您几乎肯定想要使用它。检查 SMART 健康状态 (-H)。报告两个 SMART 错误日志 (-l) 的增加。检查任何使用属性 (-f) 是否失败。 \-s (S/../.././02|L/../../6/03)\ 这安排了短期和长期自检。在此示例中,简短自检将在每天凌晨 2:00 运行。长时间测试将在每个星期六凌晨 3:00 运行。有关详细信息,请参阅 smartd.conf 手册页。
如果您想扫描特定的驱动器,您可以通过将驱动器名称放在 /dev/sda 中来实现。要检查 smart.conf 的 man 文件,请输入:
man 5 smartd.conf
他们还有此应用程序的 GUI 版本,可以通过以下方式安装:
sudo apt-get install gsmartcontrol


链接
- smartmontools.org