Как настроить NUT клиент Proxmox и подключить его к Synology NAS

Всем привет!!!

В этой статье я расскажу как подключить NUT клиент в Proxmox к Synology NAS, который подключен к ИБП по USB, что бы все это корректно выключалось, когда отключат электричество.

Заметку делаю для себя, что бы не забыть, но если она вам поможет, то я только буду рад.

У меня есть Synology NAS, к которому по USB подключен ИБП. Настройка ИБП в Synology довольно простая, там достаточно купить совместимый ИБП и активировать одну галочку.

Через какое-то время я обзавелся гипервизором Proxmox на Aoostart WTR PRO и встала задача, подключить Proxmox к ИБП. Проблема в том, что у ИБП всего один порт USB и два сервера к нему не подключить, но можно подключить Proxmox к Synology по сети через клиента NUT и тогда уже Synology будет передавать состояние ИБП в Proxmox и последний будет принимать решение о начале выключения.

Не буду ходить вокруг да около начнем настройку.

Первым делом на Synology в панели управления — Оборудование и питание на вкладке ИБП нужно включить сервер ИБП и разрешить подключение с IP адреса гипервизора Proxmox. В моем случаи это 192.168.68.24.

Как Для корректного отключения виртуальных машин нужно установить гостевой агент. В противном случаи виртуальные машины будут выключаться не корректно и смысл теряется от всего ниже настроенного. Как это сделать было описано тут: Оптимизация оперативной памяти в Proxmox

Теперь настроим Proxmox. Сначала нужно установить NUT

apt update && apt install nut -y

Затем переведем NUT в режим клиента отредактировав файл /etc/nut/nut.conf

MODE=netclient

Теперь настроим мониторинг отредактировав следующий файл /etc/nut/upsmon.conf

MONITOR ups@192.168.68.10 1 monuser secret slave
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h now"
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
NOTIFYCMD /usr/sbin/upssched

где 192.168.68.10 это IP адрес Synology NAS

Затем нужно настроить планировщик отредактировав этот файл /etc/nut/upssched.conf

CMDSCRIPT /etc/nut/upssched-cmd
PIPEFN /etc/nut/upssched.pipe
LOCKFN /etc/nut/upssched.lock

AT ONBATT * START-TIMER shutdown-now 60
AT ONLINE * CANCEL-TIMER shutdown-now online

где 60 это время, после которого Proxmox начнет выключать виртуальные машины и отключится сам.

Теперь создадим скрипт обработки команд отредактировав этот файл /etc/nut/upssched-cmd

#!/bin/sh
case $1 in
    shutdown-now)
        logger -t upssched-cmd "UPS on battery for 60 seconds - initiating shutdown"
        /usr/sbin/upsmon -c fsd
        ;;
    online)
        logger -t upssched-cmd "UPS back online - canceling shutdown"
        ;;
    *)
        logger -t upssched-cmd "Unknown command: $1"
        ;;
esac

Сделайте его исполняемым

chmod +x /etc/nut/upssched-cmd

Запустим службу

systemctl enable nut-monitor
systemctl restart nut-monitor

Проверим ее статус

systemctl status nut-monitor

Проверим подключение к ИБП

upsc ups@192.168.68.10

Если видим ups.status: OL то это работа от сети

Я пользуюсь такой командой

upsc ups@192.168.68.10 2>&1 | grep -E "(status|battery.runtime)"

Как это работает

  • При отключении электричества: ИБП переходит на батарею, статус меняется с OL на OB
  • Запускается таймер на 60 секундupssched получает команду ONBATT
  • Через 60 секунд: Выполняется команда выключения Proxmox
  • Если питание восстановится: Таймер отменяется командой ONLINE

Теперь вы знаете как настроить NUT клиент Proxmox и подключить его к Synology NAS

Подписаться
Уведомить о
guest
3 Комментарий
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии