Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Шелезяки —> S.M.A.R.T.

Мониторинг состояния жёсткого диска при помощи smartmontools

Автор: lissyara.


    Когда я думал, что посыпался диск, и смотрел вывод инфы по диску от atacontrol то в этом самом выводе заметил, что для диска отключен S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology). Странно, ибо я его обычно включаю. Заодно и задумался о мониторинге и предупреждении таких вещей. Естественно, для дисков, на эту роль годился тока S.M.A.R.T. Поиск в портах подсказал утилиту - smartmontools, за отсутствием альтернатив, её и будем юзать :)
/usr/home/lissyara/>cd /usr/ports/sysutils/
/usr/ports/sysutils/>make search name='smart'
Port:   smartmontools-5.36
Path:   /usr/ports/sysutils/smartmontools
Info:   S.M.A.R.T. disk monitoring tools
Maint:  martines@rochester.rr.com
B-deps: gettext-0.14.5_2 gmake-3.80_2 libiconv-1.9.2_2
R-deps:
WWW:    http://smartmontools.sourceforge.net

/usr/ports/sysutils/>
/usr/ports/sysutils/>cd /usr/ports/sysutils/smartmontools
/usr/ports/sysutils/smartmontools/>make && make install && make clean
................................................
................................................
smartmontools has been installed

To check the status of drives, use the following:

        /usr/local/sbin/smartctl -a /dev/ad0            for first ATA drive
        /usr/local/sbin/smartctl -a /dev/da0            for first SCSI drive

To enable monitor of drives, you can use /usr/local/sbin/smartd
A sample configuration file has been installed as
/usr/local/etc/smartd.conf.sample
Copy this file to /usr/local/etc/smartd.conf and edit appropriately

To have smartd start at boot
        echo 'smartd_enable="YES"' >> /etc/rc.conf
===> Installing rc.d startup script(s)
................................................

Для начала проверил, а включен и поддерживается ли у меня S.M.A.R.T.:
/usr/home/lissyara/>atacontrol cap ad0

Protocol              ATA/ATAPI revision 7
device model          Maxtor 2F020L0
serial number         F1B8KTWE
firmware revision     VAM51JJ0
cylinders             16383
heads                 16
sectors/track         63
lba supported         40718160 sectors
lba48 not supported
dma supported
overlap not supported

Feature                      Support  Enable    Value           Vendor
write cache                    yes      yes
read ahead                     yes      yes
Tagged Command Queuing (TCQ)   no       no      0/0x00
SMART                          yes      yes
microcode download             yes      yes
security                       yes      no
power management               yes      yes
advanced power management      yes      no      0/0x00
automatic acoustic management  yes      yes     192/0xC0        192/0xC0
/usr/home/lissyara/>

На домашней машине всё включено и работает. Пробуем команду, что инсталлятор предлагает в конце инсталляции:
//>/usr/local/sbin/smartctl -a /dev/ad0
smartctl version 5.36 [i386-portbld-freebsd6.1] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Model Family:     Maxtor Fireball 3 family
Device Model:     Maxtor 2F020L0
Serial Number:    F1B8KTWE
Firmware Version: VAM51JJ0
User Capacity:    20 847 697 920 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 0
Local Time is:    Sat May 13 20:53:46 2006 MSD
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82) Offline data collection activity
                                        was completed without error.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                 (1261) seconds.
Offline data collection
capabilities:                    (0x5b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        No General Purpose Logging support.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  21) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  RAW_VALUE
  3 Spin_Up_Time            0x0027   234   234   063    Pre-fail  Always   4665
  4 Start_Stop_Count        0x0032   253   253   000    Old_age   Always   760
  5 Reallocated_Sector_Ct   0x0033   253   253   063    Pre-fail  Always   0
  6 Read_Channel_Margin     0x0001   253   253   100    Pre-fail  Offline  0
  7 Seek_Error_Rate         0x000a   253   252   000    Old_age   Always   0
  8 Seek_Time_Performance   0x0027   252   245   187    Pre-fail  Always   45773
  9 Power_On_Minutes        0x0032   222   222   000    Old_age   Always   22h+55m
 10 Spin_Retry_Count        0x002b   253   252   157    Pre-fail  Always   0
 11 Calibration_Retry_Count 0x002b   253   252   223    Pre-fail  Always   0
 12 Power_Cycle_Count       0x0032   252   252   000    Old_age   Always   632
