Як налаштувати UPS для перезавантаження серверів у потрібній послідовності?


12

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

Наш ДБЖ є досить дешевим, і єдиним корисним параметром для моєї мети є power the load xx seconds after power is restored. Теоретично встановивши правильні затримки для кожного ДБЖ, я можу встановити порядок перезавантаження сервера, але я не вірю, що UPS буде вести себе так, як очікувалося.

Це правильний шлях?
Чи дають ДБЖ високого рівня інші параметри для виправлення послідовності перезапуску?
Останнє зауваження: мої Ups знаходяться в діапазоні від 1000 до 2200 ВА


1
Це одна з приємних речей, яку пропонує systemd- можливість визначати належні залежності в процесі запуску. Зачекайте, поки послуга X стане доступною, перш ніж спробувати почати службу Y.
MSalters

1
@MSalters Система управління залежністю AFAIK працює лише тоді, коли одиниці обробляються одним і тим же systemdекземпляром, а не для служб, що працюють на зовсім інших серверах ...
HBruijn

1
@HBruijn: тип мережних кріплень, наприклад, робота на серверах. Тобто, якщо сервер1 монтує файлову систему, розміщену сервером2, то сервіси serve1, які залежать від версії, призупиняться, поки server2 не запустить ці служби. І IIRC у вас також можуть бути сервери, які чекають DHCP (не питайте мене, чому сервер використовує DHCP, але це було зазначено у відповіді)
MSalters

Відповіді:


25

Стандартна відповідь на це - "зовсім не". Виправити програмне забезпечення для обробки перезавантажень у випадковому порядку. Якщо вам справді потрібні ДЕЯКІ сервери для початку (наприклад: Active Directory), покладіть їх на USV, які, можливо, витримають ВЕЛИКІ довше. Сервер на основі атома малої потужності достатньо хороший як контролер Active Directory і витримає день на невеликому USV.

Чи дають ДБЖ високого рівня інші параметри для виправлення послідовності перезапуску?

Ні. Я б сказав, що, як правило, програмісти досить компетентні, щоб правильно вирішити проблему.

Що можна зробити:

  • Попросити сервери запускатися "випадковим чином". За винятком DHCP / Active Directory, нічого насправді не вимагає замовлення, яке неможливо виправити.
  • Через деякий час (5 хвилин) сервер управління запустить послуги на різних машинах у правильному порядку.

Я б сказав, що такий тип налаштування набагато частіше. Я б назвав будь-яке програмне забезпечення, яке ПОТРІБНО запускає сервер у певному порядку (за межами чистої інфраструктури) як зламане та непридатне для бізнесу.

Так само, як зауважте: наша власна установка - це недорогий 20 кВт USV (низька вартість, тому що ми використовували один) для серверів, з підлеглим 2000VA USV для машини, яка служить "коренем" мережі (і резервної машини). Підлеглий означає, що USV відстає від великого - тому він перемикається на акумулятор лише тоді, коли великий (який триває від півгодини до 8 годин, залежно від того, яка частина нашої обчислювальної сітки є в Інтернеті) переходить до зупинки терміналу.


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

Проблема з AD не є навіть AD - це здебільшого IPv4 DHCP, який не готується до того, щоб комп'ютери знаходилися в мережі перед сервером dhcp. Ipv6 впорається з цим;)
TomTom

Це правда. IPv4 - це біль ... і я все ще приїжджаю сюди людей, які запитують мене, навіщо нам турбуватися з "цим новомодним сміттям IPv6".
Роб Моїр

1
"Зазвичай вважається, що програмісти досить компетентні, щоб вирішити проблему" - програмування не потрібно робити дуже багато! Ні, з усієї серйозності, існує величезна кількість причин, через які система може потребувати виведення в певному порядку. Так, програмне забезпечення повинно "вийти з ладу" і повторити спробу з’єднань, які розірвані, але це не завжди можливо. Як я пам’ятаю, деякі з приємних PDU мають можливість запускати / зупиняти окремі порти, тому, можливо, щось там можна зробити.
SnakeDoc

1
Мені довелося шукати "USV" і знайшли "Безпілотний поверхневий транспортний засіб". Я знаю, що це неправильно, але я хочу, щоб це було правильно.
Брайам

14

Блоки керованого розподілу електроенергії (а не ДБЖ) часто підтримують спеціальні затримки в включенні окремих розеток після відновлення живлення.

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


Так, правильно. Це розширена функціональність, і не передбачається, що USV насправді підключений до серверів - але це живлення стійок, які потім використовують PDU для обробки деталей.
TomTom

6

У мене була така точна проблема. Єдина відмінність полягає в тому, що ми інвестували в міцні пристрої APC, встановлені на стійці (наприклад, APC SmartUPS 3000 ). За допомогою програмного забезпечення для відключення мережі APC PowerChute (програмне забезпечення PowerChute Network Shutdown) я можу вимкнути сервер у певному порядку. Ще однією зручною особливістю програмного забезпечення було налаштування серверів на вимкнення в останню хвилину, тобто обчислення кількості енергії акумулятора, що залишилося підрозділами APC, і вимкнення серверів з достатньою кількістю часу для їх належного вимикання, а не просто вимкнення.

Програмне забезпечення є… не зручним для користувачів, але нічого складного, якщо вам знадобиться певний час, щоб це зрозуміти. Якщо ви зацікавлені вкласти більше коштів у свою інфраструктуру, це точно маршрут.


1
У нас також є Apc Smart Ups, деякі з них відносно старі і, можливо, мають слабкі батареї. Зробити деякі тести на них складно, тому що вони знаходяться у виробництві. Крім того, що нам не вистачає будь-яких виродкових навантажень, я маю на увазі навантаження, яка може без проблем переносити потужність. Це говорило щоразу, коли я імітував затемнення, АБЖ поводився інакше, ніж очікувалося, це може бути пов’язано з неправильною конфігурацією, але я відчуваю, що ці АБЖ не дуже надійні.
Філіппо

@Filippo звичайно YMMV, але у мене є суміш SmartUPS 3000 та 3000XLM на різних сайтах, що використовують програмне забезпечення PowerChute, тривати 3 роки, і після з'ясування програмного забезпечення, безумовно, є крива навчання і потрібне певне тестування, це було досить солідно.
Winski Tech

2

Здається, що блоки ДБЖ недорогі і не можуть бути налаштовані на певний час очікування виходу після відновлення живлення (деякі більш високі кінцеві блоки). Щоб отримати той самий функціонал, вам потрібно вибрати конкретного хоста, який завжди вмикає живлення (можливо, будь-якій системі дозволяється завантажуватись у будь-який час) і залишити всі інші сервери у вимкненому стані (налаштований у біосах для повернення до влади вимкнено, коли застосовується AC, і вшанувати магічний пакет Wake On Lan, щоб увімкнути його, коли йому наказали це зробити). Потім на головному хості, який завантажується, запустіть скрипт / утиліту, щоб час передавати магічний пакет WOL кожному хосту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.