第三章: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的基石。固件配置决定能不能用,网络设置决定好不好用。两者都搞定了,SOL才能稳定可靠。
公众号:蓝海资料掘金营,微信deep3321