192 Power-Off_Retract_Count 0x0032   253   253   000    Old_age   Always   264
193 Load_Cycle_Count        0x0032   253   253   000    Old_age   Always   2556
194 Temperature_Celsius     0x0032   253   253   000    Old_age   Always   43
195 Hardware_ECC_Recovered  0x000a   253   252   000    Old_age   Always   25884
196 Reallocated_Event_Count 0x0008   253   253   000    Old_age   Offline  0
197 Current_Pending_Sector  0x0008   253   253   000    Old_age   Offline  0
198 Offline_Uncorrectable   0x0008   253   253   000    Old_age   Offline  0
199 UDMA_CRC_Error_Count    0x0008   199   199   000    Old_age   Offline  0
200 Multi_Zone_Error_Rate   0x000a   253   253   000    Old_age   Always   0
201 Soft_Read_Error_Rate    0x000a   253   253   000    Old_age   Always   0
202 TA_Increase_Count       0x000a   253   253   000    Old_age   Always   0
203 Run_Out_Cancel          0x000b   253   253   180    Pre-fail  Always   0
204 Shock_Count_Write_Opern 0x000a   253   253   000    Old_age   Always   0
205 Shock_Rate_Write_Opern  0x000a   253   253   000    Old_age   Always   0
207 Spin_High_Current       0x002a   253   252   000    Old_age   Always   0
208 Spin_Buzz               0x002a   253   252   000    Old_age   Always   0
209 Offline_Seek_Performnce 0x0024   181   180   000    Old_age   Offline  0
 99 Unknown_Attribute       0x0004   253   253   000    Old_age   Offline  0
100 Unknown_Attribute       0x0004   253   253   000    Old_age   Offline  0
101 Unknown_Attribute       0x0004   253   253   000    Old_age   Offline  0

SMART Error Log Version: 1
ATA Error Count: 1
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 1 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
When the command that caused the error occurred, the device was in an unknown state.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  04 51 50 40 97 03 00  Error: ABRT

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  ef fe 00 00 00 00 00 00      00:02:17.120  SET FEATURES [Reserved for CFA]
  ec 00 01 01 00 00 00 00      00:02:17.072  IDENTIFY DEVICE
  c3 e4 00 00 00 00 00 00      00:02:17.056  [VENDOR SPECIFIC]
  ef 42 c0 00 00 00 00 00      00:02:17.040  SET FEATURES [Enable AAM]
  c3 3d 00 00 00 00 00 00      00:02:16.992  [VENDOR SPECIFIC]

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.

//>

Пашет :) Море инфы, большей частью непонятной... Ладно, топаем рихтовать конфиг, но для начала надо его скопировать из примера:
/usr/local/etc/>ll | grep smart
-r--r--r--  1 root      wheel      4890 13 май 20:37 smartd.conf.sample
/usr/local/etc/>cp smartd.conf.sample smartd.conf
/usr/local/etc/>ll | grep smart
-r--r--r--  1 root      wheel      4890 13 май 20:54 smartd.conf
-r--r--r--  1 root      wheel      4890 13 май 20:37 smartd.conf.sample
/usr/local/etc/>

После чего приводим его примерно к такому виду:
# файл конфигурации smartd. Содержит девайсы, по одному на строку.
# За подробностями в `man smartd.conf`

# Опция DEVICESCAN заставляет `забить` на все устройства,
# что будут явно перечислены далее, и при запуске просканировать
# ATA и SCSI девайсы. Для найденных устройств будут применены
# нижеперечисленные директивы. Для большинства пользователей
# рекомендуется закоментировать эту линию и явно перечислить
# устройства нуждающиеся в мониторинге.
#DEVICESCAN

