其实思路特别简单,不管是BMC还是iDRAC,都支持IPMI协议,我们只需要在Linux服务器上装好IPMI工具,就能用命令行直接调用指令控制每台机器的电源。
先把需要的工具装上,不同发行版的命令稍微有点区别,CentOS直接yum就能装,Debian和Ubuntu用apt install就可以搞定。装完之后你就能直接用ipmitool命令和远程管理卡通信了。
单台机器的开机指令,其实就一行,把对应机器的管理卡IP,用户名和密码填进去就行,发个电源启动的指令,几秒钟就能收到反馈,机器直接就启动了。关机也一样,只需要把指令里的参数改一下就行。
那批量怎么弄?把所有要操作的服务器管理卡信息,挨个写到文本文件里,一行一个,然后写个简单的循环脚本,挨个读文件里的信息发指令就行。整个脚本写下来也才不到十行,完全不需要复杂的开发能力,会点基础的shell就能搞定。
脚本运行效果示意图
iDRAC其实还可以用它自带的racadm工具,效果其实和IPMI差不多,调用接口发指令就行,方式大同小异,选你用着顺手的来就可以。
有人会担心安全问题,密码直接写在脚本里会不会泄露?其实很简单,把存信息的文件权限改一下,只允许运行脚本的用户读取,放在非公开的路径下,基本就没什么大问题了,毕竟都是内网用的管理地址,外人也访问不到。