Как боковая полоса IPMI разделяет порт Ethernet с хостом?

23

У нас есть несколько машин Supermicro с функциями IPMI / BMC. Некоторые из этих машин используют встроенный BMC, в то время как другие используют дополнительную карту .

Мы рассматриваем использование боковой полосы из-за ее снижения затрат и требований к кабельной разводке. Однако некоторые детали боковой полосы не совсем имеют смысла.

Для боковой полосы требуется один кабель Ethernet, который подключен к порту Ethernet на материнской плате. Этот сетевой порт затем используется совместно системой IPMI и операционной системой. Из того, что я прочитал в этом руководстве Supermicro : «Используйте тот же MAC-адрес, который вы используете для LAN1 для SIMMI IPMI-карты». Однако IPMI должен иметь IP-адрес, отличный от операционной системы.

Как можно иметь два устройства (операционную систему и IPMI), которые могут прослушивать и передавать через один и тот же физический сетевой порт? Когда пакет поступает на интерфейс, как система определяет, предназначен ли этот пакет для операционной системы или для системы IPMI?

Эти пакеты обрабатываются ЦП вообще, используя прерывания ЦП? Могут ли операционные системы просматривать пакеты на интерфейсе IPMI?

Стефан Ласевский
источник

Ответы:

39

Я управляю многими серверами SuperMicro, используя встроенный IPMI. У меня есть отношения любовь / ненависть с общим (так называемый боковой) Ethernet. Как правило, эти вещи работают так, что LAN1, по-видимому, имеет 2 (разных) MAC-адреса - один для интерфейса IPMI, а другой - для стандартного сетевого адаптера Broadcom. Трафик к интерфейсу IPMI (уровень 2, основанный на MAC-адресе) магически перехватывается ниже уровня операционной системы и никогда не виден какой-либо операционной системой.

Вы уже нашли один хороший момент для них: меньше кабелей. Теперь позвольте мне рассказать о некоторых недостатках:

  • Особенно сложно безопасно разделить интерфейс IPMI на отдельную подсеть. Поскольку весь трафик проходит по одному и тому же кабелю, у вас (почти) всегда должен быть интерфейс IPMI и интерфейс LAN1 в одной подсети IP. На последних материнских платах платы IPMI теперь поддерживают назначение VLAN для сетевой карты IPMI, так что вы можете получить некоторое подобие разделения - но базовая ОС всегда может прослушивать трафик для этой VLAN. Старые контроллеры BMC вообще не позволяют менять VLAN, хотя такие инструменты, как ipmitool или ipmicfg, якобы позволят вам изменить его, просто он не работает.
  • Вы централизуете свои точки отказа в системе. Делаете настройку на свитче и умудряетесь как-то себя обрезать? Поздравляем, теперь вы отключили основное сетевое подключение к вашему серверу и резервное копирование через IPMI. Аппаратный сбой сетевого адаптера? Поздравляю, та же проблема.
  • Ранние контроллеры BMC SuperMicro IPMI были известны своими странными действиями с сетевым интерфейсом. Использовать ли встроенный или выделенный порт IPMI часто определялось при включении питания (не при перезапуске) и не переключалось оттуда. Если у вас произошел сбой питания, и ваш коммутатор не обеспечил подачу питания достаточно быстро, в результате IPMI может перестать работать, так как он автоматически обнаружил неправильные настройки.
  • Лично у меня было много странных, необъяснимых проблем с подключением, обеспечивающих надежную работу боковой полосы IPMI. Иногда я просто не мог пропинговать IP интерфейса в течение нескольких минут. Иногда я получал пакет пакетов в назначенной VLAN, но весь трафик, казалось, был отброшен.

Хотя это не имеет ничего общего с sideband-vs.-selected, я также отмечу, что инструменты для доступа к хост-системам написаны очень плохо. Старые карты IPMI не поддерживают ничего, кроме локальной аутентификации, что делает ротацию паролей полной болью. Если вы используете функциональность KVM-over-IP, вы застряли с использованием неправильно подписанного Java-апплета с истекшим сроком действия или странного настольного Java-приложения, которое работает только в Windows и требует для работы повышение прав UAC. Я обнаружил, что запись на клавиатуре в лучшем случае нечеткая, иногда получаются «застрявшие клавиши», так что невозможно ввести пароль для входа в систему без 10 попыток.