# Пример для чётко указанного диска. Мониторятся все параметры,
# включен автоматический онлайн-сборщик данных(?), всё намониторенное
# сохраняется. Короткий тест гоняется каждый день с двух до трёх
# ночи, длинный по субботам, с трёх до четырёх.
#/dev/ad0 -a -o on -S on -s (S/../.././02|L/../../6/03)

# Мониторить статус SMART, логи ошибок ATA, лог самопроверки, и
# отслеживать изменения во всех атрибутах кроме 194 (температура)
#/dev/ad0 -H -l error -l selftest -t -I 194

# Тихий тест. Рапортует на мыло лишь в случае, если S.M.A.R.T. выдаёт
# ошибку, и (в случае ошибки) шлёт на мыло отчёт.
#/dev/ad0 -H -m admin@lissyara.su

# Для моих дисков:
/dev/ad0 -a -m admin@lissyara.su -o on -S on -s (S/../.././22|L/../../6/23)
/dev/ad4 -a -m admin@lissyara.su -o on -S on -s (S/../.././22|L/../../6/23)


# Директивы этого конфига. За подробностями - в `man smartd.conf`
#
#   -d TYPE Тип устройства: ata, scsi, marvell, removable, 3ware,N
#   -T TYPE допустимое отклонение: normal, permissive
#   -o VAL  разрешены/запрещены автономные тесты (on/off)
#   -S VAL  разрешено/запрешено автосохранение аттрибутов (on/off)
#   -n MODE Не проверять. Один из режимов: never, sleep, standby, idle
#   -H      Мониторить SMART статус. Уведомлять тока при ошибках.
#   -l TYPE Мониторить логи SMART. Режимы: error, selftest
#   -f      Монитор отказа для любых атрибутов 'Usage'
#   -m ADD  Слать мыло с варнингами для -H, -l error, -l selftest, и -f
#   -M TYPE Изменение поведения отсыла е-майлов (смотрите ман)
#   -s REGE Запустить тест когда дата совпадает с регулярным выражением
#   -p      Сообщать о изменениях в 'Prefailure' атрибутах
#   -u      Сообщать о изменениях в 'Usage' атрибутах
#   -t      Эквивалентно -p и -u директивам
#   -r ID   Также сообщать 'RAW' значения атрибутов ID с -p, -u или -t
#   -R ID   Следить за изменениями в атрибуте ID 'Raw' значения -p, -u or -t
#   -i ID   Игнорировать атрибут ID для -f директивы
#   -I ID   Игнорировать атрибут ID для -p, -u или -t директивы
#   -C ID   Рапортовать если счётчик `ждущих` секторов не равен нулю
#   -U ID   Рапортовать если счётчик `некорректируемых` секторов не равен нулю
#   -v N,ST Mодифицировать метку для атрибута N (для нестандартных атрибутов)
#   -a      Дефолт: эквивалентно -H -f -t -l error -l selftest -C 197 -U 198
#   -F TYPE Для ошибок в прошивке. Значения: none, samsung
#   -P TYPE Предустановки для диска: use, ignore, show, showall

Дальше рихтуем /etc/syslog.conf, вносим такие строки:
# S.M.A.R.T.
local2.*                                        /var/log/smartd.log

После чего пробуем запустить, предварительно создав файл для логов, велев перечитать syslogd свой конфиг, и внеся соответствующие строки в /etc/rc.conf:
/usr/local/etc/>echo 'smartd_enable="YES"' >> /etc/rc.conf
/usr/local/etc/>echo 'smartd_flags="-l local2 --interval=300"' >> /etc/rc.conf
/usr/local/etc/>touch /var/log/smartd.log
/usr/local/etc/>killall -1 syslogd
/usr/local/etc/>mv rc.d/smartd rc.d/smartd.sh
/usr/local/etc/>/usr/local/etc/rc.d/smartd start
Starting smartd.
/usr/local/etc/>
/usr/local/etc/>ps -ax | grep smart
26640  ??  I      0:00,01 /usr/local/sbin/smartd -p /var/run/smartd.pid -c /usr
30693  p0  L+     0:00,02 grep smart
/usr/local/etc/>

