问题标签 [ipmi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 处理 ipmitool 命令的低延迟
我试图解决在我通过 ssh 连接到的 OppenPower 机器上执行一些 ipmitool 命令时得到的非常高的延迟,并且在该机器上安装和配置了 OpenIPMI 工具。
当我执行如下命令时:
要获得当前的平均功耗,我的延迟时间约为 20 秒。
但是当我使用
然后运行这些类型的命令,然后我会得到非常好的和快速的响应时间,因为我认为内部 ipmi 会话保持活动状态。
我的目标是编写一个小脚本,例如每秒(或每 100 毫秒)发出“get-power-consumption-command”,以测量我在 C 中实现的算法的能效。
我尝试了python-ipmi,但该库仅提供通过 LAN 或串行终端的连接。但我只想直接使用它来读取 /dev/ipmi0。
有谁知道这个问题的体面解决方案?
ipmi - 通过串口使用脚本更改 supermicro BIOS 设置
我想知道如何编写一个自动更改 BIOS 设置的脚本。我一直在寻找如何编写这样的脚本,但还没有找到。
我的主要目标是从 Linux 机器上运行 putty 或 Minicom 来更新我想要的设置。
networking - 无法从 IPMI 所在的同一服务器连接到 IPMI 接口
我有一个带有 Supermicro 服务器的机架,每个服务器都带有 IPMI 接口。我可以从我的笔记本连接到任何 IPMI web/cli 界面。除了 IPMI 接口所在的 Supermicro 服务器之外,我还能够从任何 Supermicro 服务器 ping 任何 IPMI 接口。
一个更好地解释我的问题的示例:
服务器 A、B、C 可以 ping 服务器 D 的 IPMI 接口,但服务器 D 无法 ping 服务器 D 的 IPMI 接口
服务器 B、C、D 可以 ping 服务器 A 的 IPMI 接口,但是服务器 A 无法 ping 服务器 A 的 IPMI 接口
等等
看起来每个 IPMI 接口都会丢弃来自 IPMI 所在服务器的 NIC 的数据包。有人知道为什么吗?我在任何 IPMI 界面上都看不到任何设置或限制。
我需要它用于 SNMP。我想ipmitool sdr
通过 SNMP 获取信息。
ipmi - 如何使用一个命令更改 ipmi 用户
我想更改现有的用户密码。我运行了这个命令 ipmitool -I lanplus -H 192.168.1.1 -U USER -P 'PASSWORD' 用户设置密码 10 "&UJM2wsx"
我收到错误 IPMI 命令失败:超出请求数据字段长度限制 设置用户密码命令失败(用户 10)
当我最后运行相同的命令而没有密码时,我被提示输入两次密码并且它起作用了。有没有办法将密码两次回显到 ipmitool 用户设置密码命令?
ps 我试图删除用户并重新创建它,但只有来自 web gui 的 cli 没有删除选项
ipmi - 基板管理控制器 (BMC) 如何与主机通信?
我可以使用 ipmitool 关闭服务器。但是 BMC 是如何向 Host OS 发起关闭命令的呢?两者在内部是如何连接的?
还有当主机断电时,bmc如何打开机器?我假设它能够在机器开启时与操作系统通信,而在机器关闭时它不能这样做。那么BMC如何开启主机
python - 如何在前一个会话超时后通过 pyghmi.impi.command.Command 打开一个新的 pyghmi 会话?
我在使用pyghmi
python 库时遇到了一些问题,该库用于使用 python 脚本发送 IPMI 命令。我的目标是实现一个 HTTP API 以通过 HTTP 请求发送 IPMI 命令。
我已经能够创建一个会话并使用库发送一些命令,但如果会话保持空闲 30 秒,它会自行注销。当 Session 注销时,我无法创建一个新的:我收到错误“会话已注销”或死锁。
如果我想拥有一台始终处于启动状态的服务器并在收到请求时创建 Session,如果在前一个会话注销时我无法创建新会话,我该怎么办?
我试过的:
另一个问题是我不能通过在command.Command()
调用中提供“onlogon 回调”函数来使用异步方式,因为我需要调用者中的回调返回值,而这种线程行为是不可能的。
编辑:我已经尝试过这里提供的一些示例,但它始终是一次性运行脚本,而我正在寻找可以永远“保持”状态的东西。
python - 通过 Paramiko 连接 SSH ipmi 时出现“糟糕,未处理的类型 3('未实现')”
我在这段代码中通过 paramiko 连接到 ipmi 服务器时遇到问题:
在此之后,看起来连接已正确建立:
但是在尝试启动交互式会话时,脚本会冻结并给出错误:
但我可以与ssh
. 来自的输出ssh -vvv user@host
:
linux - 什么是 OpenIPMI 以及如何使用它?
我在名为 openipmi 的 Ubuntu repo 包中找到,它是什么以及如何使用这个包?是 IPMI 模拟器还是什么?以及如何连接到 OpenIPMI?
linux-device-driver - 如何通过 I2C 发送 IPMI 命令?
我正在考虑尝试ipmitool
在 I2C 上运行,并想知道这是否受支持。我有一个树莓派通过 I2C 连接到另一个具有 BMC 的设备。我有可用于写入 I2C 命令的字符设备/dev/i2c-1
,但我希望能够发送 IPMI 命令,例如使用ipmitool
.
如果我将 Pi 和其他系统都连接到同一个网络,我仍然可以通过 ipmitool 的lanplus
接口发送命令,但这不是我想要做的。我想看看是否可以通过 I2C 发送它们。
我运行的大多数命令ipmitool
似乎都试图打开/dev/ipmi-N
我的树莓派上不存在的文件。我检查了内核中的驱动程序支持以获取它(https://www.kernel.org/doc/html/latest/driver-api/ipmi.html)并确保我的内核具有ipmi_msghandler
, ipmi_devintf
, 并ipmi_ssif
编译到其中。但仍然没有运气。我怀疑问题是我没有ipmi_ssif
在内核命令行上正确配置驱动程序。我在正确的道路上吗?我确定了 i2c 地址,i2cdetect -y 1
它显示为0x10
. 转储文件cat /sys/class/i2c-adapter/i2c-1/name
显示我的适配器是bcm2835
. 这导致我尝试添加ipmb_ssif.addr=0x10 ipmi_ssif.adapter=bcm2835 ipmi_ssif.dbg=1,2,4,8 ipmi_ssif.dbg_probe=1
到内核命令行。但是,我没有为ipmi_ssif.slave_addrs
、ipmi_ssif.tryacpi
或ipmi_ssif.trydmi
诚然,这可能是我的问题。我不知道它是否也可能只是树莓派的某些东西,也许没有对此或某些东西的支持。有任何想法吗?
我也尝试了驱动程序ipmi_si
,虽然 Pi 似乎没有对此的硬件支持。我怀疑这是试图在本地访问 BMC,而不是尝试通过 I2C。自从ipmi_ssif
谈到通过 SMBus 看起来就像我想要的那样。
我还查看了一些其他ipmitool
支持的接口,并使用 ipmb-dev-int 驱动程序(https://www.kernel.org/doc/html/latest/driver-api/ ipmb.html),因为这看起来也很有希望,最初将其误认为是 imb 接口。但它看起来不像ipmitool
是一个接口。但也许还有另一个可能是我想做的更好的选择。也许可以使用免费界面freeipmi
?
任何想法将不胜感激!