Skip to content

ipmi批量操作服务器

前提

具备python环境,且具备impi软件环境;(windows版ipmi记得要把其路径添加到环境变量里去)

1、查看机器电源状态

v1-原始版

ip.txt

bash
/服务器带外ip//服务器带外ip/

ipmi_powerStatus.py

bash
importosimporttimefori inopen(r'ip.txt'):ip=i.split("/")[1]print(ip)os.system("ipmitool -I lanplus -H "+ip+"-U 服务器带外账号 -P 服务器带外密码 power status") time.sleep(1)time.sleep(100)

v2-增加单条impi命令-2023.2.28

ip.txt

https:/服务器带外ip/

ipmi_powerStatus.py

https:importtimefori inopen(r'ip.txt'):ip=i.split("/")[1]print(ip)os.system("ipmitool -I lanplus -H "+ip+"-U admin -P 服务器带外密码 power status") # ipmitool -I lanplus -H 10.10.10.10 -U admin -P "服务器带外密码"power statustime.sleep(1)time.sleep(100)

2、批量从pxe启动脚本

v1-2023.11.23

ip.txt

https:importtimefori inopen(r'ip.txt'):ip=i.split("/")[1]print(ip)os.system("ipmitool -I lanplus -H "+ip +"-U admin -P 123456 chassis bootdev pxe") #从PXE启动time.sleep(1)os.system("ipmitool -I lanplus -H "+ip +"-U admin -P 123456 power reset") #重启time.sleep(100)

shell版从pxe启动

  • 代码:
shell
[root@docusaurus-wiki shell_pxe]# cat ip.txt /物理机带外ip//物理机带外ip/[root@docusaurus-wikishell_pxe]#catipmi_pxe_shell.sh#!/bin/bashfori in`cat /root/ipmi_ip.txt`doimpitool-H"$i"-Ilanplus-Uroot-P123456chassisbootdevpxe&&impitool-H"$i"-Ilanplus-Uroot-P123456powerreset&>/dev/nullif[$?-ne0];thenecho$i Errorelseecho&iOKdone[root@docusaurus-wiki shell_pxe]#
  • 代码位置:

https:importtimefori inopen(r'ip.txt'):ip=i.split("/")[1]print(ip)# os.system("ipmitool -I lanplus -H "+ ip + "-U admin -P 123456 chassis bootdev pxe") #从PXE启动# time.sleep(1)os.system("ipmitool -I lanplus -H "+ip +"-U admin -P 123456 power reset") #重启os.system("ipmitool -I lanplus -H "+ip +"-U admin -P 123456 power on") #开机os.system("ipmitool -I lanplus -H "+ip +"-U admin -P 123456 power off") #关机time.sleep(100)

4、批量修改服务器带外密码

v1-2023.11.23

ip.txt

https:importtimefori inopen(r'ip.txt'):ip=i.split("/")[1]print(ip)os.system("ipmitool -H "+ip +"-I lanplus -U admin -P 123456 user set password <user id>新密码") time.sleep(1)time.sleep(100)

v2-2024.4.5

脚本位置:

https:total16-rw-rw-rw-1rootroot1418Nov172021changePassword.py-rw-rw-rw-1rootroot10268Apr514:32shanghai.xlsx[root@docusaurus-wiki v2-2024.4.5]#

changePassword.py

shanghai.xlsx

image-20240405143431778

5、dell服务器修改带外ntp脚本

  • 脚本位置

https:importtimeimportparamikofori inopen(r'ip.txt'):ip=i.replace('\n','')print(ip)ssh =paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(hostname=ip,port=22,username='root',password='123456')stdin,stdout,stderr =ssh.exec_command("racadm set iDRAC.ntPConfigGroup.NTP1 192.168.1.1")stdin,stdout,stderr =ssh.exec_command("racadm set iDRAC.ntPConfigGroup.NTP2 192.168.1.2")#stdin,stdout,stderr =ssh.exec_command("testtrap -i 1")#stdin,stdout,stderr =ssh.exec_command("testtrap -i 2")ssh.close()print("ok")time.sleep(100)

R730

c6320

image-20220804093202727

image-20240329125124353