ipmitool常用命令详解

article/2025/9/30 4:18:54

ipmitool命令

ipmitool –I  [open|lan|lanplus] command

OpenIPMI接口,command有以下项:

         raw:发送一个原始的IPMI请求,并且打印回复信息。

         lan:配置网络(lan)信道(channel)

         chassis :查看底盘的状态和设置电源

         event:向BMC发送一个已经定义的事件(event),可用于测试配置的SNMP是否成功

         mc:查看MC(Management Contollor)状态和各种允许的项

         sdr:打印传感器仓库中的所有监控项和从传感器读取到的值。

         sensor:打印详细的传感器信息。

         fru:打印内建的Field Replaceable Unit (FRU)信息

         sel: 打印 System Event Log (SEL)    

         pef:设置 Platform Event Filtering (PEF),事件过滤平台用于在监控系统发现有event时候,用PEF中的策略进行事件过滤,然后看是否需要报警。

         sol/isol:用于配置通过串口的Lan进行监控

         user:设置BMC中用户的信息 。

         channel:设置Management Controller信道。

 

ipmitool chassis 

ipmitool chassis 

ipmitool chassis identify   #蓝色uid指示灯,直接执行命令,只能维持15秒

ipmitool chassis status

System Power         : on    #开机状态
Power Overload       : false   #是否过载
Power Interlock      : inactive
Main Power Fault     : false    #主电源是否故障
Power Control Fault  : false
Power Restore Policy : always-on   #上电后机器的响应状态
Last Power Event     : command
Chassis Intrusion    : inactive
Front-Panel Lockout  : inactive
Drive Fault          : false    #是否有硬盘告警
Cooling/Fan Fault    : false    #是否存在风扇告警
Sleep Button Disable : allowed
Diag Button Disable  : allowed
Reset Button Disable : allowed
Power Button Disable : allowed
Sleep Button Disabled: false
Diag Button Disabled : false
Reset Button Disabled: false
Power Button Disabled: false

ipmitool chassis bootdev pxe   #下次启动默认从网卡启动,只一次有效

ipmitool chassis bootdev disk  #下次启动默认从硬盘启动

ipmitool chassis bootdev pxe options=persistent    #永久生效

ipmitool chassis power status | on |reset

sensor查看 

ipmitool sensor


fru读取和设置

ipmitool fru

ipmitool fru edit 

ipmitol user 命令

  • 查看用户

ipmitool user list 

  • 添加用户

ipmitool user set name 4 abcd    #新增用户abcd

  • 设置密码

ipmitool  user set password 4 wifi@LS123

  • enable/disable用户

ipmitool user enable 4   

channel参数

命令使用:

  • 查看指定用户权限

  • 修改权限

 ipmitool channel setaccess 2 "4" privilege=4 ipmi=on link=on callin=on 

mc参数

ipmitool mc info   #查看bmc固件版本

ipmitool mc reset cold     #重启bmc

lan参数

  • 查看网络信息

ipmitool lan print  

Set in Progress         : Set Complete
Auth Type Support       : MD5 
Auth Type Enable        : Callback : MD5 : User     : MD5 : Operator : MD5 : Admin    : MD5 : OEM      : MD5 
IP Address Source       : DHCP Address
IP Address              : 
Subnet Mask             : 
MAC Address             : 
SNMP Community String   : AMI
IP Header               : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
BMC ARP Control         : ARP Responses Enabled, Gratuitous ARP Disabled
Gratituous ARP Intrvl   : 0.0 seconds
Default Gateway IP      : 10.3.67.254
Default Gateway MAC     : 00:00:00:00:00:00
Backup Gateway IP       : 0.0.0.0
Backup Gateway MAC      : 00:00:00:00:00:00
802.1q VLAN ID          : Disabled
802.1q VLAN Priority    : 0
RMCP+ Cipher Suites     : 0,1,2,3,6,7,8,11,12,15,16,17
Cipher Suite Priv Max   : caaaaaaaaaaaXXX:     X=Cipher Suite Unused:     c=CALLBACK:     u=USER:     o=OPERATOR:     a=ADMIN:     O=OEM
  • 修改IP为静态还是DHCP模式