Переименовывать стартовый скрипт приходится по причине, что у меня он отказался запускаться на всех машинах... Конечно, новые веяния это хорошо - но что-то оно не всегда срабатывает :) При запуске руками - всё нормально, а при перезагрузке - не подымается :( Интервал 300 - это частота опроса в секундах. По дефолту - раз в полчаса... Редко... Короче, в логе имеем примерно такое:
/usr/local/etc/>cat /var/log/smartd.log
May 14 12:33:44 lissyara smartd[17779]: smartd version 5.36 [i386-portbld-freebsd6.1] Copyright (C) 2002-6 Bruce Allen
May 14 12:33:44 lissyara smartd[17779]: Home page is http://smartmontools.sourceforge.net/
May 14 12:33:44 lissyara smartd[17779]: Opened configuration file /usr/local/etc/smartd.conf
May 14 12:33:44 lissyara smartd[17779]: Configuration file /usr/local/etc/smartd.conf parsed.
May 14 12:33:44 lissyara smartd[17779]: Device: /dev/ad0, opened
May 14 12:33:44 lissyara smartd[17779]: Device: /dev/ad0, found in smartd database.
May 14 12:33:44 lissyara smartd[17779]: Device: /dev/ad0, enabled SMART Attribute Autosave.
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad0, enabled SMART Automatic Offline Testing.
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad0, is SMART capable. Adding to "monitor" list.
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad0, opened
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad0, found in smartd database.
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad0, is SMART capable. Adding to "monitor" list.
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad4, opened
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad4, not found in smartd database.
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad4, enabled SMART Attribute Autosave.
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad4, enabled SMART Automatic Offline Testing.
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad4, is SMART capable. Adding to "monitor" list.
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad4, opened
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad4, not found in smartd database.
May 14 12:33:45 lissyara smartd[17779]: Device: /dev/ad4, is SMART capable. Adding to "monitor" list.
May 14 12:33:45 lissyara smartd[17779]: Monitoring 4 ATA and 0 SCSI devices
May 14 12:33:46 lissyara smartd[17781]: smartd has fork()ed into background mode. New PID=17781.
May 14 12:33:46 lissyara smartd[17781]: file /var/run/smartd.pid written containing PID 17781

Всё нормально. Выжидаем и смотрим что получилось:
May 14 19:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 35 to 34
May 14 20:14:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 34 to 35
May 14 22:14:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 35 to 34
May 14 22:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 34 to 35
May 14 23:14:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 67 to 66
May 14 23:14:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 35 to 34
May 14 23:14:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 67 to 66
May 14 23:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 66 to 67
May 14 23:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 34 to 35
May 14 23:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 66 to 67
May 15 00:14:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 67 to 68
May 15 00:14:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 67 to 68
May 15 00:44:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 68 to 67
May 15 00:44:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 35 to 34
May 15 00:44:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 68 to 67
May 15 01:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 67 to 66
May 15 01:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 34 to 35
May 15 01:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 67 to 66
May 15 03:14:43 lissyara smartd[93605]: Device: /dev/ad0, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 64 to 63
May 15 03:14:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 66 to 67
May 15 03:14:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 35 to 34
May 15 03:14:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 66 to 67
May 15 03:44:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 67 to 66
May 15 03:44:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 34 to 35
May 15 03:44:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 67 to 66
May 15 04:14:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 66 to 67
May 15 04:14:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 66 to 67
May 15 05:14:43 lissyara smartd[93605]: Device: /dev/ad0, starting scheduled Short Self-Test.
May 15 05:14:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 67 to 66
May 15 05:14:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 67 to 66
May 15 05:14:44 lissyara smartd[93605]: Device: /dev/ad4, starting scheduled Short Self-Test.
May 15 05:44:43 lissyara smartd[93605]: Device: /dev/ad0, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 63 to 64
May 15 06:14:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 66 to 67
May 15 06:14:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 66 to 67
May 15 06:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 67 to 66
May 15 06:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 67 to 66
May 15 07:44:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 66 to 67
May 15 07:44:44 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 66 to 67
May 15 08:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Prefailure Attribute: 1 Raw_Read_Error_Rate changed from 67 to 66
May 15 08:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 35 to 31
May 15 08:44:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 195 Hardware_ECC_Recovered changed from 67 to 66
May 15 09:14:43 lissyara smartd[93605]: Device: /dev/ad4, SMART Usage Attribute: 194 Temperature_Celsius changed from 31 to 34

Мда... поведение ad4 мне совсем не нравится... Конечно, на этой машине ничего особо ценного на нём не хранится, но всё-таки...
Остаётся ждать писем :) (Письма будут тока в случае ошибок)

