服務器帶外管理

 日常運維中,我們可能接收別人移交的設備,但由於很多原因,之前的人都未記錄相關服務器序列號,未設置的帶外地址及帶外管理的用戶密碼等情況,服務器又不能停機維護,有沒有辦法不重啓的情況下,獲取到相關信息呢,答案是肯定的。

    一)針對linux系統,如操作系統支持yum,則直接yum install -y ipmitool安裝便可,如不支持yum,需要http://ipmitool.sourceforge.net/下載tar.gz包上傳到服務器,下面舉例:
    ipmitool-1.8.18.tar.gz安裝。
  1. 下載ipmitool:http://ipmitool.sourceforge.net/
  2. 確定gcc工具已經安裝好
  3. 在Linux系統上加載啓用IPMI驅動:
    insmod /lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/char/ipmi/ipmi_msghandler.ko
    insmod /lib/modules/2.6.32-220.el6.x86_64/kernel/drivers/char/ipmi/ipmi_devintf.ko
    insmod /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.gz
    tar 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=$1
USER=$2
PASSWD=$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.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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章