ipmitool
bmc 和ipmi 简介
BMC(Baseboard Management Controller,基板管理控制器)是服务器中用于监控和管理的专用控制器,它独立于服务器的处理器、BIOS或操作系统工作,是一个单独在系统内运行的无代理管理子系统
。BMC的主要功能包括:
设备信息管理:记录服务器型号、制造商、日期、各部件生产和技术信息、机箱信息、主板信息等,以及BMC信息(如服务器主机名、IP、BMC固件版本等)。
服务器状态监控管理:对服务器各个部件(CPU、内存、硬盘、风扇、机框等)的温度、电压等健康状态进行检测 。
服务器的远程控制管理:包括服务器的开关机、重启、维护、固件更新、系统安装等。
维护管理:涉及日志管理、用户管理、BIOS管理、告警管理等 。
IPMI(Intelligent Platform Management Interface,智能平台管理接口)是由Intel、DELL、HP及NEC于1998年共同提出的一项标准,它定义了平台管理的软硬件架构、交互指令、事件格式、数据记录和能力集等
。IPMI的核心是BMC,它通过IPMB(Intelligent Platform Management Bus)与其它管理控制器通信,实现服务器的带外管理
。IPMI允许跨越不同的操作系统、固件和硬件平台,智能地监视、控制和上报服务器的运作状况,例如远程开启、关闭电源以及健康特征(如温度、电压、风扇工作状态、电源状态等)。
BMC和IPMI共同工作,使得服务器管理更加高效和可靠,即使在操作系统不响应或未加载的情况下,也能够进行开关机、信息提取等操作
ipmitool
IPMITool是一个开源的命令行工具,用于管理和配置支持智能平台管理接口(IPMI)的设备。可以编写自动化脚本来执行批量管理用户、配置、监控等。
yum install ipmitools
管理 bmc 网络
查看网络信息:
显示特定通道(例如通道1 <ChannelNo> )的网络配置信息:
ipmitool lan print 1
显示所有通道的网络配置信息(通常不需要指定通道号):
ipmitool lan print
设置网络参数:
将特定通道的IP地址设置为静态或DHCP模式:
ipmitool lan set <ChannelNo> ipsrc <static/dhcp>
设置特定通道的IP地址:
ipmitool lan set <ChannelNo> ipaddr <IPAddress>
设置特定通道的子网掩码:
ipmitool lan set <ChannelNo> netmask <SubnetMask>
设置特定通道的默认网关:
ipmitool lan set <ChannelNo> defgw ipaddr <GatewayIPAddress>
修改SNMP设置:
设置SNMP的community字符串:
ipmitool lan set <ChannelNo> snmp community <CommunityString>
启用或禁用IPMI通道:
启用特定通道:
ipmitool channel getaccess <channel_number> <user_id>
设置通道访问权限:
ipmitool channel setaccess <channel_number> <user_id> <privilege_level> <ipmi_access> <link_status> <callin_status>
其中 <privilege_level> 是权限级别,<ipmi_access> 是IPMI访问权限(on/off),<link_status> 是链接状态(on/off),<callin_status> 是callin权限(on/off)。
管理bmc 用户
查看用户信息:
ipmitool user list [ChannelNo]
这个命令可以列出所有用户的信息,其中 [ChannelNo] 是可选的,表示通道号,通常是 1 或 8
。
创建用户:
ipmitool user set name 用户ID 用户名
这个命令用于创建一个新用户,你需要指定一个用户ID和用户名
。
设置用户密码:
ipmitool user set password 用户ID 密码
这个命令用于为指定的用户ID设置密码
。
设置用户权限:
ipmitool channel setaccess ChannelNo 用户ID callin=on ipmi=on link=on privilege=值
这个命令用于设置用户的权限,其中 privilege 的值可以是:
1: callback
2: user
3: operator
4: administrator
5: OEM 例如,将用户ID为3的用户权限设置为管理员:
ipmitool channel setaccess 1 3 callin=on ipmi=on link=on privilege=4
。
启用/禁用用户:
ipmitool user enable/disable 用户ID
这个命令用于启用或禁用一个用户
。
查看用户授权:
ipmitool channel getaccess ChannelNo 用户ID
这个命令用于查看特定用户在指定通道的授权信息
。