Доброго времени суток уважаемые форумчане, возникла необходимость поднять программный RAID-1 средствами gmirror. C этим проблем не было RAID успешно функционирует, теперь возник вопрос есть ли возможность получать уведомление о состояния дисков и массива в целом, как узнать что один из дисков умер или произошла рассинхронизация. Прочитал кучу постов внятного ответа не получил. Поделитесь опытом как у кого работает.
> Доброго времени суток уважаемые форумчане, возникла необходимость поднять программный
> RAID-1 средствами gmirror. C этим проблем не было RAID успешно функционирует,
> теперь возник вопрос есть ли возможность получать уведомление о состояния дисков
> и массива в целом, как узнать что один из дисков умер
> или произошла рассинхронизация. Прочитал кучу постов внятного ответа не получил. Поделитесь
> опытом как у кого работает.оповещениями занимается система мониторинга
а посмотреть состояние программного raid-а можно gmirror status или просмотреть логи
> как узнать что один из дисков умер или произошла рассинхронизация.Гмиррор, как и прочие кернел-модули, всю свою диагностику пишет в /dev/console. Настройте сислогд, чтобы все, что пишется в консоль, дублировалось в файлик. В штатном /etc/syslog.conf достаточно раскомментить одну строку. А потом достаточно повесить скрипт, который этот файлик будет читать, и, в случае обнаружения грепом паттернов, будет слать извещения на мыло или еще куда.
#!/bin/sh
tail -F /var/log/console.log | while read _LINE
do
if echo $_LINE | grep "gmirror.*error"
then /usr/local/scripts/smsgate.sh "admin" "$_LINE"
fi
done
Как-то так.
> Доброго времени суток уважаемые форумчане, возникла необходимость поднять программный
> RAID-1 средствами gmirror. C этим проблем не было RAID успешно функционирует,
> теперь возник вопрос есть ли возможность получать уведомление о состояния дисков
> и массива в целом, как узнать что один из дисков умер
> или произошла рассинхронизация. Прочитал кучу постов внятного ответа не получил. Поделитесь
> опытом как у кого работает.Nagios, у него есть соответствующий плагин. Даже если не использовать нагиос - в нем есть разные плагины, большей частью написанные на скриптовых языках, из которых можно выдернуть идею осуществления мониторинга.
/etc/periodic/daily/406.status-gmirrorне?
Всем спасибо за советы, проблему решил так:
Создал текстовик1 в который записал вывод команды gmirror list, при рабочем массиве, затем написал скрипт который запрашивает gmirroor list раз в минуту при помощи cron и вывод записывает в текстовик2. Следующий скрипт сравнивает текстовик1 и текстовик2 если они отличаются, высылаю содержимое текстовика2 на мыло.
> Всем спасибо за советы, проблему решил так:
> Создал текстовик1 в который записал вывод команды gmirror list, при рабочем массиве,
> затем написал скрипт который запрашивает gmirroor list раз в минуту при
> помощи cron и вывод записывает в текстовик2. Следующий скрипт сравнивает текстовик1
> и текстовик2 если они отличаются, высылаю содержимое текстовика2 на мыло.Содержимое скриптов напишу чуть позже
Не много по колдовал со скриптом, вот что получилось
#!/bin/sh
gmirror status | awk '{print}' > /usr/local/bin/myscripts/Notification\ RAID/status2
if diff /usr/local/bin/myscripts/Notification\ RAID/status1 /usr/local/bin/myscripts/Notification\ RAID/status2
then exit
else gmirror list | /usr/local/sbin/ssmtp -F "Mr. Root" godunov@bolid.ru
fi
> Не много по колдовал со скриптом, вот что получилось
> #!/bin/sh
> gmirror status | awk '{print}' > /usr/local/bin/myscripts/Notification\ RAID/status2
> if diff /usr/local/bin/myscripts/Notification\ RAID/status1 /usr/local/bin/myscripts/Notification\
> RAID/status2
> then exit
> else gmirror list | /usr/local/sbin/ssmtp -F "Mr. Root" godunov@bolid.ru
> fiВызов awk в первой строке излишен, пробел в имени каталога вреден.
gmirror status > /some/path/to/the/file
Рано или поздно экранирование пробела бэкслешем завтыкается, и будет долгая ловля блох.
>[оверквотинг удален]
>> #!/bin/sh
>> gmirror status | awk '{print}' > /usr/local/bin/myscripts/Notification\ RAID/status2
>> if diff /usr/local/bin/myscripts/Notification\ RAID/status1 /usr/local/bin/myscripts/Notification\
>> RAID/status2
>> then exit
>> else gmirror list | /usr/local/sbin/ssmtp -F "Mr. Root" godunov@bolid.ru
>> fi
> Вызов awk в первой строке излишен, пробел в имени каталога вреден.
> gmirror status > /some/path/to/the/file
> Рано или поздно экранирование пробела бэкслешем завтыкается, и будет долгая ловля блох.Спасибо за советы, обязательно исправлю косяки
> Доброго времени суток уважаемые форумчане, возникла необходимость поднять программный
> RAID-1 средствами gmirror. C этим проблем не было RAID успешно функционирует,
> теперь возник вопрос есть ли возможность получать уведомление о состояния дисков
> и массива в целом, как узнать что один из дисков умер
> или произошла рассинхронизация. Прочитал кучу постов внятного ответа не получил. Поделитесь
> опытом как у кого работает.Как вариант ещё например считывать смарт параметры и выпаршивать оттуда количество reallocated sectors, рост которых как правило свидетельствует о разрушении винчестера.