ipmitool lan set 1 ipsrc dhcp | static

  • 修改IP地址

ipmitool lan set <ChannelNo> ipaddr <IPAddress>

# ipmitool lan set 1 ipaddr 192.168.2.60

  • 修改子网掩码

ipmitool lan set <ChannelNo> netmask <NetMask>

# ipmitool lan set 1 netmask 255.255.0.0

  • 修改默认网关

ipmitool lan set <ChannelNo> defgw ipaddr <Gateway >

# ipmitool lan set 1 defgw ipaddr 192.168.2.1

问题:

ipmitool  lan  set  1  ipsrc  static

Channel 1  is not a LAN channel!    

解决方法:帮助确认查找channel

for   i in `seq 1 14`; do ipmitool lan print $i 2>/dev/null | grep -q ^Set && echo Channel $i; done

sel参数

ipmitool sel list  #读取sel时候,建议使用elist,直接使用list,有些字段不能被完整解析

[root@test01 ~]# cat ipmi_tool.sh 
#!/bin/sh
#description: ipmitool command tool
#author: liuxin
#date: 20180117function usage()
{cat << EOF
ipmi_tool.sh: ipmitool command tool
Usage: ipmi_tool.sh [options...] <command>-f                  The file of remote host name for LAN interface-u                  Remote session username, default value in this shell-p                  Remote session password, default value in this shellHelp options:-h                  Show this help message
EOFreturn 0
}function get_params()
{[[ $# -lt 1 ]] && usage && exit 0while getopts :hu:p:f: optdocase "$opt" inh) usage && exit 0 ;;u) USERNAME="$OPTARG" ;;p) PASSWORD="$OPTARG" ;;f|-file) HOST_FILE="$OPTARG" ;;*) echo "Unknown option: $opt" && exit 1 ;;esacdoneshift $[ $OPTIND - 1 ]COMMAND="$@"if [ -z "$COMMAND" ]thenecho "command is null" && exit 1fireturn 0
}function print_params()
{echo "USERNAME: $USERNAME"echo "PASSWORD: $PASSWORD"echo "HOST_FILE: $HOST_FILE"echo "COMMAND: $COMMAND"return 0
}function ipmitool_run()
{cat $HOST_FILE |grep -v '^#' |while read ipdoreceived=$(ping $ip -c 5 -i 0.01 |egrep -o '[0-9] received' |awk '{print $1}')echo -en "$ip\t$COMMAND:\t"if [ $received -gt 0 ]thenecho "ipmitool -I lanplus -U $USERNAME -P $PASSWORD -H $ip $COMMAND"#ipmitool -I lanplus -U $USERNAME -P $PASSWORD -H $ip $COMMANDelseecho "Unreachable"fidonereturn 0
}function main
{USERNAME="root"PASSWORD="123456"HOST_FILE=""COMMAND=""get_params $@ipmitool_run#print_paramsreturn 0  
}#--------------------
main $@[root@test01 ~]# cat ip.txt 
192.168.1.1
192.168.1.2
192.168.1.60[root@test01 ~]# ./ipmi_tool.sh -f ./ip.txt chassis power reset
192.168.1.1 chassis power reset:    ipmitool -I lanplus -U root -P 123456 -H 192.168.1.1 chassis power reset
192.168.1.2 chassis power reset:    Unreachable
192.168.1.60    chassis power reset:    ipmitool -I lanplus -U root -P 123456 -H 192.168.1.60 chassis power reset[root@test01 ~]# ./ipmi_tool.sh -u admin -p pass -f ./ip.txt chassis power reset
192.168.1.1 chassis power reset:    ipmitool -I lanplus -U admin -P pass -H 192.168.1.1     chassis power reset
192.168.1.2 chassis power reset:    Unreachable
192.168.1.60    chassis power reset:    ipmitool -I lanplus -U admin -P pass -H 192.168.1.60   chassis power reset

https://www.jianshu.com/p/164df74d5dac


http://chatgpt.dhexx.cn/article/PE5NcOb2.shtml

相关文章

如何自己实现字符串拷贝函数

一般写法&#xff1a; char *my_strcpy(char *dst,const char *src) {assert(dst ! NULL);assert(src ! NULL);char *ret dst;while((* dst * src) ! \0) // 运算符优先级高于*;return ret; } 可以看到很简单&#xff0c;只需考虑三点。 1&#xff0c;判断源字符串和目的字…

C语言 字符串-字符串的复制

字符串复制函数&#xff1a; strcpy(目标字符串的首地址,被复制的字符串的首地址) 复制p到a&#xff1a; char * p"12345";char a[20];strcpy(a, p);printf("%s\n", a); strcpy_s(目标字符串的首地址,缓冲长度,被复制的字符串的首地址) strcpy_s(a, 20, p…

C语言 实现字符串的复制

1.将字符串a的数据复制到字符串b中 &#xff08;5.用for循环和指针来实现 &#xff09;------注释掉部分采用的是此方法 #include <stdio.h> int main() {void copy_string(char from[], char to[]);char a[]"I am a student.";//char a[11];//for (int i 0…

C语言的字符串复制

提示&#xff1a;仅供参考&#xff0c;如有错误&#xff0c;还望指出。 目录 目录 一、字符串复制 二、一些优化 1.一次简单优化 2.二次优化 3.三次优化 4.四次优化 5.最后的优化 总结 前言 以下是对字符串复制的一些优化 一、字符串复制 这是自己能想到的方法 主要…

不使用strcpy()函数实现字符串复制功能

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main() {/*不使用strcpy()函数实现字符串复制功能*/int i 0;char str1[100];char str2[100];printf("请输入字符串-> \n");gets(str1);while (str1[i] ! \0) /*判断字符数组的第一位不是结束符*/{st…

C语言字符串复制函数strcpy()的编写与详解

strcpy&#xff0c;即string copy&#xff08;字符串复制&#xff09;的缩写。 原型声明&#xff1a;char *strcpy(char *dest, const char *src); 头文件&#xff1a;#include <string.h> 和 #include <stdio.h> 功能&#xff1a;把从src地址开始且含有NULL结束符…

C语言函数库之字符串拷贝函数(string.h)

1.字符串拷贝函数strcpy 函数定义&#xff1a; char *strcpy(char *str1, const char *str2); 函数功能&#xff1a;把字符串str2(包括\0)拷贝到字符串str1当中&#xff0c;并返回str1。举例&#xff1a; #include<stdio.h> #include<string.h> int main(){char s…

【C/C++】C语言复制字符串及复制函数汇总(strcpy()/memcpy()/strncpy()/memmove())

目录: strcpy()举例&#xff1a; memcpy()举例&#xff1a; strncpy()举例&#xff1a; memmove()举例&#xff1a; 我们首先来考虑一个简单的问题&#xff0c;我们定义了一个字符串&#xff0c;然后想要复制这个字符串&#xff0c;在C语言中&#xff0c;我们可以用for循环和指…

C语言编写字符串拷贝(strcpy)函数详解以及assert函数

目录 一.strcpy函数 原型声明 功能 说明 代码及运行结果 二.自己编写strcpy函数 代码一及运行结果 代码二&#xff08;改进&#xff09;及运行结果 代码三&#xff08;进一步改进&#xff09;及assert函数 在这里解释一下什么是asser函数&#xff08;断言函数&#xff…

程序员一般通过什么平台接单

今天给大家介绍几个程序员可以接私活的平台。在外人眼中,程序员敲几行代码就能拿到不错的薪水,理所应当需要掌握与计算机方面相关的技术;私活没有那么好做,但是可以作为一个额外的收入渠道,或者想要找项目练手的程序员,都乐意利用自己的业余时间接私活。 1、程序员客栈 …

福利:总结10个Python赚钱的接单平台!兼职月入5000+

如果说当下什么编程语言最靠谱或者比较适合搞副业&#xff1f; 答案肯定100%是&#xff1a;Python Python是所有语法中最简单易上手的语言&#xff0c;不需要特别的的英语词汇量&#xff0c;逻辑思维也不需要很差就能上手。而且学会了之后就能编写代码爬取各种数据&#xff0c…

大一学生靠爬虫接单月入上万?这些接私活的外包平台分享给你!让你外包接到手软!

概叙 今天听一个同事说起他弟弟&#xff0c;同事他暑假教了两个月的python爬虫&#xff0c;也告诉他怎么接外包赚钱&#xff0c;本意是想他自己能在校给自己赚点生活费&#xff0c;不曾想到一月居然能赚这么多&#xff01;毕竟有了技术的话&#xff0c;除了工作上的&#xff0c…

程序员怎么接单赚外快,去这6个平台就可以了!

前言 说起程序员接外包的网站&#xff0c;你在网上一搜发现数不胜数&#xff0c;但真正有用的却很少。然后你想快速的找到几个靠谱的网站&#xff0c;去看了看接外包的攻略&#xff0c;你会发现排雷的又数不胜数。一时间你还真不知道要选哪一个。 接下来小编就为大家推荐几个…

福利:总结几个Python赚钱的接单平台,兼职月入5000+

如果说当下什么编程语言最靠谱或者比较适合搞副业&#xff1f; 答案肯定100%是&#xff1a;Python Python是所有语法中最简单易上手的语言&#xff0c;不需要特别的的英语词汇量&#xff0c;逻辑思维也不需要很差就能上手。而且学会了之后就能编写代码爬取各种数据&#xff0…

基于安卓的接的快接单平台/基于Android的快的接单平台

【摘要】 随着互联网的趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己的信息推广出去&#xff0c;最好方式就是建立自己的平台信息&#xff0c;并对其进行管理&#xff0c;随着现在智能手机的普及&#xff0c;人们对于智能手机里面的应用接的快接单平台也在不断的使用…

程序员的接单外卖平台

今天王同学给大家安利一款非常实用并且能接单的一款非常好的平台—— 独自开 独自开的功能非常之多 简直不要太香~ 集成第三方数学接口&#xff0c;形成标准化解决方案&#xff0c;提供开发者调用 支付分账功能电子签单功能税务接口硬件接口 独自开的开发功能简直不要太多~ 如…

效果图制作接单平台有哪些?

对于制图师来说&#xff0c;单子就是生命&#xff0c;就是白花花的票子&#xff0c;单子越多&#xff0c;票子越多。一般来说找单子不会是制图师来找&#xff0c;都是公司的商务拉来单子&#xff0c;制图师们只管出活&#xff0c;但如果想要更高的收入&#xff0c;想跳过层层转…

程序员接私活,接单平台

面向国内企业接单&#xff0c;主要好处就是对英语沟通能力的要求没那么高&#xff0c;不过客户屁事多&#xff0c;不懂装懂&#xff0c;需求来回改&#xff0c;喜欢瞎 bb&#xff0c;回款周期长的问题也普遍存在。 因此&#xff0c;我个人觉得&#xff0c;面向国内市场接单&am…

Java程序员接单平台推荐

Java程序员接单已经不再是新鲜事&#xff0c;也有不少学Java的兄弟通过接单得到了不错的收入&#xff1b;生活在二三线的程序员老铁们&#xff0c;靠接单也可以对等一线城市的收入。具体该怎么做&#xff0c;且听我娓娓道来。 (干货满满&#xff0c;建议大家点赞收藏&#xff…

常用Java接单平台一览

不少主攻Java的程序员兄弟除了工作&#xff0c;还会在空闲时间选择接单来增加自己的收入&#xff1b;对于那些生活在二三线的程序员兄弟们&#xff0c;通过接单&#xff0c;来获得与一线城市对等的收入。具体该怎么做&#xff0c;且听我娓娓道来。接下来干货满满&#xff0c;先…