BMC manager - модуль расширения, предназначенный для обеспечения функционала управления и мониторинга оборудования (в том числе и на BMC устройства).
-
Мониторинг и сбор данных включает в себя:
- Сбор справочной информации устройства (модель, вендор, серийный номер, ОС, сетевые интерфейсы);
- Сбор информации о дисках устройства;
- Сбор статистической информации о оперативной памяти устройства;
- Сбор инвентарной информации о оперативной памяти устройства;
- Сбор статистической информации о процессорах устройства;
- Сбор инвентарной информации о процессорах устройства;
- Сбор информации и оповещение о событиях устройства;
- Сбор инвентарной информации устройства;
- Сбор статуса доступности устройства;
- Сбор статуса питания устройства;
- Сбор значения энергопотребления устройства;
- Сбор значений сенсоров устройства;
- Сбор информации о версиях прошивок bmc/bios;
- Сбор текущего статуса BMC устройства;
- Сбор текущего перечня PCI устройств оборудования;
- Сбор значения температуры всех устройств;
- Получение sel логов (system event log).
-
Управление включает в себя:
- Включение оборудования;
- Soft-включение оборудования;
- Выключение оборудования;
- Soft-выключение оборудования;
- Перезагрузка оборудования;
- Soft-перезагрузка оборудования;
- Эмуляция нажатия кнопки (PowerPushButton);
- Аппаратное прерывание (nmi);
- Перезагрузка BMC;
- Soft-перезагрузка BMC;
- Смена режима загрузки BIOS/UEFI;
- Включение Led подсветки оборудования;
- Выключение Led подсветки оборудования;
- Смена загрузочного носителя;
- Обновление прошивок
BMC
иBIOS/UEFI
; - Установка максимального энергопотребления оборудования.
- Создание проекта
- Реализация операции 'Сбор статуса LED'
- Реализация операции 'Сбор значения энергопотребления устройства'
- Реализация операции 'Выключение оборудования'
- Реализация операции 'Обновление прошивок BMC'
- Развертывание модуля расширения
gRPC (Remote Procedure Calls) — это система удалённого вызова процедур (RPC) с открытым исходным кодом, первоначально разработанная в Google в 2015 году.
В качестве транспорта используется HTTP/2, в качестве языка описания интерфейса — Protocol Buffers.
Данный протокол используется для межсервисного общения в системе. Для корректной работы протокола необходимо, чтобы отправляющая и принимающая сторона имели одинаковые прото-файлы.
Прото-файлы описывают классы и их атрибуты, используемые для общения и выглядят следующим образом:
syntax = "proto3";
// Описание источника сбора данных.
message DeviceDataIdentity
{
// Идентификатор устройства.
string device_id = 1;
// Идентификатор объекта прав доступа.
string access_object_id = 2;
}
Ссылки:
Redfish — это набор спецификаций, которые обеспечивают стандартный отраслевой протокол, обеспечивающий интерфейс RESTful для управления серверами, хранилищем, сетью и конвергентной инфраструктурой.
Ссылки: