Я хотел настроить контейнер LXC для поддержки 3 разных устройств ИБП, которые управляют разными системами. Цель состояла в том, чтобы отслеживать их в Home Assistant для получения уведомлений и удобного просмотра. Я столкнулся с некоторыми проблемами, и уверен, что существуют лучшие способы сделать это, но вот что сработало для меня. Конфигурация Network UPS Tools (NUT) взята из: . Я создал контейнер LXC с использованием следующих настроек: ubuntu-22.04. Привилегированный - true. Вам нужно найти Bus и Device # USB ИБП, чтобы передать их в контейнер. На хосте Proxmox выполните: lsusb. Запишите Bus # и Device #. В моем случае это было "Bus 001 Device 013". В настройках LXC перейдите в раздел ресурсов и нажмите "Добавить" -> "Device Passthrough" и введите путь, указав номер шины и устройства из консоли хоста. Используя шаблон: "/dev/bus/usb/{BUS#}/{Device#}", введите номер шины и устройства из хоста. В моем случае это было: "/dev/bus/usb/001/013". Запустите контейнер и войдите в систему под root. Выполните следующие команды: apt-get update. apt-get upgrade. apt install nut -y. После завершения установки запустите команду nut-scanner, чтобы вывести информацию об ИБП и убедиться, что USB passthrough работает правильно: nut-scanner -U. Далее настройте файлы конфигурации. Вот минимальный необходимый набор для работы: nano /etc/nut/nut.conf. MODE=netserver. Используя информацию из nut-scanner -U, выделенную жирным шрифтом: nano /etc/nut/ups.conf. pollinterval = 15. maxretry = 3. [apc]. # APC Back-UPS. #nut-scanner: Enter the driver name. driver = usbhid-ups. port = auto. desc = "APC Back-UPS". #nut-scanner: Enter the vendorid, productid, and serial from the output. vendorid = 051D. productid = 0002. serial = xxxxxxxxxxxx. Сохраните изменения и запустите эту команду, чтобы проверить конфигурацию: upsdrvctl start. У меня выскочила ошибка: Network UPS Tools - UPS driver controller 2.7.4. Network UPS Tools - Generic HID driver 0.41 (2.7.4). USB communication driver 0.33. No matching HID UPS found. Driver failed to start (exit status=1). Я обнаружил, что добавление nut в группу root решило проблему. Я уверен, что существуют более элегантные способы сделать это, но я не мог найти ни одного. adduser nut root. Повторное выполнение этой команды показало успешное подключение без ошибок: upsdrvctl start. Network UPS Tools - UPS driver controller 2.7.4. Network UPS Tools - Generic HID driver 0.41 (2.7.4). USB communication driver 0.33. Using subdriver: APC HID 0.96. Продолжайте настройку конфигурации nut. nano /etc/nut/upsd.conf. LISTEN 0.0.0.0 3493. LISTEN :: 3493. nano /etc/nut/upsd.users. [upsadmin]. # Administrative user. password = ********. actions = SET. actions = FSD. instcmds = ALL. upsmon master. [upsuser]. # Normal user. password = ********. upsmon slave. После этого перезагрузите контейнер. Запуск этой команды должен вернуть данные о батарее. Используйте шаблон {APCNAME}@{MACHINENAME}, где {APCNAME} берется из имени, используемого в ups.config. upsc apc@localhost. Это должно вернуть детали ИБП. Чтобы добавить несколько устройств, просто включите их в передаваемые устройства контейнера и отредактируйте конфигурацию, чтобы включить дополнительные детали ИБП. Надеюсь, это поможет кому-то еще, но я не эксперт здесь и открыт для любых отзывов!
Инструменты сетевого ИБП (NUT) в контейнере Ubuntu 22.04 LXC, Proxmox Виртуальная Среда
|
03.08.2024 23:35:00
|
|
|
|
|
Читают тему
