Як розбудити сервер після того, як UPS вимкнеться після відновлення живлення мережі?


16

У мене декілька серверів Linux, підключених до ДБЖ APC. Вони підключаються до ДБЖ через USB і налаштовуються на вимкнення, якщо ІБП передає сигнал про те, що електроживлення втрачено та не повертається через певний проміжок часу. Це добре працює. Крім того, вони налаштовані через перемички для автоматичного включення, якщо втрачається живлення, а потім повертається. Це також добре працює.

Сценарій, що викликає проблеми, полягає в тому, що втрачається електромережа, і сервер вимикається, але потім мережеве живлення відновлюється до закінчення роботи ДБЖ. У цьому випадку ми хотіли б, щоб Сервер запустився знову, але оскільки живлення ніколи не втрачається після UPS, сервер ніколи не бачить події повернення живлення і, отже, не включається.

Я сподіваюся, що існує пристрій, який може підключатися до мережі живлення попереднього ДБЖ, і відчувати стан повернення електроенергії та надсилати сигнали пробудження, можливо, через Wake-on-Lan на попередньо налаштовані сервери, щоб розбудити їх, як тільки електроенергія повернеться, що хтось повернеться може вказати на мене.

Альтернативні пропозиції також високо оцінені. Єдине, що я не можу зробити, це замінити апаратне забезпечення сервера, і я вважаю за краще зберігати ті самі ІБП, якщо це можливо.

Відповіді:


13

Типовий сценарій, що реалізується при використанні ДБЖ:

  1. Про втрату електроенергії ДБЖ повідомляє програмний компонент у підключених до нього системах.
  2. Якщо живлення втрачається довше ніж n секунд, драйвер ДБЖ повідомляє про ДБЖ та зупиняє систему, не вимикаючи її (це важливо).
  3. ДБЖ чекає m секунд, коли системи зупиняться, і відключає живлення.
  4. Коли живлення відновлюється і акумулятор UPS заряджається вище мінімального (щоб він міг підтримувати включення та очищення відключення у разі втрати живлення відразу після запуску машини), UPS відновлює живлення в системах.
  5. Системи помічають (на рівні BIOS / UEFI), що вони були включені до втрати живлення, тому вони завантажуються.

У більшості серверних BIOS ви можете встановити систему для відновлення стану живлення до втрати живлення. Це означає, що якщо сервер вимкнений, а живлення втрачено, він залишиться живленням після його підключення. З іншого боку, якщо він був увімкнений, коли живлення втрачено, воно включиться, коли змінного струму буде відновлено.

NUT, згаданий BillThor, повинен дозволити вам реалізувати цей сценарій.


1
Спасибі! У мене все вище, крім кроку (3), мій ДБЖ не відключає живлення, поки акумулятор не надто розрядиться. Деякі з моїх серверів можуть зайняти до декількох хвилин, щоб повністю зупинитись або вимкнутись, і час між відключеннями зміниться. Після ввімкнення живлення ДБЖ після заздалегідь налаштованого часу, я або буду ризикувати витягнути живлення занадто рано, або ж чекатиму занадто довго і ризикую повернути потужність до того, як ДБЖ вимкне енергію, і я ніколи не отримаю сигнал про включення. Можливо, що мені потрібно - це ДБЖ, який підтримує зворотний канал від системи, тому він піднімає живлення, як тільки сервер (и) припиняють живлення.
бк.

2
Дивлячись на Документи NUT, я думаю, що проблема, з якою я стикаюсь, полягає в цьому, тому я спробую там знайти рішення, яке вони рекомендують. Дякую networkupstools.org/docs/FAQ.html#_i_8217_m_facing_a_power_race
bk.

9

Цю проблему я вирішив за допомогою однієї невеликої скриньки для Linux (Asus wl deluxe або smth), яка була підключена до основного ДБЖ та пробудила якнайшвидше, коли живлення було відновлено. Сценарій запуску включає 5-хвилинну затримку, щоб уникнути будь-яких змін стану живлення (вгору / вниз), WOL-ed всіх серверів (всі w2k3, один Linux) та смс-повідомлення зі своїм статусом.


4

Прочитавши багато пропозицій, я думаю, що хорошим рішенням є використання будь-якого старого комп’ютера (якщо вам не байдуже енергоспоживання) або якогось малинового пі, підключеного безпосередньо до енергії.

Отже, коли потужність зростає, один сценарій перевірятиме, чи ввімкнено сервери, а якщо ні, то надсилає OWL через мережу.


3

Я використовую NUT (мережевий інструмент UPS) для таких випадків. Вам потрібно буде сервер на базі Unix / Linux, щоб контролювати ДБЖ. Як тільки вимкнення розпочнеться, це забезпечить цикл живлення ДБЖ. Це призведе до резервного копіювання серверів, якщо вони перезапустяться після відновлення живлення.

Для серверів Windows є клієнт, щоб їх можна було чисто закрити.


1

Якщо ваш BIOS має можливість встановити час живлення, ви можете встановити його через 50 хвилин після відключення, якщо вимкнення спрацьовує через сигнал UPS-shutdown.

Таким чином, у вашому сценарії сервер буде запущений знову після 50м + завантаження + час відключення.


-2

Мені подобаються всі згадані раніше ідеї. Я хотів би запропонувати запустити сервер "NUT" або сервер "WoL" на ноутбуці із закритою кришкою. Таким чином, він може працювати 4-6 годин лише на батареї. У деяких ноутбуках можуть бути встановлені дві батарейки одночасно навіть на тривалий час роботи.


ви повинні прочитати коментар Павла Бродацького; Суть NUT або apcupsd полягає в тому, що сервер Linux може бути збитий, не вимикаючись . Це означає, що "останній стан" знову вмикає сервер, після чого він включає всі сервери Windows. Довгострокове резервне копіювання акумуляторів тут є абсолютно протилежним.
Майкл Лоуман

Як щодо рішення WoL, згаданого migabi?
jftuga

вони та ж ідея. "вмикає всі сервери Windows" виконується за допомогою WoL; ви не маєте "WoL box", щоб залишатися вгору через те, як ви повинні вимкнути його (а саме такий, що останній стан все ще працює)
Майкл Лоуман
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.