IPMI边带如何与主机共享以太网端口?


23

我们有许多具有IPMI / BMC功能的Supermicro机器。这些机器中的一些使用板载BMC,而另一些使用附加卡

由于降低成本和布线要求,我们正在研究使用边带。但是,一些边带细节并不太有意义。

边带需要一根以太网电缆,该电缆插入主板上的以太网端口。然后,该网络端口将在IPMI系统和操作系统之间共享。根据我在这本超微型手册中所读的内容,“为SIMSO IPMI卡使用与LAN1相同的MAC地址”。但是,IPMI必须具有与操作系统不同的IP地址。

如何有两个设备(操作系统和IPMI)可以在同一物理网络端口上侦听和传输?当数据包到达接口时,系统如何确定此数据包是用于操作系统还是IPMI系统?

这些数据包是否完全由CPU使用CPU中断处理?操作系统可以查看到IPMI接口的数据包吗?

Answers:


39

我使用板载IPMI管理许多SuperMicro服务器。我与共享(又名边带)以太网有爱恨交织的关系。通常,这些方法的工作方式是LAN1似乎具有2个(不同的)MAC地址-一个用于IPMI接口,另一个用于标准Broadcom NIC。在操作系统级别以下,会神奇地拦截到IPMI接口(基于MAC地址的第2层)的流量,无论运行什么操作系统都不会看到它。

您已经为他们找到了一个好处:减少布线。现在让我弥补一些不足:

  • 以安全的方式将IPMI接口划分到单独的子网中特别困难。由于流量全部通过同一根电缆传输,因此(几乎)您始终必须在同一IP子网中具有IPMI接口和LAN1接口。在最新的主板上,IPMI卡现在支持为IPMI NIC分配VLAN,因此您可以得到一些分离的感觉-但底层的OS始终可以嗅探该VLAN的流量。较早的BMC控制器根本不允许更改VLAN,尽管ipmitool或ipmicfg之类的工具表面上可以让您进行更改,但这是行不通的。
  • 您正在将故障点集中在系统上。在交换机上进行配置并设法以某种方式切断自己?恭喜,您现在已经切断了到服务器的主要网络连接以及通过IPMI进行的备份。网卡硬件故障?恭喜,同样的问题。
  • 早期的SuperMicro IPMI BMC因使用网络接口做一些奇怪的事情而臭名昭著。是否使用板载IPMI端口还是专用IPMI端口通常是在开机(不重新启动)时确定的,因此不会从那里切换。如果断电并且交换机没有足够快地供电,则IPMI可能会因无法自动检测到错误的设置而无法正常工作。
  • 我个人有很多奇怪的,无法解释的连接问题,无法使边带IPMI可靠地工作。有时我只是几分钟都无法ping通接口IP。有时我会在分配的VLAN上收到大量数据包,但是流量似乎都被丢弃了。

尽管这与专用于边带与专用的无关,但我还要指出,用于访问主机系统的工具编写得很差。较旧的IPMI卡仅支持本地身份验证,不支持其他任何功能,这使密码轮换变得十分痛苦。如果使用的是KVM-over-IP功能,则将使用签名不正确,过期的Java小程序或仅在Windows上运行且需要运行UAC才能运行的怪异Java桌面应用程序。我发现键盘输入充其量是参差不齐的,有时会出现“卡住的键”,这样,如果不尝试输入10次,就不可能输入密码来登录。

我最终设法使40多个系统采用这种安排。我使用的大多数系统都是较新的系统,可以将IPMI接口VLAN划分到一个单独的子网中,而且我通常通过ipmitool使用串行控制台,效果很好。对于下一代服务器,我正在研究具有KVM支持的英特尔AMT技术。因为这使它进入服务器空间,所以可以看到用它替换IPMI。


感谢您的详细解释。您是否还有其他信息有关流量“如何在操作系统级别以下被神奇地拦截,而无论运行什么操作系统都不会看到”?我们正在尝试了解其工作原理。
Stefan Lasiewski 2011年

一个简单的硬件桥接就可以解决问题。
Antoine Benkemoun

很好的答案,是的,交通被桥接
Jim B

2
斯蒂芬-安托万(Antoine)和吉姆(Jim)在评论中解释了它-可能是硬件桥梁。可以将它想象成一个用硅片实现的微型交换机,它将物理NIC接口连接到2个虚拟NIC-一个用于IPMI,一个用于主计算机。
natacado

感谢您的解释。这正是我认为可以使用的方式,但是当我与其他人(网络管理员,系统管理员)讨论此问题时,我意见分歧很大。
Stefan Lasiewski 2011年

4

我以前没有使用过那些特定的卡,我使用的那些卡具有用于IPMI通信的不同的MAC,或者该端口仅用于IPMI通信。IPMI可能会共享包括MAC在内的NIC。

IPMI将具有与OS不同的IP,因此将基于该IP正确定向数据包。IPMI流量永远不会到达CPU,所有这些都在边带管理IC中处理。


我懂了。某些系统上的某些IPMI卡将“共享MAC地址”(例如Supermicro和Dell这样做),而其他系统则使用不同的MAC地址(IBM这样做)。
Stefan Lasiewski 2011年

3
在我的Dell服务器上,即使IPMI接口是相同的物理网络端口,也具有不同的MAC。
sciurus

2

想要补充一般建议,即使用边带意味着您无法从服务器与BMC进行通话。流量似乎已被过滤掉。我已经在IBM / Dell / HP工具包上尝试过此方法。


对此进行详细说明,因为它也对我产生了影响。ESXI并且没有VM可以访问BMC(但是ext主机可以),为什么?因为,在NSCI(共享IPMI)端口上出站的流量将不得不命中一个交换机,然后反弹回同一端口。AFAIK典型的L2开关没有。
凯文夫'17

1

我将在其初始响应中备份natacados的最后要点,您的IPMI会话将随机超时(我使用supermicro的IPMIView来查看盒子上的控制台)。诸如固件升级和电源重启之类的事情似乎莫名其妙地随机失败。

很好的答案natacado,令人难以置信的彻底。


1
确保您的IPMI固件是最新的!如果IPMI固件版本和IPMIView软件版本之间有足够大的断开连接,则在尝试启动KVM会话时,您将得到通用的,神秘的“错误连接”!更新到最新的IPMI固件(可以从文件下的IPMIView实用程序主菜单完成)已对其进行了修复。:p
Jeff Atwood
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.