如何在Ubuntu上使用smartmontools监控硬盘健康状况
如何在Ubuntu上使用smartmontools监控硬盘健康状况
在Ubuntu系统中,使用smartmontools工具可以有效地监控硬盘健康状况。本文将详细介绍如何安装和使用smartmontools,包括命令行操作和守护进程设置,并提供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