用户需求:批量升级Gen8/Gen9/Gen10 服务器的IP版本
软件版本: ilorest-2.3.X以上版本
系统版本:
Red Hat Enterprise Linux 5 Server (x86-64)
Red Hat Enterprise Linux 6 Server (x86-64)
Red Hat Enterprise Linux 7 Server
SUSE Linux Enterprise Server 11 (AMD64/EM64T)
SUSE Linux Enterprise Server 12
用户需要批量刷新HPE ProLiant Gen8/Gen9/Gen10服务器的IP版本
1. 在HPE官网下载最新ilorest工具,安装在任意redhat5/6/7或者suse11/12的linux系统上。
https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX_f738de6ff67a44579ba3bda458#tab-history
安装命令:rpm -ivh ilorest-2.3.3-7.x86_64.rpm
2. 上传shell脚本和到linux系统,并赋予可执行权限
chmod +x update_ip.sh
3. 修改iloinfo.csv里面的ilo信息为用户实际信息,并将该文件也上传到linux系统,举例如下:
其中第一列为iLO的IP地址,第二列为iLO的用户名,第三列为iLO的密码。
[root@localhost ~]# cat iloinfo.csv
ip,user,password
10.12.XX.XX,Administrator,password
10.12.XX.XX,Administrator,password
4. 脚本内容与执行脚本:
#!/bin/bash
#author="xiaojing.zhao@h3c.com"
#script="Batch Update IP"
#date=`date +%F.%T`
update_ip ()
{
echo -e "\n================================iLO "$IP"--update Intelligent ProvisiOning==================================" >> out.log
ilorest list --select HpServerBootSettings. -u "$USER" -p "$PASSWD" --url="$IP" | awk "/PersistentBootConfigOrder/,/Type=HpServerBootSettings/{if(i>=1)print x;x=$0;i++}" >> out.log
ilorest set PersistentBootCOnfigOrder=[CD.Virtual.2.1] --select HpServerBootSettings. --commit -u "$USER" -p "$PASSWD" --url="$IP" >> out.log
ilorest virtualmedia 2 http://10.12.175.64/FW/IP322.2019_0124.3.iso --bootnextreset -u "$USER" -p "$PASSWD" --url="$IP" >> out.log
ilorest reboot ForceRestart -u "$USER" -p "$PASSWD" --url="$IP" >> out.log
}
for LINE in `cat iloinfo.csv | sed "1d"`
do
IP=`echo $LINE | awk -F, "{print $1}"`
USER=`echo $LINE | awk -F, "{print $2}"`
PASSWD=`echo $LINE | awk -F, "{print $3}"`
#echo "test" $IP
update_ip
echo "Intelligent Provisioning is starting to update !"
done
执行脚本命令 ./update_ip.sh
执行脚本后可以登录iLO remove console查看刷新进度(自动刷新)。
5. 可以查看日志执行情况,在shell脚本的同路径下有个out.log文件
cat out.log
6. 到ilo界面查看验证刷新的IP版本
ilorest virtualmedia 2 http://10.12.175.64/FW/IP322.2019_0124.3.iso --bootnextreset -u "$USER" -p "$PASSWD" --url="$IP" >> out.log
--这里的http web服务器是需要自行配置的,然后将SPP的镜像文件放到http web服务器即可。其中--bootnextreset参数表示下次启动自动reset。
ilorest set PersistentBootCOnfigOrder=[CD.Virtual.2.1] --select HpServerBootSettings.
这条语句是将CD-ROM设置为第一启动项 (one time boot settings)。
--脚本中我以Gen10为例,Gen9也同样适用,只需要将http链接中IP镜像更换为Gen9版本的即可。
--如果是Gen8的话(Legacy Mode),默认one time boot settings是只读,无需修改,CD-ROM默认是第一启动项。
Gen8完整脚本如下,执行方法都一样。
#!/bin/bash
#author="xiaojing.zhao@h3c.com"
#script="Batch Update IP"
#date=`date +%F.%T`
update_ip ()
{
echo -e "\n================================iLO "$IP"--update Intelligent ProvisiOning==================================" >> out.log
ilorest virtualmedia 2 http://10.12.175.64/FW/IP322.2019_0124.3.iso --bootnextreset -u "$USER" -p "$PASSWD" --url="$IP" >> out.log
ilorest reboot ForceRestart -u "$USER" -p "$PASSWD" --url="$IP" >> out.log
}
for LINE in `cat iloinfo.csv | sed "1d"`
do
IP=`echo $LINE | awk -F, "{print $1}"`
USER=`echo $LINE | awk -F, "{print $2}"`
PASSWD=`echo $LINE | awk -F, "{print $3}"`
#echo "test" $IP
update_ip
echo "Intelligent Provisioning is starting to update !"
done
该案例对您是否有帮助:
您的评价:1
若您有关于案例的建议,请反馈:
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作