BMC: Baseboard Management Controller

张开发
2026/4/11 22:19:12 15 分钟阅读

分享文章

BMC: Baseboard Management Controller
BMC是企业服务器主板上的一个独立微控制器。它拥有自己的处理器、内存和网络接口完全独立于服务器的主CPU和操作系统。它的主要作用是提供带外管理Out-of-Band Management——即使服务器处于关机状态、操作系统崩溃或没有安装操作系统只要服务器插上了电源线管理员就可以通过网络连接到BMC来监控、控制和修复这台服务器。OpenBMCOpenBMC一个开源的Linux发行版专门设计用于运行在基板管理控制器BMC上常用操作Factory reset恢复出厂设置KVM远程桌面Video Log记录服务器崩溃或特定事件前后的屏幕录像或截图Firmware用于管理和升级服务器硬件的固件Reboot BMC仅重启 BMC 芯片本身这不会影响正在运行的服务器主机或其操作系统SOL console提供对服务器串行端口的远程文本级别访问Server power operations服务器电源操作Virtual media 允许你将本地电脑上的ISO镜像文件(如Windows或Linux的安装镜像)通过网络”挂载”到这台远程服务器上。服务器会将其识别为一个插入的USB光驱。这是远程重装操作系统最常用的方法Backup and Recovery用于导出和保存当前的BMC配置和设置以便在系统发生故障或更换主板后能够快速将配置恢复到正常状态BMC IPMI 常用指令想要在BMC终端命令行使用指令可以用以下两种方式1.切换到超级管理员cat /etc/passwd # 查找UID为0的超级用户 su - superuser # 切换2. 直接使用指令每次都敲很麻烦ipmitool -I lanplus -H IP地址 -U 用户名 -P 密码 命令远程电源控制类ipmitool power status # 查看电源状态 ipmitool power on # 开机 ipmitool power off # 关机 ipmitool power reset # 重启 ipmitool power cycle # 也是重启但是从掉电到上电有1秒的间隔一般用于严重司机的情况读取系统状态类ipmitool sensor list # 显示系统所有传感器列表 ipmitool sdr list # 读取传感器的实时数据 ipmitool fru list # 显示系统所有现场可替代器件的列表系统日志类ipmitool sel elist # 显示所有系统事件日志 ipmitool sel clear # 删除所有系统事件日志 ipmitool sel delete ID # 根据ID删除日志 ipmitool sel time get # 显示当前BMC的时间 ipmitool sel time set xxx # 设置当前BMC的时间启动设置类ipmitool chassis bootdev bios # 重启后停在BIOS 菜单 ipmitool chassis bootdev pxe # 设置下一次启动为网络(PXE)模式常用于自动部署系统正常服务器启动时是从本地硬盘启动主板直接读取硬盘里已经安装好的系统内核与文件加载到内存中运行。 但如果通过 PXE 启动则是绕过硬盘网卡直接向中央装机服务器PXE Server请求网络引导文件和临时内核。加载到内存运行后再自动从服务器上拉取系统安装包文件完成操作系统的网络下发和本地重新安装系统相关命令ipmitool bmc info # 显示BMC版本信息 ipmitool bmc reset cold # BMC冷启动 ipmitool bmc reset warm # BMC热启动用户管理类ipmitool user list ChannelNo # 查看指定通道的用户 ipmitool user set name id username # 增加用户 ipmitppl user set password id password # 设置密码 ipmitool user set priv id privilege level ChannelNo # 修改用户权限 ipmitool user enable/disable id # 启用或禁用用户IP网络设置ipmitool lan print ChannelNo # 查看网络信息 ipmitool lan set ChannelNo ipsrc static/dhcp # 修改ip为静态还是dhcp模式 ipmitool lan set ChannelNo ipaddr IPAddress # 修改ip地址 ipmitool lan set ChannelNo netmask NetMask # 修改子网掩码 ipmitool lan set ChannelNo defgw ipaddr 默认网关 # 修改默认网关SOL功能ipmitool sol set volatile-bit-rate 9.6/19.2/38.4/57.6/115.2 # 设置SOL串口波特率 ipmitool -H (BMC的管理IP地址) -I lanplus -U (BMC登录用户名) -P (BMC 登录用户名的密码) sol activate # 打开SOL ipmitool -H (BMC的管理IP地址) -I lanplus -U (BMC登录用户名) -P (BMC 登录用户名的密码) sol deactivate # 关闭SOL设置BMC的iptables防火墙# 设置某一段ip可以访问bmc ipmitool raw 0x32 0x76 0x01 0x01 ip1 ip2 ipmitool raw 0x32 0x76 0x09 # 设置某一个ip可以访问bmc ipmitool raw 0x32 0x76 0x00 0x01 ip ipmitool raw 0x32 0x76 0x09 # 取消设置 ipmitool raw 0x32 0x76 0x08 # 获取防火墙设置 ipmitool raw 0x32 0x76 0x01 0x00 # 阻止/开启某个端口 ipmitool raw 0x32 0x76 0x02 0x00/0x01 0x00 portno # 取消某个端口的设置 ipmitool raw 0x32 0x76 0x06 0x00/0x01 0x00 portno

更多文章