У каждого администратора однажды перестает отзываться некий сервер на другом конце города. В вечер пятницы приходится ехать по раскисшему весеннему городу, так как пациент недоступен через Интернет и вменяемого персонала рядом нет. Помню, как в один из таких случаев было обидно лицезреть "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.
На всякий случай, памятка про BMC
BMC (Baseboard management controller) – это мини-компьютер, установленный на плате сервера и работающий автономно, даже если вся система выключена. С помощью этого устройства производится диагностика и управление сервером через несколько доступных протоколов, самым известным из которых является IPMI. В зависимости от производителя и модели сервера, управляющий модуль может предоставить доступ к консоли через IP-KVM. Частным случаем реализации BMC являются:
Но еще интереснее происходит загрузка средств восстановления через PXE:
Инструкций на этот случай написано великое множество, поэтому отмечу лишь, что при использовании BMC без IP-KVM нужно настроить старт образа без лишних вопросов.
Не обязательно держать отдельный сервер для сетевой загрузки. Например, уже упомянутые маршрутизаторы Mikrotik вполне справятся и с раздачей образа по сети. С их помощью можно даже сделать готовый "модуль спасения" с резервным беспроводным каналом и разными образами.
Тогда команда IPMI для включения загрузки по PXE будет выглядеть примерно так:
С другими способами управления загрузкой через IPMI можно ознакомиться в этом материале.
Внимание стоит уделить и самому образу. Помимо обеспечения доступа к запускаемой системе по сети, нужно не забыть любимый набор утилит для реанимации. Я обычно использую Microsoft DaRT, поэтому подробнее расскажу про него.
С помощью DaRT можно восстановить любую проблемную Windows-систему, но многие использует инструмент только локально. Чтобы исправить положение удаленно, кто-то местный должен запустить средство "Remote Connection" на пациенте и передать вам данные тикета (адрес, порт и номер). Тогда можно подключиться к системе с помощью DaRT Remote Connection Viewer и проделать все необходимые восстановительные процедуры. Файл с данными тикета после запуска Remote Connection создается в WindowsSystem32inv32.xml.
Более продвинутый вариант, не требующий чьей-либо помощи
Для автоматической поддержки удаленного подключения готовый образ из Сети не подойдет – придется сделать его вручную:
После всего этого собираем образ обратно. Остается забрать файл inv32.xml с сетевого хранилища и указать данные средству удаленного подключения.
Без аппаратного управления избежать поездок сложнее
Модулем аппаратного управления (BMC) снабжают свою продукцию практически все производители серверов. Но некоторые продают часть функций отдельно, так что не забудьте купить лицензию или изучить бесплатный набор инструментов. Например, консольные команды обычно доступны бесплатно.
Если в BMC есть IP-KVM, то вы в большинстве случаев сможете перезапустить систему, а также выполнить загрузку по сети или из образа ISO. Все это без использования рискованного ресурса Smart Hands. К слову, "самый толковый сотрудник" запросто может заявить нечто вроде “Мы в школе учили немецкий – я не понимаю, что тут написано”, что разрушит весь хрустальный мир аварийного восстановления.
Но бывают и приятные исключения. В одной авральной ситуации попросил к телефону самого разбирающегося в компьютерах сотрудника. Яркий восточный акцент из трубки сразу как-то настроил на пессимистичный лад… Но оказалось, что Файзулла окончил в Ташкенте технический университет, ночью работает программистом на фрилансе, а днем трудится на складе – так сказать, отдыхает мозгом и экономит на фитнесе.
Важные моменты настройки BMC для удаленного доступа
Следует воспринимать подключение через BMC как некий бэкдор, который отличает от уязвимости только то, что служит все это вашим целям. Поэтому выставлять его в публичную сеть – не самая лучшая идея. Даже внутри локальной сети управляющие интерфейсы стоит выводить в отдельный VLAN с доступом только с админских машин. В случае с удаленным объектом нужно также настроить доступ по VPN.
Порты для графической консоли и проброса Remote Media у трех популярных вендоров следующие:
Порт IMM
Порт iLO
Порт iDRAC
Remote Media
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 предоставляет.
По закону Мерфи, одновременно со сбоем сервера может выйти из строя Интернет-канал или маршрутизатор. Поэтому хорошей идеей будет использование не одного роутера с двумя каналами, а нескольких отдельных устройств. Неплохим вариантом выглядит 3GLTE-модем с поддержкой туннелей VPN – предоставляемой этими сетями скорости хватит даже для сеанса удаленного доступа к рабочему столу.
О пользе непопулярных протоколов
В эпоху всеобщего "цифрового любопытства" использовать дырявый протокол управления серверами, да еще и работающий по UDP, кажется архаичным. Помимо удобных веб-интерфейсов, производители часто предоставляют альтернативные способы управления:
WS-Management. Этот протокол идейно ближе к WBEM, чем к SNMP. В среде Windows его реализацией является WinRM.
Для примера, команда PowerShell на перезагрузку с использованием WS-Management выглядит так:
SMASH. Стандарт интерфейса, который работает по SSH. Команда на перезагрузку проста, как все гениальное:
reset
Практически все вендоры предоставляют подобные альтернативные интерфейсы, но ими чаще пользуются средства мониторинга, а не сами администраторы.
Итого
Конечно, от многих проблем успешно спасают кластерные решения. Но мы живем не в идеальном сферическом мире, и не для всех сервисов можно организовать резервирование. Поэтому нюансы "хитрых" восстановлений тоже пригодятся хотя бы раз каждому.
У вас наверняка есть собственные хитрости на случай "пинг пропал, а ехать далеко" – поделитесь с коллегами в комментариях.