Арсенал ледачого Джедая для віддаленої реанімації


У кожного адміністратора одного разу перестає відгукуватися якийсь сервер, на іншому кінці міста. У вечір п'ятниці доводиться їхати по розкислому весняному місту, так як пацієнт недоступний через Інтернет і осудного персоналу поруч немає. Пам'ятаю, як в один з таких випадків було прикро споглядати "Press F1 to continue": вийшов з ладу ДБЖ і старенький ProLiant після перезавантаження вважав, що «Power Supply Failed». Ну треба ж було забути відключити повідомлення з очікуванням реакції в BIOS!
Але тут буде не ода IPMI, а трохи особистих граблів і хитрощів віддаленого відновлення мережевого і серверного заліза.
Віддалена настройка мережі – до далекої дороги
Мені, наприклад, ліниво їздити кудись далеко для оновлення прошивки роутера або додавання кількох правил прикордонний фаєрвол, тому роблю це віддалено. Тут важливо поставитися до процесу вкрай уважно і ретельно продумувати кожен крок, щоб не опинитися раптово відрізаним від консолі налаштування, і від мережі взагалі.
Від таких помилок страхує резервний канал на додатковому маршрутизаторі або автоматичний відкат некоректних налаштувань. Варіант з налаштуваннями цікавіше, тому трохи докладніше розповім про способи порятунку потрапляли в руки пристроїв.
D-link серії DFL
Серія DFL має мало спільного з звичайним D-link і його дивними глюками – самі пристрої і їх ПО розроблені компанією Clavister.

В таких пристроїв є найпростіший механізм захисту: якщо після застосування налаштувань адміністратор не зміг підключитися до веб-інтерфейсу, нові параметри не зберігаються. Надійно як штик і ніяких додаткових рухів.
Mikrotik
У виробах наших братів-прибалтів є режим Safe Mode. Оскільки всі вносяться в конфігурацію зміни застосовуються відразу, то робити їх потрібно тільки в Safe Mode, після чого коректно перевести пристрій в звичайний режим. Тільки після переходу назад буде записана нова конфігурація.

Якщо Safe Mode не був відключений перед обривом сесії налаштування, то через 9 хв конфігурація буде замінена тієї, що працювала включення до безпечного режиму.
Cisco
Відносно недавно Cisco додала механізм автоматичного відкату налаштувань по таймеру, якщо був налаштований архів конфігурації. Перед важливими змінами потрібно просто задавати час, після якого пристрій скасує вироблені налаштування:
configure terminal revert timer X

Де X – час у хвилинах.
Вимкнути таймер після успішного застосування налаштувань можна командою configure confirm. Більше прикладів і подробиць ви знайдете документації Cisco.
З відміною невдалого процесу оновлення прошивки справи йдуть складніше. Якщо до віддаленого філії, де ви хочете оновити ЗА маршрутизатора, немає повністю незалежного каналу – краще з'їздити з оказією і все зробити особисто.
завантажень, хороших і різних
Якщо IP-KVM для конкретного сервера немає або канал недостатньо широкий для віддаленої роботи з дистрибутивом ISO, то варто передбачити альтернативні способи завантаження засобів відновлення. В якості примітивного рішення можна покласти завантажувальну флешку з набором звичних утиліт поруч з серверної стійкою. Задіяти цей аварійний набір можна за допомогою Smart Hands – самого "технічного" співробітника філіалу, який буде натискати кнопки за вашою вказівкою.
Звичайно, самий популярний спосіб віддаленого завантаження починається з веб-інтерфейсу модуля BMC.
На всяк випадок, пам'ятка про BMCBMC (Baseboard management controller) – це міні-комп'ютер, встановлений на платі сервера, що працює автономно, навіть якщо вся система вимкнена. За допомогою цього пристрою проводиться діагностика та управління сервером через кілька доступних протоколів, найвідомішим з яких є IPMI. В залежності від виробника і моделі сервера, керуючий модуль може надати доступ до консолі через IP-KVM. Приватним випадком реалізації BMC є:
  • HPE iLO.
  • Lenovo IMM.
  • Dell iDRAC.

Наприклад, для HPE ProLiant DL380 Gen9 це виглядає так:

Але ще цікавіше відбувається завантаження засобів відновлення через PXE:

Інструкцій на цей випадок написано безліч, тому зазначу лише, що при використанні BMC без IP-KVM потрібно налаштувати старт образу без зайвих питань.
Не обов'язково тримати окремий сервер для мережевої завантаження. Наприклад, вже згадані маршрутизатор Mikrotik цілком впораються з роздачею образу по мережі. З їх допомогою можна навіть зробити готовий "модуль порятунку" з резервним бездротовим каналом і різними образами.
Тоді команда IPMI для включення завантаження PXE буде виглядати приблизно так:
ipmitool -H <ip> -U <user> -P <pass> chassis bootdev pxe

З іншими способами управління завантаженням через IPMI можна ознайомитися в цьому матеріалі.
Увагу варто приділити і самому способу. Крім забезпечення доступу до запуску системи по мережі, потрібно не забути улюблений набір утиліт для реанімації. Я зазвичай використовую Microsoft DaRT, тому детальніше розповім про нього.
З допомогою DaRT можна відновити будь-яку проблемну Windows-систему, але багато хто використовує інструмент тільки локально. Щоб виправити становище віддалено, хтось місцевий повинен запустити засіб "Remote Connection" на пацієнта і передати вам дані тікета (адреса, порт і номер). Тоді можна підключитися до системи з допомогою DaRT Remote Connection Viewer і виконати всі необхідні відновлювальні процедури. Файл з даними тікета після запуску Remote Connection створюється Windows\System32\inv32.xml.

Більш просунутий варіант, який не потребує чиєїсь допомогиДля автоматичної підтримки віддаленого підключення готовий образ з Мережі не підійде – доведеться зробити вручну:
  1. Качаємо засіб створення образів;
  2. На кроці Remote Connection включаємо його;
  3. Створюємо образ і підключаємо його;
  4. Правимо файл Windows\System32\winpeshl.ini:
[LaunchApps]

"%windir%\system32\netstart.exe -network -remount"

"cmd /C start %windir%\system32\RemoteRecovery.exe -nomessage"

у цьому рядку потрібно скопіювати файл %windir%\system32\inv32.xml в мережну папку або //відправляємо поштою адміну"
"%windir%\system32\WaitForConnection.exe"

"%SYSTEMDRIVE%\sources\recovery\recenv.exe"

Після всього цього збираємо образ назад. Залишається забрати файл inv32.xml з мережевого сховища та вказати дані засобу віддаленого підключення.
Без апаратного управління уникнути поїздок складніше
Модулем апаратного управління (BMC) постачають свою продукцію практично всі виробники серверів. Але деякі продають частину функцій окремо, так що не забудьте придбати ліцензію або вивчити безкоштовний набір інструментів. Наприклад, консольні команди зазвичай доступні безкоштовно.

