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

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

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

我们正在考虑使用边带,因为它可以降低成本和布线要求。但是,一些边带细节不太合理。

Sideband 需要一根以太网电缆,插入主板上的以太网端口。然后,IPMI 系统和操作系统共享此网络端口。根据我读到的这本 Supermicro 手册, “对 SIMSO IPMI 卡使用与 LAN1 相同的 MAC 地址”。但是,IPMI 必须具有与操作系统不同的 IP 地址。

如何让两个设备(操作系统和 IPMI)在同一个物理网络端口上进行监听和传输?当数据包到达接口时,系统如何确定该数据包是发往操作系统还是发往 IPMI 系统?

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

答案1

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

您已经指出了它们的一个优点:线缆更少。现在让我来谈谈它们的一些缺点:

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

虽然这与边带与专用无关,但我还要指出的是,用于访问主机系统的工具编写得非常糟糕。较旧的 IPMI 卡不支持除本地身份验证之外的任何功能,这使得密码轮换变得非常麻烦。如果您使用 KVM-over-IP 功能,您将不得不使用签名不正确、已过期的 Java 小程序或奇怪的 Java 桌面应用程序,这些应用程序只能在 Windows 上运行,并且需要 UAC 提升才能运行。我发现键盘输入充其量也不稳定,有时会出现“卡住的键”,以至于如果不尝试 10 次就无法输入密码登录。

我最终设法让 40 多个系统通过这种安排运行。我拥有的大多数系统都是较新的,我可以将 IPMI 接口 VLAN 到单独的子网上,并且我主要通过 ipmitool 使用串行控制台,效果非常好。对于下一代服务器,我正在考虑英特尔的 AMT 技术与 KVM 支持;由于这使其进入服务器空间,我可以看到用它来替换 IPMI。

答案2

我以前没有用过这些特定的卡,我使用的卡要么具有用于 IPMI 流量的不同 MAC,要么端口专用于 IPMI 流量。不过,IPMI 可能会共享包括 MAC 在内的 NIC。

IPMI 的 IP 与 OS 不同,因此数据包将基于此正确定向。IPMI 流量永远不会到达 CPU,而是全部在边带管理 IC 中处理。

答案3

想要补充一下一般建议,使用边带意味着您无法从服务器与 BMC 通信。流量似乎被过滤掉了。我在 IBM/Dell/HP 套件上尝试过这个。

答案4

我将重申 natacados 在其初始回复中的最后一点,您的 IPMI 会话将随机超时(我使用 supermicro 的 IPMIView 查看我的盒子上的控制台)。固件升级和电源循环之类的事情似乎莫名其妙地随机失败。

natacado 的回答非常好,极其透彻。

相关内容