使用ipmitool配置IPMI远程管理卡完整指南

目录

IPMI简介

IPMI(Intelligent Platform Management Interface)是一种智能平台管理接口标准,允许系统管理员在操作系统无法运行时(如关机或崩溃状态)远程管理和监控服务器硬件。通过IPMI,管理员可以实现:

  • 远程电源控制(开机、关机、重启)
  • 系统健康状态监控(温度、电压、风扇转速)
  • 远程KVM(键盘、视频、鼠标)控制
  • 系统事件日志查看
  • 固件更新等操作

安装与基础配置

在CentOS/RHEL系统安装

# CentOS 7/RHEL 7及以下版本
yum install OpenIPMI OpenIPMI-tools -y

# CentOS 8/RHEL 8及以上版本
dnf install OpenIPMI ipmitool -y

# Ubuntu/Debian系统
apt update && apt install ipmitool freeipmi-tools -y

服务管理

# 设置开机启动
systemctl enable ipmi
chkconfig ipmi on  # 旧版本系统

# 启动IPMI服务
systemctl start ipmi
service ipmi start  # 旧版本系统

# 检查服务状态
systemctl status ipmi

网络配置

设置静态IP地址

# 进入IPMI配置模式
ipmitool -I open lan set 1 ipsrc static

# 设置IP地址、子网掩码和网关
ipmitool -I open lan set 1 ipaddr 10.10.1.x
ipmitool -I open lan set 1 netmask 255.255.255.0
ipmitool -I open lan set 1 defgw ipaddr 10.10.1.1

# 启用网络访问
ipmitool -I open lan set 1 access on

# 验证配置
ipmitool lan print 1

设置动态IP(DHCP)

ipmitool -I open lan set 1 ipsrc dhcp
ipmitool -I open lan set 1 access on

注意:如果DHCP一时获取不到IP,可能需要完全切断服务器电源,等待5分钟后,先插上网线再接上电源。

高级网络配置

# 设置VLAN(如需要)
ipmitool lan set 1 vlan id 100

# 查看所有网络通道
ipmitool lan print 1
ipmitool lan print 2  # 有些服务器有多个通道

# 验证网络连通性
ipmitool -I lan -H 10.10.1.x -U root -P root mc info

用户管理与权限控制

查看用户列表

ipmitool -I open user list 1

输出示例:

text复制下载

ID  Name     Callin  Link Auth  IPMI Msg  Channel Priv Limit
1   (null)   true    false      true      ADMINISTRATOR
2   admin    true    false      false     NO ACCESS

修改用户密码

# 修改用户2(通常为admin用户)密码
ipmitool -I open user set password 2
# 按照提示输入两次新密码

# 修改用户1密码
ipmitool -I open user set password 1

创建和管理用户

# 创建新用户(ID 3)
ipmitool user set name 3 "newadmin"
ipmitool user set password 3
ipmitool user priv 3 4 1  # 设置权限级别(4=ADMIN), 通道1
ipmitool user enable 3    # 启用用户

# 设置用户权限级别
# 权限级别:1=回调,2=用户,3=操作员,4=管理员
ipmitool user priv <用户ID> <权限级别> <通道>

# 启用/禁用用户
ipmitool user enable <用户ID>
ipmitool user disable <用户ID>

远程管理操作

电源管理

# 远程电源控制
ipmitool -I lan -H 10.1.199.212 -U root -P root chassis power off    # 关机
ipmitool -I lan -H 10.1.199.212 -U root -P root chassis power on     # 开机
ipmitool -I lan -H 10.1.199.212 -U root -P root chassis power reset  # 重启
ipmitool -I lan -H 10.1.199.212 -U root -P root chassis power status # 状态查询

# 本地电源控制
ipmitool chassis power off
ipmitool chassis power on
ipmitool chassis power reset
ipmitool chassis power status

启动设备控制

# 设置下次启动设备
ipmitool -I lan -H 10.1.199.212 -U root -P root chassis bootdev pxe    # 网络启动
ipmitool -I lan -H 10.1.199.212 -U root -P root chassis bootdev disk   # 硬盘启动
ipmitool -I lan -H 10.1.199.212 -U root -P root chassis bootdev cdrom  # 光驱启动

# 永久设置启动顺序
ipmitool chassis bootparam set bootdev force_pxe

系统监控与维护

传感器监控

# 查看所有传感器数据
ipmitool sensor

# 查看特定传感器(如温度)
ipmitool sensor | grep -i temp
ipmitool -H 192.168.8.137 -U root -P root sensor | grep -i temp

# 详细传感器数据
ipmitool sdr list full

系统事件日志(SEL)管理

