我的托管服务提供商已将硬盘驱动器插入我的服务器,该硬盘驱动器过去似乎出现过某种错误,但完整的离线智能检查显示目前一切正常(大约)。服务器有一个 RAID1,所以我可以忍受这种情况。
问题是(根据手册页)如果过去出现错误,smartctl 会设置第 6 位,所以现在一切正常,退出代码是数字 64。
默认情况下,智能插件的阈值配置为 0,虽然我知道我可以将阈值设置为 64,但我会错过更重要的第 3 位“磁盘故障”。
有没有办法以某种方式设置阈值,以便 munin 对值进行按位比较?
是否有根据硬盘制造商如何解释 SMART 属性“开机时间”的表格?其中一些使用小时,几分钟甚至几秒钟......
我可以使用以下命令列出所有 megaraid 适配器上的物理驱动器:
megacli -PDList -aALL
Run Code Online (Sandbox Code Playgroud)
这将为每个适配器显示一个适配器 #,然后列出连接到它们的物理驱动器。
PDList 输出中的各个设备也有一个设备 ID,用于 smartctl 命令,例如设备 ID 3:
smartctl -a -d sat+megaraid,3 /dev/sda
Run Code Online (Sandbox Code Playgroud)
两个命令都使用相同的设备 ID,所以没问题。但是我们如何正确地将适配器 # 映射到设备节点?
在 CentOS 6 上运行 smartmontools-5.43-1.el6。查看源代码似乎需要从 ioctlSG_GET_SCSI_ID或SCSI_IOCTL_GET_BUS_NUMBER在命名设备节点上获取的总线编号 / host_no 。这是否与 MegaCLI 输出中使用的“适配器编号”相同?
实际上,就我而言,我可能可以将其硬编码到 /dev/sda,但我想知道是否有更好的方法。
我有一台繁忙的服务器,设置了 RAID 1。该应用程序(在 PHP 中运行)对数据库 (MariaDB) 的读/写非常密集。
cronjobsmartctl每天运行简短的测试并检查smartctl -H和的输出mdadm -D。
有时我想运行长时间测试,但我担心它对性能的影响。我读到可能需要几个小时才能完成。如果它导致服务器性能在运行时下降,我的用户将受到 5 个多小时的影响。
所以,这里有几个问题:
1) 长时间的智能测试通常会影响对用户来说很重要的性能吗?
2)既然我有RAID 1并且做了短测试,那么长测试还需要吗?
3)如果我发现长时间测试对服务器性能造成了问题,是否有办法停止它?
我在 Synology NAS 中有两个 Kingston A400 120GB SSD 作为缓存,它似乎不支持自动离线数据收集。
# smartctl -d sat -c /dev/sdc | grep -i "Auto Offline data collection"
Auto Offline Data Collection: Disabled.
No Auto Offline data collection support.
# smartctl -d sat -o on /dev/sdc
SMART Automatic Timers not supported
SMART Enable Automatic Offline failed: scsi error aborted command
Run Code Online (Sandbox Code Playgroud)
然而,当我检查标记为“离线”的属性时,即使我不运行手动离线数据收集或自测试,RAW_VALUE其中之一也会不断变化(具体而言)。246 Total_Erase_Count我检查了 smartd 是否正在运行以防万一,但事实并非如此。另一个相同的 SSD 也会发生同样的情况。
问题:
输出smartctl -a:
=== START OF INFORMATION SECTION …Run Code Online (Sandbox Code Playgroud) 我有一个 Synology 1812+ NAS,其中有 8 个 3TB 驱动器配置为 RAID 5。它运行 DSM 4.1。购买它是为了使用 Time Machine 替换 USB 驱动器、整合存储和短期 OS X 备份。设备和驱动器只有 2 个月大。
每隔一周我就开始从两个驱动器收到 IO 错误。日志有以下错误:
Read error at internal disk [3] sector 2586312968.
Run Code Online (Sandbox Code Playgroud)
后来
Bad sector at md2 disk3 sector 250049936 has been corrected.
Run Code Online (Sandbox Code Playgroud)
扇区永远不匹配。建议在驱动器上运行扩展的 SMART 测试。我做到了,这是我得到的价值观:
然后,我对没有收到任何投诉的驱动器之一进行了扩展扩展 SMART 测试,以下是我得到的值:

