smartctl 实际上并没有运行自我测试?

smartctl 实际上并没有运行自我测试?

我想运行 smartctl 自检来检查我的 RAID 阵列 (PERC 5/i) 中驱动器的运行状况。该阵列位于 sda 上,包含六个驱动器。我可以使用以下命令检查状态

sudo smartctl /dev/sda -d megaraid,0 -a

我看到所有驱动器上都启用了 SMART。我尝试使用

 sudo smartctl /dev/sda -d megaraid,0 -t short

 sudo smartctl /dev/sda -d megaraid,0 -t long

我也在所有驱动器 0-5 上尝试过。无论我怎么尝试,当我运行:

 sudo smartctl /dev/sda -d megaraid,0 -l selftest

我总是得到相同的结果,似乎总是报告我从未进行过自我测试。

 /dev/sda [megaraid_disk_00] [SAT]: Device open changed type from 'megaraid' to 'sat'
 ===START OF READ SMART DATA SECTION ===
 SMART Self-test log structure revision number 1
 No self-tests have been logged.  [To run self-tests, use: smartctl -t]

从我读到的内容来看,在阵列安装后运行短自检和长自检应该没有问题。是否有其他人有在 PERC 5/i raid 阵列上运行这些测试的经验,可以对问题的原因提供一些见解?

(smartmontools 版本 5.40 于 2009-12-09 21:00:32 UTC 发布)

答案1

这是 Dell Perc 5/i 硬件阵列控制器。让它做它的事。如果磁盘上没有红色或黄色指示灯,为什么还要担心运行自己的 聪明的测试?

阵列控制器除了使用其他功能/测试外,还使用 ​​SMART 来确定驱动器的健康状况。无需自行运行分析。

答案2

这是一个老话题,但我想说的是,硬件控制器,特别是巡检读取,有很多不足之处。显然,它们应该测试磁盘表面并纠正问题,有时它们也会这样做,但它们从不修复表面上的待处理扇区,而它们可以并且应该使用冗余数据。因此,当您的硬盘驱动器出现智能错误并想要将其切换出去时,您无法真正知道另一个驱动器(例如在 raid1 中)是否完全可读,因此智能长测试是可取的。是的……我同意一致性检查可能会起作用,但这会降低阵列的性能,并且您将丢失数据,而这些数据本可以通过具有未发现或已知错误但仍具有 100% 可读数据的最佳阵列来保存。关键是 raid 固件存在错误,并且内部工作被夸大了。它们提供了虚假的安全性,这比您知道肯定会在某一时刻失败的系统更危险。

相关内容