首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何管理数百个IPMI BMC?

如何管理数百个IPMI BMC?
EN

Server Fault用户
提问于 2013-08-07 18:28:17
回答 1查看 8.1K关注 0票数 31

我有200多台电脑,可以提供IPMI服务。服务器由几家不同的公司(SuperMicro、Dell等)制造,大约有5家不同供应商的6-7个BMC型号,每种型号都有自己的特点。

到目前为止,我们已经通过使用DHCP和手动配置每个BMC来配置BMC。手动配置可以使用可引导的CD-ROM、来自BIOS的配置(如果支持的话)、使用依米托醇飞天等实用工具的主机操作系统,或者远程使用ipmitool (如果我们可以确定设备的网络地址)。

但是,这种手动配置相当繁琐。在某些情况下,我们希望更改所有BMC的全局设置,这要求管理员对数十个框运行命令。由于BMC是由不同的供应商提供的,而且每个BMC模型都可能有自己的特性,所以相同的命令并不总是适用于所有的BMC。

有什么实用工具可以让我在几十个盒子上大量配置BMC吗?假设我想查询数十个不同BMC上的参数,或者更改密码、禁用对WebUI的HTTP访问或禁用臭名昭著的密码零安全漏洞。

任何允许我更新BMC固件的实用程序的额外积分,这对于减轻几个安全漏洞是必要的。

EN

回答 1

Server Fault用户

发布于 2013-08-09 10:47:33

我编写了一个小型python工具,在我们的1000台机器上运行命令(以及它们的bmc,drac,劳工组织和imm的)

我所做的就是编写一个称为vsc-管理的python,在这里我可以运行命令,或者发送到服务器或bmc,然后配置哪种类型的机器需要什么命令。

我有几个类组合了这些命令的混合,

因此,对于具有imm的机器,它将ssh到imm,并运行power off (以一种预期脚本的方式)。

对于我们的imb刀片底盘,它将运行在底盘上

代码语言:javascript
运行
复制
power -%(command)s -T system:blade[%(blade)s]

对于一些戴尔dracs,它将在(主节点的) os上运行此命令。

代码语言:javascript
运行
复制
idracadm -r %(hostname)s -u root -p '%(password)s' serveraction %(command)s

对于我们新的执行ipmi的hp系统(我现在看到越来越多),它将在主服务器上运行如下:

代码语言:javascript
运行
复制
ipmitool -I lanplus -H %(hostname)s -U %(user)s -P '%(password)s' chassis power %(command)s

或者较新的戴尔系统需要ipmitool -I open,您可能需要稍微玩一下协议。

对于未包括在ipmi标准中的设置,我从DMTF粉碎中电中实现了一些东西,例如打开引导的定位器:

代码语言:javascript
运行
复制
start /system1/led1

所有这些都可以在我们的笔记本电脑上运行的命令行工具中运行,它将连接到正确的主节点,为正确的节点运行正确的命令,并返回输出,如果有错误,则返回额外的错误列表(基于stderr和/或exitcode上的输出)。

事实证明,这非常方便,现在添加对新硬件类的支持相对容易(由于大多数供应商现在确实完全支持ipmi和DMTFSMASHCLP )。

这不适合初始配置(它需要bmc拥有唯一的ip和正确的网关,但这正是我们的供应商需要在交付时提供给我们的),但几乎可以执行任何其他操作(也可以在主机操作系统上运行任意命令,并在重新启动节点时自动安排icinga/nagios中的停机时间,并/或同时在icinga/nagios中确认1000台主机和服务)。

更新bmc固件并增加对我们交换机的支持是计划中的未决问题。

更新

因为至少有一些人对此感兴趣,所以我今天对它做了最后的改进,并在https://github.com/hpcugent/vsc-manage上开源了

虽然这很大程度上是针对我们自己的工作流程(quattor和/或pbs),但我希望它至少可以是有趣的。

票数 13
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/529399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档