Промпт для работы с raid контроллером сервер HP

Промпт для нейросети: Реализация веб-интерфейса мониторинга HP RAID для Proxmox VE на DL380 Gen7

Задача: Создай полное решение для мониторинга и управления HP Smart Array RAID-контроллером на сервере HP ProLiant DL380 Gen7 (с iLO3) с установленным Proxmox VE. Решение должно работать без перезагрузки сервера и предоставлять веб-интерфейс для удаленного доступа.

 

Контекст:

  • Сервер: HP ProLiant DL380 Gen7 с iLO3 (ограниченные возможности управления RAID через iLO)
  • ОС: Proxmox VE 8.x установлен на дисках, управляемых встроенным RAID-контроллером Smart Array P410i
  • Проблема: Нельзя использовать PCI passthrough для контроллера, так как он используется хостовой системой
  • Требуется мониторинг прогресса rebuild дисков и возможность добавления новых дисков в массив
 

Технические требования:

 

1. Базовые компоненты

  • Используй hpssacli (HPE Smart Storage Administrator CLI) как основной инструмент взаимодействия с RAID-контроллером
  • Реализуй веб-интерфейс на Python Flask (легковесный, не требует тяжелых зависимостей)
  • Обеспечь автообновление данных каждые 5 секунд
  • Добавь поддержку парсинга вывода hpssacli для извлечения:
    • Статуса каждого физического диска (OK, Failed, Rebuilding, Predictive Failure)
    • Прогресса операций (Rebuilding, Expanding) в процентах
    • Состояния логических дисков
    • Информации о Hot Spare дисках
 

2. Функционал мониторинга

  • Режим реального времени: Показывай прогресс-бары для операций rebuild/expand с точным процентом выполнения
  • Цветовая индикация:
    • Зеленый (#4CAF50) - Статус OK, прогресс 100%
    • Желтый (#FFC107) - В процессе операции (Rebuilding, Expanding)
    • Красный (#DC3545) - Ошибки (Failed, Predictive Failure)
  • Детальная информация по дискам: Отображай для каждого диска:
    • Физическое расположение (порт:бокс:бей)
    • Размер и модель
    • Текущую температуру
    • Статус и прогресс операции
  • История событий: Веди лог последних 10 событий RAID с отметками времени
 

3. Функционал управления (через веб-интерфейс)

  • Добавление Hot Spare диска:
    • Выбор свободного диска из списка
    • Кнопка "Добавить как Hot Spare" с подтверждением
  • Принудительный rebuild:
    • Для дисков со статусом "Ready for Rebuild"
    • Кнопка "Запустить rebuild" с прогресс-баром
  • Просмотр детальной информации:
    • Кнопка "Показать полную конфигурацию" с выводом hpssacli
    • Возможность копировать информацию в буфер обмена
 

4. Требования к веб-интерфейсу

  • Адаптивный дизайн: Работать на мобильных устройствах и десктопах
  • Автономная работа: Не зависеть от внешних CDN (все CSS/JS встроены)
  • Безопасность:
    • Базовая HTTP-аутентификация (логин/пароль из конфига)
    • Ограничение доступа по IP-адресам
    • Автоматический выход через 30 минут бездействия
  • Страницы интерфейса:
    • Главная страница: Обзор состояния всех дисков с прогресс-барами
    • Страница управления: Формы для добавления Hot Spare и запуска rebuild
    • Страница деталей: Полная информация о контроллере и дисках
    • Страница логов: История событий RAID
 

5. Интеграция с Proxmox

  • Установка как systemd сервиса:
    • Создай файл сервиса /etc/systemd/system/raid-monitor.service
    • Автозапуск при загрузке системы
  • Логирование:
    • Запись всех операций в /var/log/raid-monitor.log
    • Ротация логов через logrotate
  • Обновление через веб-интерфейс:
    • Кнопка "Проверить обновления" с возможностью автоматического обновления
    • Резервное копирование перед обновлением
 

6. Особые требования для iLO3

  • Нет зависимости от iLO: Решение должно работать даже если iLO недоступен
  • Минимальное потребление ресурсов:
    • Не более 50MB RAM
    • Загрузка CPU не более 5% в простое
  • Работа при частичных сбоях:
    • Если hpssacli недоступен - показывать ошибку, но не падать
    • Кэширование последних успешных данных
 

7. Формат вывода

Предоставь решение в виде:

  1. Полного Python-скрипта с Flask-приложением (один файл для простоты)
  2. Инструкции по установке (bash-скрипты для автоматической настройки)
  3. systemd сервисного файла с настройками автозапуска
  4. nginx конфигурации (опционально) для проксирования с HTTPS
  5. Скриншоты/описание ожидаемого интерфейса
 

8. Примеры команд hpssacli для парсинга

bash
 
 
 
 
 
 

9. Тестовые сценарии

  • Симуляция rebuild диска с прогрессом 0-100%
  • Отображение нескольких дисков в разных состояниях
  • Обработка ошибки при недоступности hpssacli
  • Тестирование добавления Hot Spare через веб-интерфейс
 

10. Дополнительные требования

  • Локализация: Русский и английский языки (переключение в интерфейсе)
  • Экспорт данных: Кнопка экспорта состояния в CSV/JSON
  • Уведомления: Настройка email/SMS алертов при критических событиях (через внешние сервисы)
  • Документация: Встроенная справка по управлению RAID для новичков
 

Важно: Решение должно быть полностью автономным, не требовать внешних зависимостей кроме hpssacli и Python 3.9+, и работать на "голом" Proxmox VE без дополнительных контейнеров. Приоритет - стабильность и минимальное влияние на работу основного сервера.