ilo管理脚本 hponcfg方式

15 篇文章 0 订阅
1 篇文章 0 订阅

使用方法:

在需要初始化ilo的机器上执行
chmod +x IloInstall.sh && bash IloInstall.sh

兼容性

centos6/7/8
Redhat6/7/8
Ilo版本1/2/3/4/5

功能:

  1. 自动升级 ilo到最新版本,如果有新的版本,可以去脚本中替换
    ilo1
    CP023365.scexe
    ilo2
    CP035238.scexe
    ilo3
    CP046328.scexe
    ilo4
    CP046465.scexe
    ilo5
    firmware-ilo5-1.48-1.1.x86_64.rpm
    firmware-ilo5-2.44-1.1.x86_64.rpm

  2. 自动初始化ilo地址,为172.16.*** (***是生产IP的后两个,例如生产ip是192.168.8.8,ILO地址就是172.16.8.8)

  3. 自动初始化ILO的账户密码,账户为Administrator,密码为Abc***(***为ilo地址,例如172.16.8.8 的密码为Abc172.16.8.8)

  4. 自动初始化ILO主机的名字为生产IP,方便后期在Oneview中管理

所有需要的包都在

https://download.csdn.net/download/qq_26129413/24158650
#!/bin/bash
## 2021-9-22
_Red="\033[31m#"
_Green="\033[32m#"
_End="\033[0m"

wget http://192.168.1.8/hponcfg-5.5.0-0.x86_64.rpm  ###把包都放在了一台内网nginx服务器上,方便下载
wget http://192.168.1.8/linux-LOsamplescripts5.20.0.tgz ###下载hponcfg的配置文件
tar zxf /root/linux-LOsamplescripts5.20.0.tgz -C /mnt/ && rpm -ivh hponcfg-5.5.0-0.x86_64.rpm >/dev/null 2>&1  ###安装hponcfg 并把配置文件解压到/mnt下

