Промпт для нейросети: Реализация веб-интерфейса мониторинга 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. Формат вывода
Предоставь решение в виде:
- Полного Python-скрипта с Flask-приложением (один файл для простоты)
- Инструкции по установке (bash-скрипты для автоматической настройки)
- systemd сервисного файла с настройками автозапуска
- nginx конфигурации (опционально) для проксирования с HTTPS
- Скриншоты/описание ожидаемого интерфейса
8. Примеры команд hpssacli для парсинга
bash
9. Тестовые сценарии
- Симуляция rebuild диска с прогрессом 0-100%
- Отображение нескольких дисков в разных состояниях
- Обработка ошибки при недоступности hpssacli
- Тестирование добавления Hot Spare через веб-интерфейс
10. Дополнительные требования
- Локализация: Русский и английский языки (переключение в интерфейсе)
- Экспорт данных: Кнопка экспорта состояния в CSV/JSON
- Уведомления: Настройка email/SMS алертов при критических событиях (через внешние сервисы)
- Документация: Встроенная справка по управлению RAID для новичков
Важно: Решение должно быть полностью автономным, не требовать внешних зависимостей кроме hpssacli и Python 3.9+, и работать на "голом" Proxmox VE без дополнительных контейнеров. Приоритет - стабильность и минимальное влияние на работу основного сервера.