USB WatchDog ONE сторожевой таймер
После окончания вуза я вернулся в родной город и пошел работать на градообразующее предприятие системным администратором. Предыдущий уволился, т.к. не выдержал “рваного” режима работы, о чем честно предупредил меня. Решил он, что лучше и, самое главное спокойнее ему будет каждый день ездить за 30 километров, чем ходить на работу пешком.
Уже через неделю я понял почему. В 3 часа ночи раздался телефонный звонок: встала весовая на отгрузке продукции, иди и поднимай ее вручную. Быстро разобрался, почему это происходит: сервер, на который замкнуты все контроллеры АСУ, виснет при скачках питания, а они там происходят постоянно. Мелочь, а делать-то что-то надо. Институтский приятель подсказал: поставь на сервер вотч-дог. Устройство-то копеечное, но в 99% случаев восстановит работу сервера само без твоего вмешательства. Совет оказался дельным. Вот что у меня получилось.
Сначала посмотрел, что предлагают на рынке. Имеется много китайской продукции такого рода. Но я этой технике не доверяю в принципе. А вот отечественный USB WatchDog ONE из Зеленограда, мне почему-то приглянулся сразу и на нем я и остановился. И, считаю, что не прогадал.
Аппаратная часть WatchDog
USB WatchDog ONE, как, впрочем, все остальные сторожевые таймеры, непрерывно отслеживает состояние компьютера по поступлению с него тестового сигнала. При его отсутствии принимается решение о зависании контролируемой техники и производится ее жесткий или мягкий автоматический аппаратный перезапуск по двум независимым цепям.
Все “железо” устройства уместилось на печатной плате шириной 30 – 41 мм, на которой находится микросхема, миниатюрное реле и несколько без корпусных резисторов с емкостями. Спасибо разработчикам, имеется также многоцветный светодиод, полезный при отладке работы устройства. Диод всего один, но за счет трех цветов (красный, желтый, зеленый), а также наличию непрерывного и мигающего режима свечения в различных режимах он дает массу информации о текущем состоянии. При написании скрипта я немного ошибся, так с помощью светодиода и хорошо структурированного и грамотного Руководства пользователя, рассчитанного на системного администратора средней квалификации, устранил ошибку за пять минут.
Установка выполняется на материнскую плату, поэтому корпус у таймера не предусмотрен.
В продаже доступны два функционально идентичных варианта устройства, которые отличаются друг от друга входными интерфейсами. Они представлены
• USB WatchDog ONE с разъемом USBA. 4-контакная розетка USB-соединителя типа А;
• USB WatchDog ONE с разъемом PBD. 10-контактная двухрядная розетка USB-PBD10 (у нее, естественно, активны только четыре контакта из десяти).
Выходной интерфейс реализован на двух обычных двухштырьковых вилках, на которые подключены выводы управляющего реле. Приятная мелочь: для удобства работы эти вилки, в отличие от USB-розеток, ориентированы перпендикулярно плоскости печатной платы.
Как подключать сторожевой таймер
Простота конструкции сочетается с простотой подключения. Все интуитивно понятно, но все-таки имеется пара особенностей.
Рекомендую сначала подключить USB WatchDog ONE к материнке. Если на нем имеется USB-разъем, то сложностей нет, а для входного порта PDP-10 возникает неопределенность по ориентации. Здесь нужно обязательно совмещать ключи материнки и устройства. Они визуально выделяются тем, что находятся с краю и не имеют металлического контакта.
Вторая особенность: схема таймера начинается функционировать немедленно после подачи на него напряжения питания. Поэтому, если сервер загружается достаточно долго, то может возникнуть режим неконтролируемого перезапуска. Следовательно, все программные настройки нужно завершить до подключения таймера к кнопкам сброса и перезапуска сервера.
Само подключение проблем не вызвало. Для соединения использовал обычные провода, соблюдать порядок подключения к кнопкам сервера и ориентацию проводов необходимости не возникло.
Потребляемый ток не превышает 30 мА, т.е. можно не беспокоиться за перегрузку блок питания компьютера.
Надежность использования
Простота схемы вотч-дога косвенно свидетельствует о его высокой эксплуатационной надежности: в нем просто мало точек отказа. Кроме того, сразу же видно, что он будет нормально функционировать не только в офисе, но и в производственном цеху. Тут я разработчикам на всякий случай не доверился и, вспомнив советы своего дипломного руководителя, не поленился найти в интернете параметры микросхемы. Это небольшое исследование показало, что она рассчитана на расширенный температурный диапазон, характерный для производственного помещения.
Контакты микросхемы и иных электронных компонентов хорошо и, самое главное, полноценно пропаяны.
Надежность аппаратной части дополнена надежностью софта, о чем речь пойдет дальше.
Управляющее программное обеспечение
Приятно удивила хорошо развитые для такого простого специализированного устройства возможности управления. Для этого можно использовать
- бесплатное вспомогательное ПО с развитым и интуитивно понятным графическим интерфейсом.
- виртуальный последовательный порт, который эмулируется самим контроллером и наиболее удобен его интеграции в различные скрипты и самостоятельно написанные программы.
Лично мне в режиме текущей эксплуатации более удобным показался вариант работы через ПО. Этому способствовало в том числе то, что его графический интерфейс имеет привычное для последних версий Windows оформление, а правила работы не отличаются от общепринятых.
Сразу же бросилось в глаза то, что для каждой разновидности ОС контролируемого компьютера предназначен свой вариант управляющего софта. Всего доступно пять вариантов, их можно скачать с сайта производителя (соответствующие адресные ссылки имеются в Руководстве пользователя). Такой подход разработчиков увеличивает устойчивость к различным сбоям.
При использовании с довольно популярным UNIX можно не производить установку ПО, а просто запустить скачанный файл в формате AppImage как исполняемый.
Апгрейд софта при выходе новых версий производится по обычной для Windows схеме через пункт меню “Обновить сторожевой таймер” папки “Инструменты”. Дополнительно указывается пути к файлу с обновлением и выполняется последующее подтверждение кнопкой “Открыть”. Какие-либо особенности при этом отсутствуют.
Контролируемый компьютер настраивается так, что ПО сторожевого таймера запускается автоматически при его включении.
Функционал ПО USB WatchDog
Отдельное спасибо разработчикам за простоту управляющего софта, который содержит два основных окна Файл” и “Инструменты”, дополненные окном “Справка”.
На левую половину основного меню выводятся наименование и серийный номер (SN) устройства, сведения о настройках (четыре основных параметра), а также время функционирования программы с момента последнего ее запуска. Правая часть занята журналом команд, для его просмотра предназначены типовые для Windows линейки прокрутки.
С помощью управляющего ПО в процессе работы осуществлялся
• ручной перезапуск контролируемого компьютера;
• формирование отчета и его отправка на внешний ftp-сервер (адрес задается отдельно);
• просмотр логов программы и команд.
Понравилось, что операционная система позволяет прямо работать с виртуальным COM-портом без необходимости установки на компьютер основного управляющего ПО. Для этого требуется только запустить соответствующий драйвер, файл которого доступен на сайте производителя.
После одной из непреднамеренных ошибок, допущенных во время первой установки USB WatchDog ONE, была выявлена его эффективная защита от загрузки некорректной прошивки. Для дополнительной проверки попытался загрузить не ту версию софта: столь полезное для практики свойство распространяется также на этот случай.
Что можно регулировать таймером
Аппаратная простота сторожевого таймера ограничивает количество регулируемых параметров. К таковым относятся
- состояние встроенного таймера (включено/выключено);
- максимальное время ожидания сигнала сброса таймера в исходное состояние;
- время замыкания контактов выходных реле J2 и J3 (продолжительность импульса перезагрузки).
Время сброса определяется в минутах (от 1/6 до 21 минуты), длительность импульса перезагрузки – в миллисекундах.
Значение времени таймера обязательно должно превышать время загрузки ОС с учетом штатных системных автоматических проверок.