如何在Ubuntu上使用smartmontools监控硬盘健康

在本文中,我将介绍smartmontools,它是一组可以测试硬盘驱动器的应用程序,当故障率上升时自动通知您,并阅读硬盘SMART统计信息以及早发现故障。 我将在本教程中介绍shell上的安装,使用和smartmon GNOME gui。

关于smartmontools

smartmontools软件包包含两个实用程序(smartctl和smartd),用于使用内置于大多数现代ATA和SCSI硬盘中的自我监视,分析和报告技术系统(SMART)来控制和监视存储系统。 在许多情况下,这些实用程序将提供对磁盘降级和故障的高级警告。

安装

从安装开始。 所有你需要的是一个现代的SMART能力的硬盘。

sudo apt-get install smartmontools

上述命令将在您的系统上安装smartmontools。 现在只是检查你的驱动器是否实际上是SMART类型:

sudo smartctl -i /dev/sda

上面的/ sda可以用你自己的hdd名称/ xyz或任何东西替代。 它会看起来像这样:



确保输出的最后两行是一样的。 该图像基本上包含有关我的hdd的信息。 现在让我们启用SMART服务。

sudo smartctl -s on /dev/sda





上述命令将启用智能支持,如果已启用,它不会执行任何操作。
要查看IDE驱动器和SATA驱动器类型的完整SMART信息:

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)




上述图像是长时间测试执行命令后,不便之情。 长时间的测试将需要更多的时间,而任何其他的。 所有的测试都在后台运行,所以没有办法可以跟踪屏幕上的进度。 您将不得不输入输出的命令。 如果在上述任何测试中出现任何错误,则意味着您尽快获得您的sda的备份。 在不久的将来可能会出现硬盘故障的机会。

要获得测试结果,您必须输入:

sudo smartctl -l selftest /dev/sda




这是一个图像如何测试结果的样子。 虽然结果很清楚,但是如果您对smartctl的输出有任何问题,您可以通过键入以下方式检查手册页:

man 8 smartctl
man 8 smartd (for smartd output's)



完成上述所有操作后,您可以在系统上运行smartmontools作为守护程序。 所以你不必每天都执行上述所有动作。 要做到这一点,请执行以下操作:

sudo nano /etc/default/smartmontools


你可以使用任何你想要的文本编辑器,我正在使用nano。 取消注释以下行:



这将使用系统每次启动smartmontools。 现在要配置SMART如何扫描磁盘以及如果SMART返回任何错误将采取什么操作?

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




如果DEVICESCAN不可能在您的系统上工作,您可以使用/ dev / sda或您的hdd名称而不是DEVICESCAN。 您添加的行将如下所示:

/dev/sda -m root -M exec /usr/share/smartmontools/smartd-runner


在上述命令-m root中 ,如果在扫描过程中出现错误,它将向发送电子邮件报告,而是-m exec将在/ usr / share / smartmontools / smartd-runner中执行exec命令。 如果您的系统没有smartd-runner文件,则可以删除-M exec部分。 文件smartd-runner执行相当多的功能,包括发送邮件到 ,但它可能有自己的时间规格。 如果你想添加自己的规格,你也可以这样做,这里是一个例子如何做:

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


以下是您可能会发现的一些图片。

这是GUI的样子,右键单击驱动器,您可以在其中找到其他选项。



继续尝试。

链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