Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Инструменты сетевого ИБП (NUT) в контейнере Ubuntu 22.04 LXC

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Инструменты сетевого ИБП (NUT) в контейнере Ubuntu 22.04 LXC, Proxmox Виртуальная Среда
     
    heywhatsup1235
    Guest
    #1
    0
    03.08.2024 23:35:00
    Я хотел настроить контейнер LXC для поддержки 3 разных устройств ИБП, которые управляют разными системами. Цель состояла в том, чтобы отслеживать их в Home Assistant для получения уведомлений и удобного просмотра. Я столкнулся с некоторыми проблемами, и уверен, что существуют лучшие способы сделать это, но вот что сработало для меня. Конфигурация Network UPS Tools (NUT) взята из: https://www.kreaweb.be/diy-home-server-2021-software-proxmox-ups/#a_Create_LXC_container. Я создал контейнер 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. Это должно вернуть детали ИБП. Чтобы добавить несколько устройств, просто включите их в передаваемые устройства контейнера и отредактируйте конфигурацию, чтобы включить дополнительные детали ИБП. Надеюсь, это поможет кому-то еще, но я не эксперт здесь и открыт для любых отзывов!
     
     
     
    Pato_77
    Guest
    #2
    0
    09.11.2024 18:00:00
    Отличный пост! Хотя, пришлось переделывать один раз после "Device Passthrough". Сначала не работало. Поискав, нашёл, что в Proxmox при передаче, в разделе "Advanced" нужно установить "Access mode" в 0666. После этого всё заработало как надо. Теперь осталось разобраться, как настроить клиентов, чтобы они отключались при определённом уровне заряда батареи или после определённого времени. Спасибо ещё раз за пост!
     
     
     
    ihr
    Guest
    #3
    0
    27.04.2025 13:21:00
    Спасибо за пост. Я выполнил шаги с некоторыми изменениями, и сначала всё работало. Но позже я обнаружил проблему, не знаю, как её исправить. Давайте начнём с конфигурации, которую я сделал:

    1. Я использую proxmox 8.4.1
    2. Контейнер не привилегированный!
    3. Устройство, которое я передал, было создано через GUI, поэтому я назначил путь /dev/bus/usb/001/006, GID в контейнере 57 (группа nut) и режим доступа 0660. Всё работает, пока в какой-то момент, по неизвестной причине (я думаю, это запланированное резервное копирование), устройство не перенумеровалось на хост-компьютере с /dev/bus/usb/001/006 на /dev/bus/usb/001/004. LXC вообще не запустился, так что я нашёл альтернативы. Я могу использовать udev на хосте, чтобы создать символическую ссылку с /dev/bus/usb/xxx/yyy на /dev/my_ups_name, используя vendorId и modelId. Я также нашёл способ передать новое "фиксированное" имя устройства в контейнер, также используя нужную группу и права. Проблема в том, что мне не удалось настроить usbhid-ups для доступа к устройству под /dev/my_ups_name – оно всегда пытается читать /dev/bus/usb/xxx/yyy, так что без шансов. Также документация о строках dev[n] в файле {containerid}.conf Документация здесь, немного прокрутите вниз не позволяет нам переименовать устройство в контейнере, что и решило бы проблему. Я в тупике, так что любая помощь будет приветствоваться!
     
     
     
    VecH
    Guest
    #4
    0
    25.05.2025 09:11:00
    Такая же проблема, сегодня перезагрузил сервер, а клиент выдаёт ошибку при подключении. Моя серверная часть работает непосредственно на хосте. Код: upsc apc@localhost

    Ошибка: Не удалось подключиться: Отказ в подключении. До перезагрузки всё работало отлично. Код: # lsusb

    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
    Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Код: # nut-scanner -U

    Сканирование USB-шины.
    [nutdev1]
    driver = "usbhid-ups"
    port = "auto"
    vendorid="051D"
    productid="0002"
    product = "Smart-UPS 1000 RM FW:618.3.I USB FW:1.5"
    serial = "AS0613230494"
    vendor = "American Power Conversion"
    bus = "001" Код: # systemctl restart nut-server.service

    # journalctl -u nut-server.service

    25 мая 16:08:47 mss2-host systemd[1]: Запущена служба nut-server.service - Network UPS Tools - сервер информации об устройствах ИБП.
    25 мая 16:08:47 mss2-host nut-server[35669]: fopen /run/nut/upsd.pid: No such file or directory
    25 мая 16:08:47 mss2-host nut-server[35669]: Не удалось найти файл PID '/run/nut/upsd.pid', чтобы проверить, запущен ли предыдущий экземпляр upsd!
    25 мая 16:08:47 mss2-host nut-server[35669]: не прослушивает :: порт 3493
    25 мая 16:08:47 mss2-host upsd[35669]: не прослушивает :: порт 3493
    25 мая 16:08:47 mss2-host upsd[35669]: прослушивает 0.0.0.0 порт 3493
    25 мая 16:08:47 mss2-host nut-server[35669]: прослушивает 0.0.0.0 порт 3493
    25 мая 16:08:47 mss2-host nut-server[35669]: недоступен интерфейс прослушивания
    25 мая 16:08:47 mss2-host nut-server[35669]: Network UPS Tools upsd 2.8.0
    25 мая 16:08:47 mss2-host upsd[35669]: недоступен интерфейс прослушивания
    25 мая 16:08:47 mss2-host systemd[1]: nut-server.service: Основной процесс завершился, код=exited, статус=1/FAILURE
    25 мая 16:08:47 mss2-host systemd[1]: nut-server.service: Не удалось завершить работу с результатом 'exit-code'.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры