您的位置:首页 > 其它

dmidecode

2015-05-06 14:59 211 查看
1、使用dmidecode抓取主板的序列号(SN):
厂商在主板里烧入的序列号(SN)是唯一的,可以作为一台服务器的唯一索引。通过Linux下的dmidecode命令可以很方便地抓取到服务器的序列号。
但是由于各家厂商对SMBios的刷写规范不太一样,我们需要做一些兼容的操作。
简单总结了一下,见下表

厂商 一般抓取方法
Dell dmidecode -s system-serial-number
HP dmidecode -s system-serial-number
IBM dmidecode -s system-serial-number
Huawei dmidecode -s system-serial-number(华为机架式服务器) 或 dmidecode -s baseboard-serial-number(华为刀片)
用一段shell来覆盖所有的机型,如下:

get_sn(){
local mySN=`dmidecode -s system-serial-number | grep -v '#'`
if echo "${mySN}" | grep -qiE "^NotSpecified|^None|^ToBeFilledByO.E.M.|O.E.M." ; then
mySN=`dmidecode -s baseboard-serial-number`
fi
#对于RHEL4和CentOS4,dmidecode不支持-s参数,需要采用不同的SN获取方法
if grep -q 'release 4'  /etc/redhat-release ; then
mySN=`dmidecode | grep -A5 'System Information' | grep 'Serial Number' | awk '{print $3}' | sed 's/^[ \t]*//g' | sed 's/[ \t]$//g'`
fi
echo $mySN
}
希望对服务器运维有帮助。
原文URL:http://www.opstool.com/article/195 OPS运维工具值得参考!!!

2、dmidecode判断主机是虚拟机还是实体机:
[root@ robin]# dmidecode -s system-manufacturer
Dell Inc. ---戴尔服务器
[root@ robin]#

root@1-96:/home/robin# dmidecode -s system-manufacturer
VMware, Inc. ---VMware
root@1-96:/home/robin#

[root@90-163 robin]# dmidecode -s system-manufacturer
Red Hat ---KVM
[root@90-163 robin]#
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  主板 序列号 dmidecode