当前位置 博文首页 > 新睿云.任义兵的博客:关于Linux服务器的带外管理,你知道吗?

    新睿云.任义兵的博客:关于Linux服务器的带外管理,你知道吗?

    作者:[db:作者] 时间:2021-09-17 12:30

    640?wx_fmt=gif

    日常运维中,我们可能接收别人移交的设备,但由于很多原因,之前的人都未记录相关服务器序列号,未设置的带外地址及带外管理的用户密码等情况,服务器又不能停机维护,有没有办法不重启的情况下,获取到相关信息呢?答案是肯定的。

    首先了解一下什么是带外管理。带外管理(Out-of-bandmanagement)是基于硬件的一种管理方式,使用专用硬件模块或特殊的远程管理卡提供管理接口,通过专用的数据通道对设备进行远程维护和管理,完全独立于设备操作系统之外,甚至可以在设备关机状态下进行远程监控与管理。目前绝大部分服务器提供带外管理接口,部分网络设备也提供的带外管理接口。知道了带外管理,接着了解一下关于Linux服务器的带外管理。

    640?wx_fmt=jpeg

    一)针对linux系统,如操作系统支持yum,则直接yum install -y ipmitool安装便可,如不支持yum,需要下载tar.gz包上传到服务器,下面举例:ipmitool-1.8.18.tar.gz安装。

    1.?下载ipmitool

    2.?确定gcc工具已经安装好

    3. 在Linux系统上加载启用IPMI驱动:insmod /lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/char/ipmi/ipmi_msghandler.koinsmod /lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/char/ipmi/ipmi_devintf.koinsmod /lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/char/ipmi/ipmi_si.ko

    4. 检查你的/dev目录下出现了ipmi0这个设备:ls -l /dev/ipmi*

    5.?解压缩ipmitool-1.8.18.tar.gztar zxvf ipmitool-1.8.18.tar.gz

    6.?cd ipmitool-1.8.18

    7. 开始安装ipmitool:./configure && make && make install

    8.?ipmitool命令将被安装到/usr/local/bin/ipmitool

    9.?现在你就可以用了

    安装完毕后,可以在linux操作系统上设置irac的ip,修改用户,测试snmp是否正常等。

    配置IP:

    ipmitool lan set 1 ipsrc static?

    ipmitool lan set 1 ipaddr 10.60.237.

    ipmitool lan set 1 netmask 255.255.255.0?

    ipmitool lan set 1 defgw ipaddr 10.60.237.254?

    ipmitool lan print 1?(打印本地bmc lan配置)?

    修改用户:

    dell:

    ipmitool user list 1?

    ipmitool user set password 2 monitor123$

    hp:

    ipmitool user list 2?

    ipmitool user set password 1 monitor123$

    测试snmp:

    ipmitool-I open event 1 #发送一个温度过高的消息到System Event Log中二)针对windows操作系统,本机windows情况下,目前还未找到工具可以设置ip。三)针对带外本机已经配置了的带外机器上,如何管理,可以带外同网段管理windows机器通过IPMIView(界面方式)或ipmiOM-BMC-Dell-Web-WIN(命令方式ipmish)进行管理,linux机器通过上面第一条安装方式安装也可以管理。命令如下:远程获取服务器监控信息时,需要加上远程服务器的地址。使用以下的命令格式:ipmitool -H 10.60.237. -U root -P changeme -I lan command。其中-H表示后面跟的是服务器的地址,-U表示后面跟着用户名,-P表示后面跟着用户密码,command与本地获取信息相同。如查看下序列号:ipmitool -H $HOST -U $USER -P $PASSWD -I lan fru

    当我们在第一步中知道带外ip,带外用户密码,便可以通过一台管理机根据以上工具进行管理。

    以下为ipmitool 获取服务器信息命令:

    #!/bin/bash#测试要求如下:

    1,所有的命令都通过ipmitool命令实现

    2,所有命令都在没有操作系统的情况下测试

    HOST=$1USER=$2PASSWD=$3

    function getinfo(){

    #1.?获取到服务器的网络配置信息

    echo -e "\n\n=======Networking Configurations:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan print

    # 2.获取到服务器的温度信息

    echo -e "\n\n=======Ambient Temprature:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Ambient Temp"

    # 3.获取到服务器的功率信息

    echo -e "\n\n=======System Level:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "System Level"

    # 4.获取到服务器的序列号信息

    echo -e "\n\n=======Serial Number(Fru):"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD fru

    # 5.获取到服务器的MAC

    echo -e "\n\n=======Mac Address(only Dell):"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD delloem mac

    # 6.获取到服务器的资产号信息

    echo -e "\n\n=======Serial Number(Fru):"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "System Level"

    # 7.获取到服务器的管理卡的时间

    echo -e "\n\n=======Date and Time:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel time get

    # 8.查看管理卡配置模式

    echo -e "\n\n=======Lan set Mode:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD delloem lan get

    # 9.查看SOL波特率?echo -e "\n\n=======Volatile Bit Rate (kbps):"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol info 1

    }

    function operation(){

    1.服务器开机、关机、重启

    echo -e "\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 -e "\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 -e "\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 -e "\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 -e "\n\n=======Set IP:"

    read -p "modify oob ip, please use the current network : " oobip

    read -p "modify oob netmask : " netmask

    read -p "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 -e "\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 -e "\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 -e "\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 -e "\n\n\n=======Extra infomation:"

    cpu信息

    echo -e "\n\n=======cpu型号:"

    echo -e "\n\n=======cpu物理个数:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr elist | grep 'Status' #华为提供,貌似不准确

    echo -e "\n\n=======cpu当前频率:"

    #内存信息

    echo -e "\n\n=======内存型号:"

    echo -e "\n\n=======内存数量:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr elist | grep 'DIMM'

    #硬盘信息

    echo -e "\n\n=======硬盘品牌:"

    echo -e "\n\n=======硬盘SN:"

    echo -e "\n\n=======硬盘型号:"

    #电力

    echo -e "\n\n=======服务器当前整体功耗:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Pwr"

    echo -e "\n\n=======服务器交流实际供电电压:" #不支持或未找到

    echo -e "\n\n=======服务器直流3.3V,5V和12V实际供电电压:"

    #风扇

    echo -e "\n\n=======风扇数量和转速:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Fan"

    #温度

    echo -e "\n\n=======服务器进风口温度:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Inlet"

    echo -e "\n\n=======服务器出风口温度:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Exhaust Temp"

    echo -e "\n\n=======CPU当前温度:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Temp"

    #状态:基于收集信息异常状态的记录及展示

    echo -e "\n\n=======基于收集信息异常状态的记录及展示:"

    #网络:Mac地址

    echo -e "\n\n=======远程管理卡以及主板上所有网口的MAC地址:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan print |grep "MAC Address"

    #时间:收集管理卡当前时钟信息,以“年月日时分秒”格式显示。

    echo -e "\n\n=======收集管理卡当前时钟信息,以“年月日时分秒”格式显示。:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel time get #事件:异常事件、操作事件、登录事件记录

    echo -e "\n\n=======异常事件、操作事件、登录事件记录:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel list

    }

    function extraop(){#通过网络,命令行模式完成以下功能:

    #1, 指定特定端口PXE启动

    echo -e "\n\n=======指定特定端口PXE启动:"

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD chassis bootdev pxe #不能指定特定端口,端口指定可借助racadm等工具实现,网卡的pxe功能需要在bios中开启

    #2, 可通过管理卡启动KVM(无需登录web界面),并有相关的权限区分(可看,可操作等多种权限)

    echo -e "\n\n=======可通过管理卡启动KVM(无需登录web界面),并有相关的权限区分(可看,可操作等多种权限):" #Need config SSO, 虚拟控制台或者VNC免登陆方式?

    #可以设置管理卡的时钟、使用“年月日时分秒”格式。

    echo -e "\n\n=======可以设置管理卡的时钟、使用 年月日时分秒 格式。" #dell反馈管理卡没有时间设置,只有BIOS时间和NTP

    ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel time set

    }

    echo >$HOST-report.txtgetinfo 2>&1 |tee -a $HOST-report.txtoperation 2>&1 |tee -a $HOST-report.txtextrainfo 2>&1 |tee -a $HOST-report.txtextraop 2>&1 | tee -a $HOST-report.txt

    转载链接:https://blog.51cto.com/lysweb/2444463

    长按二维码,关注我们

    cs