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