serverzone/supermicro-ipmi

Supermicro IPMI 管理连接器 - 通过 http

0.1 2019-09-13 13:46 UTC

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
  • 以及其他几款

贡献

请随时发送合并请求,我们将很高兴将它们合并。