一种实现同时抓取Rack整机柜所有节点信息的方法

文档序号:9844023阅读:433来源:国知局
一种实现同时抓取Rack整机柜所有节点信息的方法
【技术领域】
[0001]本发明涉及Rack整机柜服务器软件技术领域,具体涉及一种实现同时抓取Rack整机柜所有节点信息的方法,主要实现对整机柜服务器所有节点B1S信息、BMC信息、bmc日志、系统日志的抓取,并自动筛选bmc、系统日之出现的异常,已方便测试、方便debug。
【背景技术】
[0002]Rack整机柜节点数量多,在整机柜基本功能测试、稳定性测试等多项测试中,需要查看所有节点的b1s版本、BMC版本、BMC日志、系统日志等,如果逐个节点接显示器和键盘是不现实的,节点间可以通过SSH协议来查询和管理各节点,出货时附带交换机,各节点间可通过网口连通,可以选取其中的一个节点,在基于SSH协议管理的基础上,可以用脚本实现整机柜所有信息信息的抓取以及日志的抓取和筛选。

【发明内容】

[0003]本发明要解决的技术问题是:本发明提出一种实现同时抓取Rack整机柜所有节点信息的方法,能够快速抓取所有节点的信息,并且快速筛测试中异常日志。
[0004]本发明所采用的技术方案为:
所述方法具体实现过程如下:
1)搭建测试平台,整机柜安装Iinux系统,准备测试环境,配置所有节点SSH无密码访问;
2)编写shell脚本,对所有节点信息和日志进行抓取,并对日志筛选,如果日志无异常返回pass结果,如果日志有异常,列出异常日志信息。
[0005]所述节点信息包括:bmc信息、b1s信息、OS信息,日志包括:bmc日志、系统日志。
[0006]所述bmc信息通过执行ipmitool me info读取。
[0007]所述b1s信息通过dmidecode的命令抓取。
[0008]本发明的有益效果为:
本发明方法通过she 11脚本实现同时抓取所有节点b1s/bmc版本信息以及bmc/系统日志,并对异常日志进行筛选,以方便测试和debug,实用于rack等高密度服务器整机柜。
【具体实施方式】
[0009]下面结合【具体实施方式】对本发明进一步说明:
实施例1:
一种实现同时抓取Rack整机柜所有节点信息的方法,所述方法具体实现过程如下:
1)搭建测试平台,整机柜安装Iinux系统(如redhat6.4),准备测试环境,配置所有节点SSH无密码访问;
2)编写shell脚本,对所有节点信息和日志进行抓取,并对日志筛选,如果日志无异常返回pass结果,如果日志有异常,列出异常日志信息。
[0010]申请号201510012043.6—种Rack机柜ssh无密码批量访问各节点的方法,基于SSH协议,在Rack机柜各节点网络连通的基础上,刷新Rack机柜所有节点BMC时,把SSH与linux bash语言相结合,实现通过一节点SSH无密码访问其它所有节点,进而自动实现各节点间的无密码访问,大大节省工作时间,减少工作量、提高工作效率;极大的提高Rack机柜中查询和管理各节点的效率。
[0011]实施例2:
在实施例1的基础上,本实施例所述节点信息包括:bmc信息、b1s信息、OS信息,日志包括:bmc日志、系统日志。
[0012]实施例3:
在实施例2的基础上,本实施例所述bmc信息通过执行ipmitool me info读取。
[0013]实施例4:
在实施例2的基础上,本实施例所述b1s信息通过dmidecode的命令抓取。
[0014]实施例5:
本实施例所述shell脚本的实现内容如下:
1.抓取bmc信息: funct1n bmcinfo()
{
/etc/init.d/ipmi startipmitool me info
BMC_FV=' ipmitool me info grep "Firmware Revis1n" awk -F 〃:〃 ’{print $2}, Ised ,s/~\s*//g,'
IPMI_vers1n=' ipmitool me info grep "IPMI Vers1n" awk -F ”..” ’ {print $2}, Ised ,s/~\s*//g,'
time='date 〃+%Y-%m-%d %H:%M:%S"'
printf 〃%-25s%-25s%-20s\n〃 〃date〃 〃BMC_Firmware_Vers1n〃 〃IPMI_vers1n〃 >>$Cur_Dir/logcheck/osinstall/bmcinfo
printf "%-25s%-25s%-20s\n〃 〃$time〃 "$BMC_FV" 〃$IPMI_vers1n〃 ?$Cur_Dir/logcheck/osinstall/bmcinfo
echo -n 〃\n〃 >>$Cur_Dir/logcheck/osinstall/bmcinfo}
Bmc是通过ipmitool工具来管理的,执行ipmi tool me info可以读取bmc的所有基本信息,该段程序可以抓取bmc的版本信息。
[0015]2.抓取 b1s 信息:funct1n b1sinfo()
{
b1s_vendor= dmidecode grep 〃DMI type 0〃 -A 25 grep 〃Vendor〃|awk -F":"’{print $2}' sed ,s/~\s*//g,'
b1s_vers1n= dmidecode grep 〃DMI type 0〃 -A 25 grep "Vers1n"|awk -F ":" ’{print $2}' sed ,s/~\s*//g,' b1s_release= dmidecode |grep 〃DMI type 0〃 -A 25 |grep "Release"|awk -F ":" ’ {print $2}’ | sed ’s/AsV/g,'
printf 〃%-25s%-50s%-20s%_25s\n" "date" 〃B10S—Vendor" "B1S—Vers1n" 〃B1S—Release—Date,, >>$Cur_Dir/logcheck/os install/b1s info
printf 〃%-25s%-50s0/o-20s0/o-25s\n〃 〃$time〃 〃$b1s_vendor〃 〃$b1s_vers1n〃〃$b1s—release,, >>$Cur_Dir/logcheck/os install/b1s info
echo -n 〃\n〃 >>$Cur_Dir/logcheck/osinstall/b1sinfo
}
dmidecode的命令能抓取到机器的b1s/cpu/内存等基本信息,执行该段程序可以刷选出b1s的版本信息。
[0016]3.抓取OS信息:funct1n osinfoO
{
time='date 〃+%Y-%m_%d %H:%M:%"'
os= lsb—release -a | grep ,,Descript1n,, | awk -F J {print $2},|sed,s/ kernel_vers1n= uname _r
printf "%-20s%-30s%_25s\n〃 "Date" "OS" "kernel" >>$Cur_Dir/logcheck/osinstall/systeminfo
printf 〃%-20s%-30s%_25s\n" 〃$time" 〃$os" "$kernel—vers1n" >>$Cur_Dir/logcheck/osinstall/systeminfo
}
执行该段程序可以抓取出os的版本及kernel版本。
[0017]4.抓取BMC信息:funct1n bmccheck()
{
time='date 〃+%Y-%m_%d %H:%M:%"'
/etc/init.d/ipmi start
printf 〃%-20s%-15s\n〃 〃$time〃 〃bmc sel log〃>>$Cur_Dir/logcheck/osinstall/bmclog
ipmitool sel elist >>$Cur—Dir/logcheck/osinstall/bmclog
echo -ne 〃\n〃 >>$Cur_Dir/logcheck/osinstall/bmclog
printf 〃%s\n〃 〃sdr status check,, >>$Cur_Dir/logcheck/osinstall/
bmclog
ipmitool sdr elist |awk -F J{if($3 ?/ok/)print "pass";else print$0}’>> $Cur—Dir/logcheck/osinstall/bmclogipmitool sel clear
}
执行该段程序,可以实现bmc日志的抓取,并筛选出异常日志。
[0018]5.抓取系统日志:
funct1n messages()
{
date 〃+%Y-%m_%d %H:%M:%〃 >>$Cur_Dir/logcheck/osinstall/dmesglogdmesg I egrep ,,Error | error | Machine | resetting | ECC | warning,, >>$Cur_Dir/logcheck/osinstall/dmesglog
}
funct1n mceinfo()
{
Is -1 /var/log |grep 〃mcelog〃 >>$Cur—Dir/logcheck/osinstall/mcelog—res cat /var/log/mcelog >>$Cur—Dir/logcheck/osinstall/mcelog—res
}
该段程序实现系统messages/mcelog/dmesg日志的抓取及异常日志的筛选。
[0019]6.实现所有节点信息和日志的同时抓取: funct1n shab()
{
rsh $1 $2
}
for i in {1..40} do
echo 〃---------------------------------------------$.//
1-----------------------------------------
shab cu$i "$1" &’
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【主权项】
1.一种实现同时抓取Rack整机柜所有节点信息的方法,其特征在于,所述方法具体实现过程如下: 1)搭建测试平台,整机柜安装Iinux系统,准备测试环境,配置所有节点SSH无密码访问; 2)编写shell脚本,对所有节点信息和日志进行抓取,并对日志筛选,如果日志无异常返回pass结果,如果日志有异常,列出异常日志信息。2.根据权利要求1所述的一种实现同时抓取Rack整机柜所有节点信息的方法,其特征在于,所述节点信息包括:bmc信息、b1s信息、OS信息,日志包括:bmc日志、系统日志。3.根据权利要求2所述的一种实现同时抓取Rack整机柜所有节点信息的方法,其特征在于:所述bmc信息通过执行ipmi too I me inf ο读取。4.根据权利要求2所述的一种实现同时抓取Rack整机柜所有节点信息的方法,其特征在于:所述b1s信息通过dmidecode的命令抓取。
【专利摘要】本发明公开了一种实现同时抓取Rack整机柜所有节点信息的方法,所述方法具体实现过程如下:1)搭建测试平台,整机柜安装linux系统,准备测试环境,配置所有节点SSH无密码访问;2)编写shell脚本,对所有节点信息和日志进行抓取,并对日志筛选,如果日志无异常返回pass结果,如果日志有异常,列出异常日志信息。本发明方法通过shell脚本实现同时抓取所有节点bios/bmc版本信息以及bmc/系统日志,并对异常日志进行筛选,以方便测试和debug,实用于rack等高密度服务器整机柜。
【IPC分类】G06F11/30, G06F11/36
【公开号】CN105608002
【申请号】CN201510951849
【发明人】巩祥文
【申请人】浪潮电子信息产业股份有限公司
【公开日】2016年5月25日
【申请日】2015年12月17日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1