ipmitool获取服务器信息

使用ipmitool获取服务器信息、设置服务器相关命令。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#!/bin/bash
#测试要求如下:
# 1,所有的命令都通过ipmitool命令实现
# 2,所有命令都在没有操作系统的情况下测试
 
HOST=$1
USER=$2
PASSWD=$3
function getinfo()
{
 # 1. 获取到服务器的网络配置信息
 echo -"\n\n=======Networking Configurations:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan print
 # 2.获取到服务器的温度信息
 echo -"\n\n=======Ambient Temprature:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Ambient Temp"
 # 3.获取到服务器的功率信息
 echo -"\n\n=======System Level:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "System Level"
  
 # 4.获取到服务器的序列号信息
 echo -"\n\n=======Serial Number(Fru):"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD fru
 # 5.获取到服务器的MAC
 echo -"\n\n=======Mac Address(only Dell):"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD delloem mac
  
 # 6.获取到服务器的资产号信息
 echo -"\n\n=======Serial Number(Fru):"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "System Level"
 # 7.获取到服务器的管理卡的时间
 echo -"\n\n=======Date and Time:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel time get
 # 8.查看管理卡配置模式
 echo -"\n\n=======Lan set Mode:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD delloem lan get
 # 9.查看SOL波特率
 echo -"\n\n=======Volatile Bit Rate (kbps):"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol info 1
}
function operation()
{
 # 1.服务器开机、关机、重启
 echo -"\n\n=======Power:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD power
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD power status
  
 # 2.服务器添加用户、设置密码、授予权限
 echo -"\n\n=======USER:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD user list 1
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD user set name 10 test1
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD user set password 10 test1pwd
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD user enable 10
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD user list 1
 # 1-CALLBACK ,2-USER ,3-OPERATOR ,4-ADMNISTRATOR
 echo -"\n\n=======User privilage:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD user priv 10 4 1
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD user list 1
  
 # 3.管理卡IP配置模式转换(DHCP/静态IP)
 echo -"\n\n=======OOB IP Mode:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan set 1 ipsrc 
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan set 1 ipsrc static
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan print
  
 # 4.管理卡修改IP地址
 echo -"\n\n=======Set IP:"
 read -"modify oob ip, please use the current network : " oobip
 read -"modify oob netmask : " netmask
 read -"modify oob gateway : " oobgw
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan set 1 ipaddr $oobip
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan set 1 netmask $netmask
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan set 1 defgw ipaddr $oobgw
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan print
  
 # 5.管理卡配置模式转换(独立/共享) 仅dell
 echo -"\n\n=======Lan Mode:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD delloem lan
 #ipmitool -I lan -H $HOST -U $USER -P $PASSWD delloem lan set dedicated
  
 # 6.设置SOL波特率
 echo -"\n\n=======Sol volatile-bit-rate:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol set non-volatile-bit-rate 115.2 1
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol info 1
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol set non-volatile-bit-rate 57.6 1
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol info 1
  
 # 7.SOL模式开启、关闭
 echo -"\n\n=======Sol enable and disable:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol set enabled true 1
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol info 1
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol set enabled false 1
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol info 1
}
function extrainfo()
{
 echo -"\n\n\n=======Extra infomation:"
 # cpu信息
 echo -"\n\n=======cpu型号:"
 echo -"\n\n=======cpu物理个数:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr elist | grep 'Status' #华为提供,貌似不准确
 echo -"\n\n=======cpu当前频率:"
  
 #内存信息
 echo -"\n\n=======内存型号:"
 echo -"\n\n=======内存数量:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr elist | grep 'DIMM'
  
 #硬盘信息
 echo -"\n\n=======硬盘品牌:"
 echo -"\n\n=======硬盘SN:"
 echo -"\n\n=======硬盘型号:"
  
 #电力
 echo -"\n\n=======服务器当前整体功耗:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Pwr"
 echo -"\n\n=======服务器交流实际供电电压:"     #不支持或未找到
 echo -"\n\n=======服务器直流3.3V,5V和12V实际供电电压:"
  
 #风扇
 echo -"\n\n=======风扇数量和转速:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Fan"
  
 #温度
 echo -"\n\n=======服务器进风口温度:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Inlet"
 echo -"\n\n=======服务器出风口温度:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Exhaust Temp"
 echo -"\n\n=======CPU当前温度:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Temp"
  
 #状态:基于收集信息异常状态的记录及展示
 echo -"\n\n=======基于收集信息异常状态的记录及展示:"
  
 #网络:Mac地址
 echo -"\n\n=======远程管理卡以及主板上所有网口的MAC地址:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan print |grep "MAC Address"
  
 #时间:收集管理卡当前时钟信息,以“年月日时分秒”格式显示。
 echo -"\n\n=======收集管理卡当前时钟信息,以“年月日时分秒”格式显示。:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel time get
  
 #事件:异常事件、操作事件、登录事件记录
 echo -"\n\n=======异常事件、操作事件、登录事件记录:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel list
  
}
function extraop()
{
 #通过网络,命令行模式完成以下功能:
  
 #1, 指定特定端口PXE启动
 echo -"\n\n=======指定特定端口PXE启动:"
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD chassis bootdev pxe   #不能指定特定端口,端口指定可借助racadm等工具实现,网卡的pxe功能需要在bios中开启
  
 #2, 可通过管理卡启动KVM(无需登录web界面),并有相关的权限区分(可看,可操作等多种权限)
 echo -"\n\n=======可通过管理卡启动KVM(无需登录web界面),并有相关的权限区分(可看,可操作等多种权限):" #Need config SSO, 虚拟控制台或者VNC免登陆方式
  
 #可以设置管理卡的时钟、使用“年月日时分秒”格式。
 echo -"\n\n=======可以设置管理卡的时钟、使用 年月日时分秒 格式。" #dell反馈管理卡没有时间设置,只有BIOS时间和NTP
 ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel time set
}
 
echo >$HOST-report.txt
getinfo 2>&1 |tee -a $HOST-report.txt
operation 2>&1 |tee -a $HOST-report.txt
extrainfo 2>&1 |tee -a $HOST-report.txt
extraop 2>&1 | tee -a $HOST-report.txt
本博客所有文章如无特别注明均为原创。作者:樱木复制或转载请以超链接形式注明转自 EFE
原文地址《ipmitool获取服务器信息
分享到:更多

相关推荐

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)