Как сделать защиту питания компьютера, чтобы он автоматически включился после сбоя?
Есть компьютер с убунту, к нему куплю, например, APC 650 с USB-кабелем. На компе настроено включение после подачи питания.
Сценарий: сбой электричества. Повершут (или что там у линуксов) смотрит уровень батареи и при достижении порога корректно завершает работу компа. После чего ТУТ ЖЕ появляется электричество и ИБП не успевает вырубиться. Таким образом, на компе постоянно было электричество и он не в курсе, что пора бы включиться.
Как быть?
Вижу только WoL с роутера каждую минуту, но тут может возникнуть ситуация, что компьютер пробудили до того, как электричество восстановилось.
Не уверен, что так можно, но что если линукс вместо выключения будет останавливать важные задачи и размонтировать диски, а потом если ИБП вырубится - ну и ок. А если питание восстановится и не вырубится - линукс снова запустит задачи и примонтирует диски
Я представляю себе это так: Отключилось электричество. В операционной системе работает программа, которая мониторит состояние ИБП. Ибп сообщает, что потря питания, работа от батареи. Батария 90%, 80% ..
10%. Далее программа даёт сигнал на выключение. Сервер выключился. Напряжение 220 с сервера не уходит. Батарея же ещё на 10% заряжена, а потребления нет. Далее возобновление подачи электричества. С точки зрения сервера ничего не изменилось. Включать его можно либо вручную через ilo/ipmi или как то через wake on lan.
По презумпции невиновности будем считать, что lazix не является мультом (клоном) LAG_LAGbI4, а это просто совпадение. :)
Итак, на дворе стоял февраль 1997 года. Я купил бесперебойник для домашнего компа с интерфейсом по COM-порту. К бесперебойнику прилагалась фирменная утилита UPSmon под Win95. Логика работы:
сбой питания, ИБП перешел на батарею, отправил сигнал на ПК;
всплыло окно UPSmon, отображающее все параметры и прогноз по времени работы;
в UPSmon таймер отсчитывает заранее заданный интервал (например, 600 секунд), в это время продолжается обычная работа на ПК;
по истечению интервала UPSmon посылает сигнал на ИБП: выключайся через 120 секунд (произвольно настраивается этот интервал);
сразу после этого UPSmon говорит системе: завершай работу;
система завершает работу, для этого ей должно хватить 120 секунд (если не хватает, то в следующий раз увеличим этот интервал);
ИБП получил однозначный приказ, "кто не спрятался - я не виноват", через 120 секунд питание на выходе ИБП отлючается.
Подчеркну: столь фантастическая :) технология была доступна домашнему пользователю (это был недорогой ИБП) по крайней мере в 1997 году, а вполне вероятно, что и в ~1990, т.к. была версия утилиты под DOS.
В упомянутом выше вопросе Владимир Коротенко отвечает:
В нормальном ИБП есть как минимум настройка задержки после выключения питания.
Если комп выключился, то apc уберёт напряжение с розеток.
отключили электричество - ибп переключился на акб и продолжает питать комп - остаётся 5-10 мин. или сколько-то там времени работы акб., ибп даёт команду на выключения компа - комп. выключается - и тут должна начать работать логика сколько времени должно пройти с момента подачи электричества на ибп, чтобы он включил 220 на своих розетках.
Сколько времени нужно для завершения работы компа задаётся в настройках apc и когда включить розетки после включения электричества там же
lazix, да, автоматом будет запуск платы блока питания при условии что есть 220 Вольт до UPS и по +12 Вольт нету, но если есть +12 вольт то запуска не будет. Приблизительно начертил схему (принципиальную)