В конце концов мне удалось получить более 40 систем, работающих с этим устройством. У меня есть в основном более новые системы, я могу подключить интерфейсы IPMI к отдельной подсети, и я в основном использую последовательную консоль через ipmitool, которая работает очень хорошо. Для серверов следующего поколения, я смотрю на технологию Intel AMT с поддержкой KVM ; поскольку это превращает его в пространство сервера, я вижу замену IPMI этим.

natacado
источник
Спасибо за очень подробное объяснение. Есть ли у вас какая-либо информация о том, как трафик «магически перехватывается ниже уровня операционной системы и никогда не просматривается какой-либо операционной системой»? Мы пытаемся понять, как это работает.
Стефан Ласевский,
Простой аппаратный мост сделает свое дело.
Антуан Бенкемун,
отличный ответ и да, трафик перекрыт
Джим Б.
2
Стефан - Антуан и Джим объяснили это в комментариях - скорее всего, это аппаратный мост. Думайте об этом как о крошечном коммутаторе, реализованном в кремнии, соединяющем физический интерфейс NIC с двумя виртуальными NIC - один для IPMI, другой для основного компьютера.
natacado
Спасибо за это объяснение. Именно так я и думал, что это сработает, но когда я обсуждаю это с другими людьми (сетевыми администраторами, системными администраторами), у меня возникает много разногласий.
Стефан Ласевский
4

Я не использовал эти конкретные карты раньше, те, которые я использовал, либо имеют другой MAC для трафика IPMI, либо порт выделен только для трафика IPMI. Вполне возможно, что IPMI совместно использует сетевой адаптер, включая MAC.

IPMI будет иметь IP-адрес, отличный от ОС, поэтому пакеты будут корректно перенаправляться на основе этого. Трафик IPMI никогда не попадает в ЦП, он обрабатывается в микросхемах управления боковой полосой.

Крис С
источник
Понимаю. Некоторые платы IPMI в некоторых системах будут «совместно использовать MAC-адрес» (похоже, что Supermicro и Dell делают это), в то время как другие используют разные MAC-адреса (IBM делает это).
Стефан Ласевский,
3
На моих серверах Dell интерфейс IPMI имеет другой MAC, хотя это тот же физический сетевой порт.
sciurus
2

Хотел добавить к общему совету, что использование боковой полосы означает, что вы не можете общаться с сервера на BMC. Трафик, похоже, отфильтрован. Я пробовал это на IBM / Dell / HP Kit.

Эд Сайкс
источник
чтобы уточнить это, так как это просто ударил меня. ESXI и никакие виртуальные машины не могут получить доступ к BMC (а внешние хосты могут), ПОЧЕМУ? Потому что исходящий трафик через порт NSCI (общий IPMI) должен будет переключиться на коммутатор и вернуться к тому же порту. AFAIK типичные переключатели L2 не делают.
Кевинф
1

Я сделаю резервную копию последнего пункта пули natacados в его первоначальном ответе, ваши сеансы IPMI будут случайным образом остановлены (я использую IPMIView от supermicro, чтобы посмотреть на консоль на своих коробках). Такие вещи, как обновление прошивки и выключение питания, кажутся необъяснимыми и случайными.

Отличный ответ natacado, невероятно тщательный.

Бен Лютгенс
источник
1
Убедитесь, что ваша прошивка IPMI обновлена! Если между версией микропрограммы IPMI и версией программного обеспечения IPMIView имеется достаточно большое разъединение, при попытке инициировать сеанс KVM вы получите общее загадочное «соединение при ошибке»! Обновление до последней версии прошивки IPMI (это можно сделать из главного меню утилиты IPMIView в меню «Файл») исправило ее. : p
Джефф Этвуд