Как боковая панель IPMI совместно использует порт Ethernet с хостом?

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

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

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

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

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

22 голоса | спросил Stefan Lasiewski 14 PMpThu, 14 Apr 2011 22:58:47 +040058Thursday 2011, 22:58:47

4 ответа


38

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

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

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

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

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

ответил natacado 15 AMpFri, 15 Apr 2011 08:06:47 +040006Friday 2011, 08:06:47
3

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

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

ответил Chris S 14 PMpThu, 14 Apr 2011 23:14:13 +040014Thursday 2011, 23:14:13
1

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

ответил Ed Sykes 27 Jpm1000000pmFri, 27 Jan 2012 14:45:36 +040012 2012, 14:45:36
0

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

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

ответил Ben Lutgens 20 PMpWed, 20 Apr 2011 19:24:26 +040024Wednesday 2011, 19:24:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132