Недавно задумался над тем, что было бы неплохо мониторить работу жестких дисков, и в тырнете наткнулся на описание одной утилиты, это smartmontools, чтож, приступим к установке и настройке:
# cd /usr/ports/sysutils/smartmontools && make install clean && rehash
после этого проверить состояние смарта на винте можно командой:
# smartctl -a /dev/ad8
ну соотвественно /dev/ad8 замените на свой 🙂
Показывать-то показывает, а вот было бы неплохо чтобы еще уведомления на мыло приходили при ошибочках, топаем рихтовать конфиг:
# cd /usr/local/etc/
# cp smartd.conf.sample smartd.conf
# ee smartd.conf
изменяем его до такого состояния (винты меняете на свои )))):
/dev/ad6 -a -m [email protected] -o on -S on -s (S/../.././01|L/../../6/04)
/dev/ad8 -a -m [email protected] -o on -S on -s (S/../.././01|L/../../6/04)
почитать можно на лисяре
после добавляем в /etc/syslog.conf следующие строки:
# S.M.A.R.T.
local2.* /var/log/smartd.log
добавляем нашу утилиту в автозагрузку:
# echo 'smartd_enable="YES"' >> /etc/rc.conf
# echo 'smartd_flags="-l local2 --interval=300"' >> /etc/rc.conf
создаем файл протокола работы:
# touch /var/log/smartd.log
перезапускаем syslogd
# killall -1 syslogd
запускаем утилиту:
# /usr/local/etc/rc.d/smartd start
проверяем запустился или нет:
# ps ax | grep smart
6258 ?? I 0:00.00 /usr/local/sbin/smartd -p /var/run/smartd.pid -l local2 --interval=300
6268 p1 D+ 0:00.00 grep smart
как видим запустился)
проверяем лог:
# cat smartd.log
если пусто, то лечим следующим образом, в файле /etc/syslog.conf, строки
# S.M.A.R.T.
local2.* /var/log/smartd.log
поднимаем выше, например как сделано у меня:
cron.* /var/log/cron
*.=debug /var/log/debug.log
*.emerg *
# S.M.A.R.T.
local2.* /var/log/smartd.log
# uncomment this to log all writes to /dev/console to /var/log/console.log
при возникновении ошибок, утилита оповестит по емейлу.
[email protected] — вымышленный ящик, не пишите ему ))))