### IloInitialize 是初始化动作,包含修改ilo地址 修改用户名密码等
IloInitialize(){

#ILONAME=$(ifconfig $( ip route show | awk '/default/ { print $5 }' ) |sed -n 2p |awk -F ' ' '{print$2}')
ILONAME=$(ifconfig $( ip route show | awk '/default/ { print $5 }' ) |sed -n 2p |awk -F ' ' '{print$2}' |sed 's/.*://')
if [[ $? -eq 0 ]];then
    echo -e "$_Green 生产IP获取成功  $_End"; 
    sleep 0.5;
else
    echo -e "$_Red 生产IP获取失败  $_End";
    exit;
fi

ILOCODE=ILO$(dmidecode -t system|grep 'Serial Number'|awk '{print $3}')
if [[ $? -eq 0 ]];then
    echo -e "$_Green SN号获取成功  $_End";
    sleep 0.5;
else
    echo -e "$_Red SN号获取失败  $_End";
    exit;
fi
ILOIP=172.16.$(ifconfig $( ip route show | awk '/default/ { print $5 }' ) |sed -n 2p |awk -F ' ' '{print$2}'|awk -F '.' '{print $3"."$4}')
if [[ $? -eq 0 ]];then
    echo -e "$_Green ILO地址获取成功  $_End"; 
    sleep 0.5; 
else
    echo -e "$_Red ILO地址获取失败  $_End";
    exit;
fi


cat << EOF > /mnt/Administrator_reset_pw.xml
<!--         RIBCL Sample Script for HPE Lights-Out Products         -->
<!--  Copyright 2003,2016 Hewlett Packard Enterprise Development LP  -->

<!-- Description: This is a sample XML script to set the default     -->
<!--              Administrator account password using HPONCFG.EXE.  -->

<!-- NOTE:  You will need to replace the USER_LOGIN and PASSWORD     -->
<!--        and other values inside the quotation marks with values  -->
<!--        that are appropriate for your environment.               -->

<!--        Use this script with HPONCFG to install a known password -->
<!--        for the Administrator account.  HPONCFG requires that you-->
<!--        log into Windows or Linux with administrator or root     -->
<!--        credentials.                                             -->

<!--        Note that this assumes that there is an Administrator    -->
<!--        account because it is not intended to create one.  The   -->
<!--        LOGIN credentials are ignored when used with HPONCFG.    -->

<!--        After this script has been used successfully with HPONCFG-->
<!--        you may login using the credentials: "Administrator" and -->
<!--        "password".                                              -->

<!--        Use HPQLOCFG.EXE v1.00 or greater with this script.      -->

<!--        See "iLO Scripting and Command Line Guide" for more      -->
<!--        information on scripting and the syntax of the RIBCL     -->
<!--        XML.                                                     -->

<!--        Firmware support information for this script:            -->
<!--            iLO 5 - All versions.                                -->
<!--            iLO 4 - All versions.                                -->
<!--            iLO 3 - All versions.                                -->

<RIBCL VERSION="2.0">
   <LOGIN USER_LOGIN="adminname" PASSWORD="password">
      <USER_INFO MODE="write">
         <MOD_USER USER_LOGIN="Administrator">
            <PASSWORD value="pmphilo$ILOIP"/>
         </MOD_USER>
      </USER_INFO>
   </LOGIN>
</RIBCL>
EOF
sleep 0.5
hponcfg -f /mnt/Administrator_reset_pw.xml 

sleep 0.5



cat << EOF > /mnt/Mod_Network_Settings.xml
<!--         RIBCL Sample Script for HPE Lights-Out Products         -->
<!--  Copyright 2003,2017 Hewlett Packard Enterprise Development LP  -->

<!-- Description:  This is a sample XML script to configure the      -->
<!--               network settings for Integrated Lights-Out(iLO).  -->

<!-- NOTE:  You will need to replace the USER_LOGIN and PASSWORD     -->
<!--        and other values inside the quotation marks with values  -->
<!--        that are appropriate for your environment.               -->

<!--        Double check all values before executing this script.    -->
<!--        Incorrect or mismatched network settings may cause you   -->
<!--        to lose the ability to connect to your Lights-Out device.-->

<!--        Use HPQLOCFG.EXE v1.00 or greater with this script.      -->

<!--        See "iLO Scripting and Command Line Guide" for more      -->
<!--        information on scripting and the syntax of the RIBCL     -->
<!--        XML.                                                     -->

<!--        Firmware support information for this script:            -->
<!--            iLO 5 - All versions                                 -->
<!--            iLO 4 - All versions.                                -->
<!--            iLO 3 - All versions.                                -->

<RIBCL VERSION="2.0">
   <LOGIN USER_LOGIN="adminname" PASSWORD="password">
      <RIB_INFO MODE="write">
         <MOD_NETWORK_SETTINGS>           
            <ENABLE_NIC value="Yes"/>
            <REG_DDNS_SERVER value="Yes"/>
            <PING_GATEWAY value="Yes"/>
            <DHCP_DOMAIN_NAME value="Yes"/>            
            <SPEED_AUTOSELECT value="YES"/>
            <NIC_SPEED value="100"/>
            <FULL_DUPLEX value="Yes"/>
            <DHCP_ENABLE value="No"/>
            <IP_ADDRESS value="$ILOIP"/>
            <SUBNET_MASK value="255.255.0.0"/>
            <GATEWAY_IP_ADDRESS value="0.0.0.0"/>
            <DNS_NAME value="$ILOCODE"/>
            <DOMAIN_NAME value=""/>
            <DHCP_GATEWAY value="Yes"/>
            <DHCP_DNS_SERVER value="Yes"/>
            <DHCP_WINS_SERVER value="Yes"/>
            <DHCP_STATIC_ROUTE value="Yes"/>
            <REG_WINS_SERVER value="Yes"/>
            <PRIM_DNS_SERVER value="0.0.0.0"/>
            <SEC_DNS_SERVER value="0.0.0.0"/>
            <TER_DNS_SERVER value="0.0.0.0"/>
            <PRIM_WINS_SERVER value="0.0.0.0"/>
            <SEC_WINS_SERVER value="0.0.0.0"/>
            <STATIC_ROUTE_1 DEST="0.0.0.0" MASK="0.0.0.0" GATEWAY="0.0.0.0"/>
            <STATIC_ROUTE_2 DEST="0.0.0.0" MASK="0.0.0.0" GATEWAY="0.0.0.0"/>
            <STATIC_ROUTE_3 DEST="0.0.0.0" MASK="0.0.0.0" GATEWAY="0.0.0.0"/>
            <!-- This tag can be used on an iLO blade server to force iLO  -->
            <!-- to attempt to get an IP address from the signal backplane -->
            <!-- in a server enclosure.  The IP address must be set prior  -->
            <!-- with Mod_Enc_Bay_IP_Settings.xml                          -->
            <ENCLOSURE_IP_ENABLE VALUE="Yes"/>
            <DHCP_SNTP_SETTINGS value="Yes"/>
            <SNTP_SERVER1 value="172.16.1.111"/>
            <SNTP_SERVER2 value=""/>
            <TIMEZONE value="America/Caracas"/>
            <!--            iLO 5 - All versions.                          -->
            <!--            iLO 4 - Version 1.20 or later                  -->
            <!--            iLO 3 - Version 1.50 or later.                 -->
            <!--
            <IPV6_ADDRESS VALUE="2001:DB8:2:1::15" PREFIXLEN="64"/>
            <IPV6_ADDRESS VALUE="2001:DB8:2:2::15" PREFIXLEN="64"/>
            <IPV6_ADDRESS VALUE="FC00:DB8:2:3::15" PREFIXLEN="64"/>
            <IPV6_ADDRESS VALUE="FC00:DB8:2:2::15"
                          PREFIXLEN="64"
                          ADDR_SOURCE="STATIC"
                          ADDR_STATUS="ACTIVE"/>
            <IPV6_STATIC_ROUTE_1
                          IPV6_DEST="::"
                          PREFIXLEN="0"
                          IPV6_GATEWAY="::"
                          ADDR_STATUS="INACTIVE"/>
            <IPV6_STATIC_ROUTE_2
                          IPV6_DEST="::"
                          PREFIXLEN="0"
                          IPV6_GATEWAY="::"
                          ADDR_STATUS="INACTIVE"/>
            <IPV6_STATIC_ROUTE_3
                          IPV6_DEST="2001:DB8:2002:3003::"
                          PREFIXLEN="64"
                          IPV6_GATEWAY="2001:DB8:1::40"
                          ADDR_STATUS="ACTIVE"/>
            <IPV6_PRIM_DNS_SERVER VALUE="2001:DB8:2:1::13"/>
            <IPV6_SEC_DNS_SERVER VALUE="::"/>
            <IPV6_TER_DNS_SERVER VALUE="::"/>
            <IPV6_DEFAULT_GATEWAY VALUE="::"/>
            <IPV6_PREFERRED_PROTOCOL VALUE="Y"/>
            <IPV6_ADDR_AUTOCFG VALUE="Y"/>
            <IPV6_REG_DDNS_SERVER VALUE="Y"/>
            <SNTP_SERVER1 VALUE="2001:DB8:2:1::13"/>
            <SNTP_SERVER2 VALUE="2001:DB8:1::13"/>
            -->
            <!--            iLO 5 - All versions.                          -->
            <!--            iLO 4 - Version 1.30 and later.                -->
            <!--            iLO 3 - Version 1.60 and later.                -->
            <!--
            <DHCPV6_STATELESS_ENABLE VALUE="Y"/>
            <DHCPV6_STATEFUL_ENABLE VALUE="Y"/>
            <DHCPV6_RAPID_COMMIT VALUE="N"/>
            <DHCPV6_SNTP_SETTINGS VALUE="N"/>
            <DHCPV6_DNS_SERVER VALUE="Y"/>
            -->
            <!--            iLO 5 - All versions.                          -->
            <!--            iLO 4 - Version 1.50 and later.                -->
            <!--            iLO 3 - Version 1.80 and later.                -->
            <!--
            <DHCPV6_DOMAIN_NAME VALUE="Y"/>
            -->
            <!--            iLO 5 - All versions.                          -->
            <!--            iLO 4 - Version 2.00 and later                 -->
            <!--  VALUES "DISABLED" "LINKACT" "RCVDATA" "DHCP"             -->
            <!--
            <ILO_NIC_AUTO_SELECT VALUE="DISABLED"/>
            -->
            <!--            iLO 5 - All versions.                          -->
            <!--            iLO 4 - Version 2.40 and later                 -->
            <!--  VALUES "0" =off, or "2" =Scan ports 1 and 2              -->
            <!--
            <ILO_NIC_AUTO_SNP_SCAN VALUE="0"/>
            -->
            <!--            iLO 5 - All versions.                          -->
            <!--            iLO 4 - Version 2.40 and later                 -->
            <!--  VALUES "90" through "1800" seconds                       -->
            <!--
            <ILO_NIC_AUTO_DELAY VALUE="90"/>
            -->
            <!--            iLO 5 - All versions.                          -->
            <!--            iLO 4 - Version 2.40 and later                 -->
            <!--  VALUES "DISABLED" "LINKACT" "RCVDATA" "DHCP"             -->
            <!--  To specify a value here other than disabled, the         -->
            <!--   ILO_NIC_AUTO_SELECT tag must also be present and        -->
            <!--   specifying a value other than disabled.                 -->
            <!--
            <ILO_NIC_FAIL_OVER VALUE="DISABLED"/>
            -->
            <!--            iLO 5 - All versions.                          -->
            <!--            iLO 4 - Version 2.40 and later                 -->
            <!--  VALUES "30" through "3600" seconds                       -->
            <!--
            <ILO_NIC_FAIL_OVER_DELAY VALUE="300"/>
            -->
         </MOD_NETWORK_SETTINGS>
      </RIB_INFO>
   </LOGIN>
</RIBCL>
EOF
sleep 0.5
hponcfg -f /mnt/Mod_Network_Settings.xml
sleep 0.5




cat << EOF > /mnt/Set_Server_Name.xml
<!--         RIBCL Sample Script for HPE Lights-Out Products         -->
<!--  Copyright 2003,2016 Hewlett Packard Enterprise Development LP  -->

<!-- Description: This is a sample XML script to set the host server -->
<!--               name.                                             -->

<!-- NOTE:  You will need to replace the USER_LOGIN and PASSWORD     -->
<!--        values with values that are appropriate for your         -->
<!--        environment.                                             -->

<!--        Use HPQLOCFG.EXE v1.00 or greater with this script.      -->

<!--        See "iLO Scripting and Command Line Guide" for more      -->
<!--        information on scripting and the syntax of the RIBCL     -->
<!--        XML.                                                     -->

<!--        Firmware support information for this script:            -->
<!--            iLO 5 - All versions                                 -->
<!--            iLO 4 - All versions.                                -->
<!--            iLO 3 - All versions.                                -->

<RIBCL VERSION="2.0">
   <LOGIN USER_LOGIN="adminname" PASSWORD="password">
      <SERVER_INFO MODE="write">
         <SERVER_NAME value ="$ILONAME"/>
      </SERVER_INFO>
   </LOGIN>
</RIBCL>
EOF
sleep 0.5
hponcfg -f /mnt/Set_Server_Name.xml
sleep 1

DATE=$(date -d "1 minute ago")
echo  "生产IP是 $ILONAME ILO登录IP是 $ILOIP ILO物理机编号 $ILOCODE 登录账号 Administrator 登录密码 pmphilo$ILOIP 安装日期 $DATE" >/root/$ILONAME


}