# 查看事件日志
ipmitool sel list
ipmitool -v -H 10.10.1.38 -U root -P root sel list

# 详细事件日志
ipmitool sel elist

# 清空事件日志
ipmitool sel clear

# 查看SEL信息
ipmitool sel info

FRU信息查看

# 查看FRU(现场可更换单元)信息
ipmitool fru print

# 查看特定FRU
ipmitool fru print 0  # 主板信息

BMC状态管理

# 查看BMC信息
ipmitool mc info

# 重置BMC(谨慎使用)
ipmitool mc reset cold
ipmitool mc reset warm

安全最佳实践

修改默认通信字符串

# 修改SNMP社区字符串
ipmitool -I open lan set 1 snmp COMPLEX_COMMUNITY_STRING

用户安全配置

# 禁用不必要的默认用户
ipmitool user disable 1

# 创建专用管理账户而非使用默认账户
ipmitool user set name 3 "bmcadmin"
ipmitool user set password 3
ipmitool user priv 3 4 1
ipmitool user enable 3

# 然后禁用默认admin用户
ipmitool user disable 2

网络安全加固

# 启用IP过滤(如果支持)
ipmitool lan set 1 ipfd 1

# 设置加密级别
ipmitool lan set 1 cipher_privs aaaaaaaaaaaaaaa

# 限制访问IP(如果硬件支持)
# 具体命令因厂商而异,请参考硬件文档

故障排除

连接测试

# 测试IPMI连接
ipmitool -I lan -H 10.10.1.x -U username -P password mc info

# 如果连接失败,检查以下项目:
# 1. 网络连通性
ping 10.10.1.x

# 2. 凭据是否正确
# 3. IPMI服务是否运行
systemctl status ipmi

# 4. 防火墙设置
firewall-cmd --list-all  # CentOS/RHEL

常见问题解决

  1. IPMI服务无法启动# 检查内核模块 lsmod | grep ipmi # 加载模块 modprobe ipmi_si modprobe ipmi_devintf modprobe ipmi_msghandler
  2. 网络配置不生效
    • 尝试重启BMC:ipmitool mc reset cold
    • 检查网络线缆连接
    • 验证交换机端口配置
  3. 用户认证失败
    • 确认用户ID正确
    • 检查用户是否启用
    • 验证权限设置

批量配置脚本示例

#!/bin/bash
# ipmi-batch-config.sh - 批量IPMI配置脚本

IPMI_HOST="$1"
IPMI_USER="admin"
IPMI_PASS="temporary_password"

echo "配置IPMI主机: $IPMI_HOST"

# 配置静态IP
ipmitool -I lan -H $IPMI_HOST -U $IPMI_USER -P $IPMI_PASS lan set 1 ipsrc static
ipmitool -I lan -H $IPMI_HOST -U $IPMI_USER -P $IPMI_PASS lan set 1 ipaddr 10.10.1.$IPMI_HOST
ipmitool -I lan -H $IPMI_HOST -U $IPMI_USER -P $IPMI_PASS lan set 1 netmask 255.255.255.0
ipmitool -I lan -H $IPMI_HOST -U $IPMI_USER -P $IPMI_PASS lan set 1 defgw ipaddr 10.10.1.1

# 创建管理用户并设置强密码
ipmitool -I lan -H $IPMI_HOST -U $IPMI_USER -P $IPMI_PASS user set name 3 'bmc_admin'
echo "NewSecurePassword123!" | ipmitool -I lan -H $IPMI_HOST -U $IPMI_USER -P $IPMI_PASS user set password 3
ipmitool -I lan -H $IPMI_HOST -U $IPMI_USER -P $IPMI_PASS user priv 3 4 1
ipmitool -I lan -H $IPMI_HOST -U $IPMI_USER -P $IPMI_PASS user enable 3

# 禁用默认用户
ipmitool -I lan -H $IPMI_HOST -U $IPMI_USER -P $IPMI_PASS user disable 1
ipmitool -I lan -H $IPMI_HOST -U $IPMI_USER -P $IPMI_PASS user disable 2

echo "IPMI配置完成: $IPMI_HOST"

使用方式:./ipmi-batch-config.sh 38 (配置IP为10.10.1.38的BMC)

总结

IPMI是服务器管理的重要工具,通过ipmitool可以高效地进行远程管理。正确的配置和安全加固对于保护服务器基础设施至关重要。建议定期:

  1. 检查系统事件日志
  2. 更新用户密码
  3. 审计用户权限
  4. 监控系统健康状态
  5. 备份重要配置

通过遵循本指南,您可以建立安全、可靠的服务器远程管理环境。

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注