P.S. Под 4.11 не завелось... Ругается:
/usr/local/etc/rc.d/>/usr/local/sbin/smartd -d -c /usr/local/etc/smartd.conf
smartd version 5.36 [i386-portbld-freebsd4.11] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

Opened configuration file /usr/local/etc/smartd.conf
Configuration file /usr/local/etc/smartd.conf parsed.
Device: /dev/ad0, opened
ATA support is not provided for this kernel version. Please ugrade to a recent 5-CURRENT kernel (post 09/01/2003 or so)
Device: /dev/ad0, not ATA, no IDENTIFY DEVICE Structure
Unable to register ATA device /dev/ad0 at line 27 of file /usr/local/etc/smartd.conf
Unable to register device /dev/ad0 (no Directive -d removable). Exiting.
/usr/local/etc/rc.d/>

Придётся поискать что-то другое :(



размещено: 2006-05-15,
последнее обновление: 2006-08-11,
автор: lissyara


lisergey, 2007-11-24 в 23:27:22

настроил себе такую тему, теперь на душе спокойнее.

чтобы понимать смысл параметров, рекомендую описалово
http://ru.wikipedia.org/wiki/S.M.A.R.T.
и на анг (более полное)
http://en.wikipedia.org/wiki/Self-Monitoring%2C_Analysis%2C_and_Reporting_Technology

Bell_ringer, 2008-04-24 в 23:34:50

Говорят, что ребята из Гогля перелапатили сотни серверов и пришли к выводу что S.M.A.R.T. в большинстве случаев молчит накануне смерти HDD

Алекс, 2009-02-03 в 15:58:14

А статус массивов, которые созданы gmirror можно мониторить?  А то у меня ошибки при попытке указать /dev/mirror/gm0

Raven2000, 2009-02-25 в 14:49:42

Лех обновить пора ;)
Хотя бы касательно логов.

# cat /etc/rc.conf  | grep smart
smartd_enable="YES"
smartd_flags="--interval=300"

# cat /etc/syslog.conf |grep smart
!smartd
*.*   /var/log/smartd.log

gonzo111, 2010-08-12 в 12:30:09

еще забыл про

newsyslog.conf
/var/log/smartd.log  644    2    500     *       JC

gonzo111, 2010-09-03 в 10:43:05

хочу обратить внимание на параметр -n MODE
который по дефолту стоит в режиме  never

согласно ману,я так понимаю что периодический скан смарт атрибутов вызывает просыпание винта и вывод из режимов  OFF, SLEEP, and STANDBY что не лучшим образом скажется на его долговечности

потому возможно лучше поставить -n standby,10,q
разрешить пропустить 10 тестов если винт спит и не сообщать в логи дабы он не проснулся (если это винт системный)  

gonzo111, 2010-09-06 в 10:57:42

Мониторинг винт USB Trancend (внутри чип USB JMicron ,винт SAMSUNG HM251JX )

/dev/da0 -d sat -n idle,25 -a -m artem@k.dp.ua -o on -S on -s (S/../../1/5|L/../../4/23)
Глянуть смарт атрибуты и инфу
smartctl  -P use  -x /dev/da0  | more

BlackCat, 2010-09-12 в 7:24:57

Альтернативный способ мониторинга:
user@host$ grep smart /etc/periodic.conf
daily_status_smart_enable="YES"
daily_status_smart_devices="AUTO"

aprogrammer, 2014-04-01 в 11:57:20

