smartmontools работал хорошо для меня.
У меня есть материнская плата Asus с RAID-контроллером Intel ICH10R. Два из жестких дисков имеют конфигурацию RAID-1, а два других - обычную настройку без RAID. Я могу запросить любого из них с помощью smartmontools.
Интерфейс командной строки довольно прост в использовании и может быть легко написан на сценарии.
c:\>smartctl --scan
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/sdc -d scsi # /dev/sdc, SCSI device
/dev/csmi0,0 -d ata # /dev/csmi0,0, ATA device
/dev/csmi0,2 -d ata # /dev/csmi0,2, ATA device
/dev/csmi0,3 -d ata # /dev/csmi0,3, ATA device
/dev/csmi0,4 -d ata # /dev/csmi0,4, ATA device
/dev/csmi0,5 -d ata # /dev/csmi0,5, ATA device
Это показывает вам список обнаруженных устройств. В моем случае устройства 5 /dev /csmi0, x соответствуют различным портам SATA на материнской плате.
Вы можете запросить любой из них легко:
c:\>smartctl -a /dev/csmi0,2
smartctl 6.3 2014-07-26 r3976 [x86_64-w64-mingw32-win7-sp1] (sf-6.3-1)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: SAMSUNG SpinPoint F2 EG
Device Model: SAMSUNG HD154UI
Serial Number: XXXXXXXXXXXXXX
LU WWN Device Id: X XXXXXX XXXXXXXXX
Firmware Version: 1AG01118
User Capacity: 1,500,301,910,016 bytes [1.50 TB]
Sector Size: 512 bytes logical/physical
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA/ATAPI-7, ATA8-ACS T13/1699-D revision 3b
Local Time is: Thu Apr 16 21:59:25 2015 PDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
...
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 100 015 Pre-fail Always - 0
3 Spin_Up_Time 0x0007 070 070 007 Pre-fail Always - 9700
4 Start_Stop_Count 0x0032 098 098 050 Old_age Always - 2506
5 Reallocated_Sector_Ct 0x0033 100 100 051 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 100 100 015 Pre-fail Always - 0
8 Seek_Time_Performance 0x0025 100 100 037 Pre-fail Offline - 0
9 Power_On_Hours 0x0032 097 097 050 Old_age Always - 14655
10 Spin_Retry_Count 0x0033 100 100 051 Pre-fail Always - 0
11 Calibration_Retry_Count 0x0012 100 100 018 Old_age Always - 0
12 Power_Cycle_Count 0x0032 098 098 050 Old_age Always - 2500
13 Read_Soft_Error_Rate 0x000e 100 100 014 Old_age Always - 0
183 Runtime_Bad_Block 0x0032 100 100 050 Old_age Always - 0
184 End-to-End_Error 0x0033 100 100 051 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 050 Old_age Always - 2
188 Command_Timeout 0x0032 100 100 050 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 067 061 034 Old_age Always - 33 (Min/Max 13/33)
194 Temperature_Celsius 0x0022 065 060 034 Old_age Always - 35 (Min/Max 13/35)
195 Hardware_ECC_Recovered 0x001a 100 100 026 Old_age Always - 767683535
196 Reallocated_Event_Count 0x0032 100 100 050 Old_age Always - 0
197 Current_Pending_Sector 0x0012 100 100 018 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 100 100 048 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 100 100 062 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x000a 100 099 010 Old_age Always - 3
201 Soft_Read_Error_Rate 0x000a 100 100 010 Old_age Always - 0
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
ID № 5 и № 198 представляют особый интерес. Было проведено интересное исследование Google, которое показало, что они являются довольно хорошими показателями относительно того, когда диск собирается выйти из строя.