这些值看起来非常相似。我不清楚是否有问题,如果没有,如果 SMART 测试没有发现任何真正的问题,它的意义何在?然后我应该如何解释这些结果,我应该什么时候知道更换硬盘的时间?
storage network-attached-storage smart drive-failure synology
我正在使用通过 USB 连接到 Linux 机器的 Seagate Backup Plus 4TB 驱动器。驱动器型号为 ST4000DX000-1CL160。
检查 SMART 属性时,我得到:
$ sudo smartctl -a -d sat /dev/sdb
smartctl 5.41 2011-06-09 r3365 [i686-linux-3.2.0-37-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Device Model: ST4000DX000-1CL160
Serial Number: Z1Z046LE
LU WWN Device Id: 5 000c50 04ec317ca
Firmware Version: CC44
User Capacity: 4.000.787.030.016 bytes [4,00 TB]
Sector Size: 512 bytes logical/physical
Device is: Not in smartctl database [for details use: -P showall]
ATA …Run Code Online (Sandbox Code Playgroud) 我有一个磁盘可能损坏的系统,但磁盘通过了各种诊断。我一直无法确认磁盘是否损坏。我有哪些选择?
我可以只更换磁盘,但因为这种情况与我遇到的另一个更严重的情况非常相似(长话短说),我想实际做出正确的诊断,而不是随机装箱硬件。
问题和历史是这样的:
我想确认磁盘坏了,但我所做的一切都没有证实这一点:
smartctl -t long /dev/sda) 无错误完成。dd if=/dev/sda of=/dev/null bs=4096 以绚丽的色彩传递。我还能做些什么来评估驱动器的健康状况?
同样,这不是要让这个路由器再次完全正常运行,这是一个磁盘取证问题,因为碰巧我有另一台服务器可能有同样的问题,知道这个问题的答案可能会对我有很大帮助。
为了记录,以下是日志等。
这是smartctl -a输出:
smartctl 5.40 2010-07-12 r3124 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda 7200.7 and 7200.7 Plus …Run Code Online (Sandbox Code Playgroud) 我想得到您对几天前我遇到的一个有争议的情况的反馈。我的任务是使用 HP Proliant G6 进行开发,并在 RAID1 配置中使用 2 个新的(不到 2 个月,以前从未使用过)非 HP SSD。它们用于密集型开发任务(每天写入约 500GB);RAID5 中也有常规 HDD,但我们在这里讨论 RAID1 阵列。
两者的 smartctl 输出均可在此处获得:https://gist.github.com/anonymous/cf8a5208a7315440f796
Plextor 驱动器一直受到报告的过热状况的影响,我认为这是因为它不是原装部件
我曾经见过一次服务器偶尔重新启动后重建 RAID1,但无法解释其原因。
几天前,Plextor 磁盘被报告为简单的“故障”状态:
physicaldrive 1I:1:1 (port 1I:box 1:bay 1, Solid State SATA, 256.0 GB, Failed)
因此,我拔掉了它,检查了 SMART 输出并运行了完整的测试(请参阅上面的 smartctl 输出)。测试通过了,更糟糕的是,将驱动器放回原处可提供功能完美的 RAID1 阵列。
这很尴尬。
我不知道如何让 P410i 告诉我“失败”状态的具体原因是什么(我认为不可能),并且我知道这些是非原装 HP 部件(从而使我的付费 HP 支持失效),但是对于这个非关键任务服务器,我想看看是否仍然可以继续使用非惠普磁盘,并且仍然对其健康状态进行某种监控。
你有什么意见?我有 3 个问题:
提前致谢
在我拥有的带有 HDD 或 SSD 的服务器上,我有一个定期运行的 cron:
/usr/sbin/smartctl --test=short/long /dev/sd1
Run Code Online (Sandbox Code Playgroud)
(对于每个磁盘)
当它运行时,它只是查看 的输出/usr/sbin/smartctl -c /dev/sd1,循环直到它不再包含:
[0-9]+% of test remaining.
Run Code Online (Sandbox Code Playgroud)
然后检查它是否完成且没有错误:
( 0) The previous self-test routine completed
Run Code Online (Sandbox Code Playgroud)
smartctl但是,从版本 7.0 开始,似乎尚不支持 NVMe 测试:https : //www.smartmontools.org/wiki/NVMe_Support
它确实这么说
smartd 守护进程跟踪运行状况 (-H)、错误计数 (-l error) 和温度 (-W DIFF,INFO,CRIT)
但实际运行测试的是什么?我不确定 和 的输出是否会-H更新-l,除非我们运行短/长测试?
我还阅读了有关 的内容nvme-cli,但我似乎没有找到用它在磁盘上运行运行状况测试的方法。
有任何想法吗?
这里使用 CentOS 7。
smart ×10
hard-drive ×3
smartctl ×3
ssd ×2
synology ×2
centos ×1
healthcheck ×1
hp ×1
hp-proliant ×1
megacli ×1
megaraid ×1
monitoring ×1
munin ×1
nvme ×1
raid ×1
raid1 ×1
storage ×1