Огромное спасибо за статью. Только мало написано об отправке писем, дебаге запуска демона. Можно чуток от сюда взять - http://sysadmin.te.ua/linux/smartd.html

sc, 2014-11-18 в 19:41:49

> P.S. Под 4.11 не завелось... Ругается:
При смене ядра smartmontools нужно перекомпилировать

Aleksand, 2016-07-16 в 11:40:23

/dev/ad0 -S on -o on -a -I 194 -W 4,43,55 -m mail@mail.com -s (S/../.././04|L/../(01|15)/./04)
# В заключение опции для мониторинга, которые можно использовать в этом конфигурационном файле.
# Для подробностей см man smartd.conf
#
#   -d  задать тип устройства: ata, scsi, marvell, removable, 3ware,N, hpt,L/M/N
#   -T задать тип допустимых отклонений : normal, permissive
#   -o VAL  включить/выключить автоматические автономные тесты (on/off)
#   -S VAL    включить/выключить атрибуты автосохранения (on/off)
#   -n MODE Без проверок. MODE может принимать значения: never, sleep, standby, idle
#   -H      Наблюдать за статусом SMART, сообщать о возникших проблемах
#   -l TYPE Наблюдение за логом SMART.  Значения: error, selftest
#   -f      Наблюдение за отказами в любых значениях  'Usage' атрибутов
#   -m ADD  Отправить предупреждение по e-mail  для опций  -H, -l error, -l selftest, и -f
#   -M TYPE Изменить способы отправки  e-mail предупреждений (подробнее в ман)
#   -s REGE Начать самотестирование когда тип/дата соответствуют регулярному выражению  (смотри ман)
#   -p      Сообщать об изменениях в атрибутах  'Prefailure'
#   -u      Сообщать об изменениях в атрибутах   'Usage'
#   -t      Равнозначно опциям  -p и -u
#   -r ID   Так же сообщать Raw значение атрибута ID включая  -p, -u или -t
#   -R ID   Отслеживать изменения в ID Raw значения включая  -p, -u или -t
#   -i ID   Игнорировать значения ID для -f опции
#   -I ID   Игнорировать значения ID для -p, -u или -t опций
#   -C ID   Сообщать о том, что текущий (счетчик ждущих секторов) Pending Sector count не равен 0
#   -U ID   Сообщать если (счетчик неисправленных секторов)  Uncorrectable count не равен 0
#   -W D,I,C Наблюдение за температурой D)ifference , I)nformal limit, C)ritical limit
#   -v N,ST измененить метку для параметра   N (смотри ман)
#   -a      по умолчанию: эквивалентно параметрам  -H -f -t -l error -l selftest -C 197 -U 198
#   -F TYPE для ошибок в прошивке. Значение одно из: none, samsung

#   -P TYPE Представление специфических устройств: use, ignore, show, showall
# Значение  ID в интервале  1 <= ID <= 255
# за исключением  -C и -U, где  ID = 0 turns them off.
# Все  -d, -m и -M опции применяются только к ATA дискам
# If the test string DEVICESCAN is the first uncommented text
# then smartd will scan for devices /dev/hd[a-l] and /dev/sd[a-z]
# DEVICESCAN may be followed by any desired Directives.


Редактируем /etc/syslog.conf

?
1
2
!smartd
*.*     /var/log/smartd.log
Ротация логов. Редактируем /etc/newsyslog.conf

?
1
2
#SMART HDD
/var/log/smartd.log        600  7     200  *     JC
Записываем автостарт в rc.conf
Заставляем syslogd перечитать свой конфиг. Стартуем демона, и проверяем, стартовал ли он.

?
1
2
3
4
5
6
#echo 'smartd_enable="YES"' >> /etc/rc.conf
#echo 'smartd_flags="--interval=1800"' >> /etc/rc.conf
#touch /var/log/smartd.log
#killall -1 syslogd
#/usr/local/etc/rc.d/smartd start
#ps -ax | grep smart



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0575 секунд
Из них PHP: 50%; SQL: 50%; Число SQL-запросов: 77 шт.
Исходный размер: 67293; Сжатая: 14970