### 下面是检测ilo版本,并升级到最新版
ilo1(){
echo "$_Green 准备升级 ilo1 $_End"
wget http://192.168.1.8/CP023365.scexe
echo "y" | bash CP023365.scexe
sleep 5
IloInitialize
}

ilo2(){
echo "$_Green 准备升级 ilo2 $_End"
wget http://192.168.1.8/CP035238.scexe
echo "y" | bash CP035238.scexe
sleep 5
IloInitialize
}

ilo3(){
echo "$_Green 准备升级 ilo3 $_End"
wget http://192.168.1.8/CP046328.scexe
echo "y" | bash CP046328.scexe
sleep 5
IloInitialize
}

ilo4(){
echo "$_Green 准备升级 ilo4 $_End"
wget http://192.168.1.8/CP046465.scexe
echo "y" | bash CP046465.scexe
sleep 5
IloInitialize
}

ilo5(){
echo "$_Green 准备升级 ilo5 $_End"
wget http://192.168.1.8/firmware-ilo5-1.48-1.1.x86_64.rpm
rpm2cpio firmware-ilo5-1.48-1.1.x86_64.rpm  |cpio -idmv
echo "y" | bash /root/usr/lib/x86_64-linux-gnu/firmware-ilo5-1.48-1.1/setup
sleep 5

wget http://192.168.1.8/firmware-ilo5-2.44-1.1.x86_64.rpm
rpm2cpio firmware-ilo5-2.44-1.1.x86_64.rpm  |cpio -idmv
echo "y" | bash /root/usr/lib/x86_64-linux-gnu/firmware-ilo5-2.44-1.1/setup
sleep 5
IloInitialize
}

VersionError(){
echo "$_Red ilo 版本查询错误 $_End"
}

iloversion=$(hponcfg  -v |awk 'NR==3{print $9}')
case $iloversion  in
1)
    ilo1
    ;;
2)
    ilo2
    ;;
3)
    ilo3
    ;;
4)
    ilo4
    ;;
5)
    ilo5
    ;;
*)
    VersionError
esac

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

king config

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值