Якщо в BMC є IP-KVM, то ви в більшості випадків зможете перезавантажити систему, а також виконати завантаження по мережі або з образу ISO. Все це без використання ризикованого ресурсу Smart Hands. До речі, "самий тямущий співробітник" запросто може заявити щось на кшталт «Ми в школі вчили німецьку – я не розумію, що тут написано», що зруйнує весь кришталевий світ аварійного відновлення.
Але бувають і приємні винятки. В одній авральної ситуації попросив до телефону самого розбирається в комп'ютерах співробітника. Яскравий східний акцент з трубки відразу як-то налаштував на песимістичний лад… Але виявилося, що Файзулла закінчив у Ташкенті технічний університет, вночі працює програмістом на фрілансі, а вдень працює на складі – так сказати, відпочиває мозком і економить на фітнесі.
Важливі моменти налаштування BMC для віддаленого доступуСлід сприймати підключення через BMC як якийсь бекдор, який відрізняє від вразливості тільки те, що служить все це вашим цілям. Тому виставляти його в публічну мережу – не найкраща ідея. Навіть усередині локальної мережі керуючі інтерфейси варто виводити в окремий VLAN з доступом тільки з адмінських машин. У випадку з віддаленим об'єктом потрібно також налаштувати доступ по VPN.
Порти для графічної консолі і перекидання Media Remote у трьох популярних вендерів наступні:
Порт IMM Порт iLO Порт iDRAC
Media Remote 3900 17998 5900
Remote Console 3900 17990 5900
Більш повна інформація щодо налаштування мережі є в офіційній документації:
При плануванні мережевої конфігурації варто пам'ятати і про те, що BMC зазвичай працює в одному з трьох режимів:
  • Dedicated – коли порт використовується тільки для управління;
  • Shared – IPMI працює на мережевому інтерфейсі LAN1;
  • Failover – IPMI працює в режимі Dedicated, але в разі відсутності лінка на виділеному порте перемикається в режим роботи Shared.
Використовуючи Shared або Failover режими, є ймовірність випадково випустити BMC в загальну мережу. Тому скрізь, де можливо, слід використовувати окремий інтерфейс.
В якості додаткового важеля керування можна використовувати GSM-розетку:



Модуль керування живленням з SIM-картою дозволяє перезавантажувати будь-які підключені пристрої, незалежно від доступності основного каналу Інтернет. Але такий перезапуск може негативно позначитися на цілісності серверних даних, тому що все відбувається тільки в "жорсткому" режимі. Для комутаторів і маршрутизаторів такий керований через SMS аварійний рубильник дуже зручний.
Якщо сервер все ж придбаний без якої-небудь реалізації BMC, тобто пара запасних варіантів:
  • Окремий пристрій IP-KVM. Можна підключити безліч "некерованих" серверів;
  • Модуль BMC на шині PCI-E, який можна встановити практично в будь-яку машину;
  • У разі, коли майбутній сервер збирається на базі десктопного заліза, варто замовляти материнську плату і процесор з підтримкою Intel vPro. З реалізаціями IPMI ця система має мало спільного, але функції IP-KVM надає.
За законом Мерфі, одночасно зі збоєм сервера може вийти з ладу Інтернет-канал або маршрутизатор. Тому гарною ідеєю буде використання не одного роутера з двома каналами, а декількох окремих пристроїв. Непоганим варіантом виглядає 3G\LTE-модем з підтримкою тунелів VPN – надається цими мережами швидкості вистачить навіть для сеансу віддаленого доступу до робочого столу.
Про користь непопулярних протоколів
В епоху загального "цифрового цікавості" використовувати дірявий протокол керування серверами, та ще й працює по UDP, здається архаїчним. Крім зручних веб-інтерфейсів, виробники часто надають альтернативні способи управління:
  • WS-Management. Цей протокол ідейно ближче до WBEM, ніж до SNMP. У середовищі Windows його реалізацією є WinRM.
Для прикладу, команда PowerShell на перезавантаження з використанням WS-Management виглядає так:
Restart-Computer -ComputerName "Server01" -Protocol WSMan -WSManAuthentication Kerberos

  • SMASH. Стандарт інтерфейсу, який працює по SSH. Команда на перезавантаження проста, як все геніальне:
reset

Практично всі вендори надають подібні альтернативні інтерфейси, але ними частіше користуються засоби моніторингу, а не самі адміністратори.
Разом
Звичайно, від багатьох проблем успішно рятують кластерні рішення. Але ми живемо не в ідеальному сферичному світі, і не для всіх сервісів можна організувати резервування. Тому нюанси "хитрих" відновлень теж знадобляться хоча б раз кожному.
У вас напевно є власні хитрості на випадок "пінг пропав, а їхати далеко" – поділіться з колегами в коментарях.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.