serverzone / supermicro-ipmi
Supermicro IPMI 管理连接器 - 通过 http
0.1
2019-09-13 13:46 UTC
Requires
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- nette/tester: ^2.3
- ninjify/qa: ^0.9.0
This package is auto-updated.
Last update: 2024-09-20 14:50:40 UTC
README
这个库是基于 GuzzleHttp 的 Supermicro 服务器的控制类。
我们编写基于 Web 的包装类的初衷是因为缺乏对 IPv6 上 IPMI 协议的支持。随着我们向仅 IPv6 网络发展,我们希望在管理卡上移除 IPv4 地址。然而,Supermicro 支持通过 IPv6 的 Web 界面,这就是这个库的由来。
请仅在无 redfish 支持的旧服务器上使用此库。Redfish 协议应解决已弃用的 IPMI 协议问题,并且应该已经可以通过 IPv6 访问。
安装
composer require serverzone/supermicro-ipmi
用法
初始化
<?php require __DIR__ . '/vendor/autoload.php'; $instance = new ServerZone\SupermicroIpmi\Client('my-ipmi.local', 'ADMIN', 'ADMIN'); $instance = new ServerZone\SupermicroIpmi\Client('192.168.0.1', 'ADMIN', 'ADMIN'); $instance = new ServerZone\SupermicroIpmi\Client('[2001:db8::1]', 'ADMIN', 'ADMIN');
电源状态
var_dump($instance->getPowerStatus());
功耗读取
var_dump($instance->getPowerConsumption());
开机
$instance->powerOn();
关机
$instance->powerOff();
重启
$instance->powerReset();
传感器读取
foreach($i->getSensors() as $row) { printf("%20s %8s %10s %10s\n", $row->getName(), $row->getValue(), $row->getUnits(), $row->getStatus(), $row->getLimit('UNC')); }
测试
此库已在我们的可用服务器上进行测试
- X9SCL-F
- X9SRW-F
- X11SSL-F
- 以及其他几款
贡献
请随时发送合并请求,我们将很高兴将它们合并。