第三章:BMC与SOL的关系

BMC在SOL中的角色

说到SOL,很多人第一反应就是「远程看串口」。但你想过没有,是谁在背后帮你干这件事?

就是BMC。

BMC(Baseboard Management Controller)是服务器主板上一个独立的小系统。它有自己的CPU、内存、网口,甚至有自己的操作系统。我习惯把它理解成「服务器的看门大爷」——你不在机房的时候,全靠它帮你盯着。

在SOL的场景里,BMC扮演了三个关键角色:

  • 串口数据的中转站:BMC物理上连接到主板的串口(通常是UART2),把操作系统或BIOS输出的串口数据抓过来
  • 网络协议的翻译官:把原始的串口数据封装成IPMI协议包,通过网线发给你
  • 会话的管理者:负责建立、维持、断开SOL会话,还要处理多个用户同时连接的情况

说白了,没有BMC,SOL就是空中楼阁。你想想看,远程怎么去接那根串口线?

核心理解:SOL = BMC把串口数据「网络化」的过程。BMC是桥梁,串口是源头,网络是通道。

我在项目中遇到过一种情况:用户说SOL连上了但看不到输出。查了半天,发现是BMC的串口复用配置没开。嗯,这个坑后面会细说。

BMC固件配置

BMC不是拿来就能用的。你得先把它配置好。我个人习惯把BMC固件配置分成三个层面:

1. 串口复用(UART Mux)

这是最容易被忽略的一步。服务器主板上通常只有一个物理串口,但BIOS、BMC、操作系统都想用。怎么办?

通过一个叫「UART Mux」的硬件开关来决定:

  • 模式A:串口直连BIOS/OS,BMC不参与
  • 模式B:串口数据同时发给BIOS和BMC(最常见)
  • 模式C:串口完全交给BMC管理

我曾经在一台华为服务器上折腾了整整一下午,SOL就是没反应。最后发现是UART Mux默认在模式A。切到模式B,立马好了。

注意:不同厂商的BMC,这个配置项的名字不一样。有的叫「Serial Port Sharing」,有的叫「SOL Enable」。你得去BIOS的「Server Management」菜单里找。

2. SOL用户权限

BMC默认不会让所有人随便连SOL。你得给用户分配权限:

  • Operator权限:可以建立SOL会话,查看输出
  • Administrator权限:可以配置SOL参数,强制断开别人的会话

我建议你至少创建一个专用的SOL用户,权限给到Operator就够了。别用admin账号去连SOL,安全风险太大。

3. 会话超时设置

这个参数容易被忽略。BMC默认的SOL会话超时时间通常是15~30分钟。如果你在调试内核,编译个东西要一小时,中间没操作——啪,会话断了。

我个人习惯把超时设成0(永不超时),或者至少设到120分钟以上。

小技巧:用ipmitool sol info可以查看当前BMC的SOL配置。如果显示Session Timeout: 900,那就是15分钟,赶紧改。

BMC网络设置

BMC要跟你通信,总得有个IP地址吧?这部分我踩过的坑最多,一个一个说。

1. 独立网口 vs 共享网口

BMC有两种网络接入方式:

方式 优点 缺点
独立网口 管理流量和数据流量完全隔离,安全 多占一个网口,多一根网线
共享网口 省网口,省布线 管理流量和数据流量争带宽,出问题难排查

我在数据中心里见过一个经典案例:某团队用共享网口,业务流量一跑满,BMC就断连。SOL会话频繁中断,最后排查了三天才发现是共享网口的锅。

我的建议:生产环境用独立网口。测试环境可以凑合用共享的。

2. IP地址分配

BMC的IP最好用静态IP,别用DHCP。为什么?

  • DHCP租约到期,IP变了,你就连不上BMC了
  • SOL会话是基于IP的,IP一变,会话全断
  • 你想想看,服务器宕机了,你连BMC都连不上,怎么去救?

我习惯把BMC的IP规划在一个独立的管理网段里,比如10.10.10.0/24。跟业务网段完全分开。

3. VLAN与路由

如果你的机房规模比较大,BMC通常要跨网段访问。这时候要注意:

  • BMC的网口要配置正确的VLAN Tag
  • 交换机上要放通对应的VLAN
  • 路由表要确保你的电脑能到达BMC网段

我曾经帮一个客户排查SOL连不上的问题。BMC的IP能ping通,但SOL就是建立不了会话。最后发现是交换机上没放通BMC的VLAN,IPMI协议包被丢了。

一句话总结:BMC网络配置的核心就三点——独立网口、静态IP、VLAN放通。这三样搞定了,SOL就成功了一半。

本章知识体系

下面这张图帮你理清BMC与SOL的关系:

BMC与SOL关系架构图 运维人员 SSH/ipmitool SOL客户端 管理网络 IPMI over LAN VLAN/路由 BMC 固件配置 会话管理 物理串口 UART2 / UART Mux 操作系统/BIOS 串口输出/输入 核心流程说明: 1. 运维人员通过SOL客户端发起连接请求 2. 请求经管理网络到达BMC 3. BMC验证权限,建立SOL会话 4. BMC从物理串口读取数据 5. 数据封装成IPMI包,通过网络回传 6. 运维人员看到串口输出,可输入命令 注:BMC固件配置和网络设置决定成败

一句话记住本章:BMC是SOL的基石。固件配置决定能不能用,网络设置决定好不好用。两者都搞定了,SOL才能稳定可靠。


公众号:蓝海资料掘金营,微信deep3321