{{TOC}}
Несмотря на то, что в интернете много статей по настройке NUT, я решил написать еще одну, т.к. при попытке настроить NUT в CDS я столкнулся с трудностями, не описанными в этих статьях. Это даже не статья, а упрощенное руководство, при помощи которого можно быстро настроить NUT в Calculate. Пишу в первую очередь для себя, чтобы через полгода не забыть что и как.
- Подключаем ИБП к компьютеру
Если ИБП подключен к COM порту, то можно посмотреть номера COM портов командой: dmesg|grep ttyS
.
У меня подключено 6 ИБП APC к портам: ttyS0, ttyS1, ttyS4, ttyS5, ttyS6, ttyS7
. Последние четыре COM порта – это мультикарта, настройка которой будет описана в конце данного руководства.
Если ИБП подключен к USB порту, то можно посмотреть какие устройства подключены к USB командами: lsusb
, dmesg|grep USB
.
- Устанавливаем NUT
echo sys-power/nut cgi usb > /etc/portage/package.use/nut
emerge -bka sys-power/nut
- Редактируем конфигурационные файлы NUT
Я не буду расписывать какой файл/параметр за что отвечает. Просто скопируйте в каталог /etc/nut
прикрепленные к данному руководству заранее подготовленные конфигурационные файлы, которые я перевел для себя, прочитайте и подправьте их под свою конфигурацию. Когда я уже все перевел, - нашел в интернете готовый перевод http://ru.opensuse.org/NUT. Но там перевод того, что содержалось в конфигурационных файлах, а я при переводе пользовался официальным руководством для NUT версии 2.6. Поэтому в моих конфигурационных файлах есть параметры, которых нет в других статьях и переводах (недавно появились). Так же у меня нет устаревших параметров.
Обратите внимание на строчку “LISTEN 192.168.2.35”
в файле upsd.conf
. Это ip сервера, если его не задать правильно, то upsd не запустится.
- Установка полномочий
В других руководствах написано, что нужно установить полномочия на конфигурационные файлы NUT, но в Gentoo это делается автоматически при установке пакета. Кроме одного файла, при помощи которого выдаются сообщения в консоль об изменении состояния ИБП (переход на батарею и т.д.):
chown .tty /usr/bin/wall
chmod 2755 /usr/bin/wall
- Запуск NUT
Запуск драйвера: /etc/init.d/upsdrv start
Запуск сервера: /etc/init.d/upsd start
Запуск монитора: /etc/init.d/upsmon start
- Проверка работы
Посмотрим информацию об ИБП: upsc ups1
Информацию по отдельным параметрам можно смотреть так: upsc ups1 ups.status
и т.д.
Параметры прошивки ИБП можно смотреть/менять: upsrw ups1
Посмотреть какие команды можно отправить ИБП: upscmd -l ups1
Можно выключить ИБП подав последовательно 2 команды (компьютер должен быть подключен к другому ИБП):
upscmd -u admin -p admin_pass ups1 shutdown.stayoff
upscmd -u admin -p admin_pass ups1 load.off
Включить ИБП:
upscmd -u admin -p admin_pass ups1 load.on
Все это есть в веб-интерфейсе, который настраивается ниже.
- Делаем автостарт NUT при загрузке системы
rc-update add upsdrv default
rc-update add upsd default
rc-update add upsmon default
Если нужно чтобы ИБП выключался после выключения сервера, при разряде батареи, нужно:
rc-update add nut.powerfail shutdown
Это нужно! Иначе сервер не стартанет если ИБП не выключится совсем.
- Тестирование отключений
Прежде чем оставить сервер без присмотра, нужно проверить его выключение.
Сначала нужно посмотреть, как будет вести себя upsdrvctl без фактического отключения системы. Для этого используется параметр -t
:
upsdrvctl -t shutdown
Далее необходимо проверить работает ли принудаительное завершение системы:
upsmon -c fsd
Если все работает правильно, ОС завершит работу, компьютер будет принудительно отключен от электросети (ИБП выключится). В зависимости от производителя, ИБП будет оставаться выключенным от нескольких секунд до нескольких минут, затем включится. У меня ИБП отключается через три минуты (настраивается в ИБП) и включается через пару секунд.
- Установка и настройка http-сервера Lighttpd
emerge -bka www-servers/lighttpd
В файле /etc/lighttpd/lighttpd.conf
раскомментируйте строки:
"mod_alias",
include "mod_cgi.conf"
В файле /etc/lighttpd/mod_cgi.conf замените строку
“.cgi” => “/usr/bun/perl”
на
“.cgi” => “”
Копируем файлы NUT в директорию http-сервера:
cp /usr/share/nut/html/* /var/www/localhost/htdocs/
mkdir /var/www/localhost/cgi-bin/
mkdir /var/www/localhost/cgi-bin/nut/
cp /usr/share/nut/cgi/* /var/www/localhost/cgi-bin/nut/
Запускаем: /etc/init.d/lighttpd start
Пробуем подключиться удаленно.
Делаем автостарт lighttpd при загрузке:
rc-update add lighttpd default
- Мультикарта
Если у вас есть мультикарта COM портов, то для ее работы нужно пересобрать ядро, иначе больше четырех COM портов получить не удастся. У меня, например, два COM порта на материнской плате и четыре на мультикарте.
cl-kernel --menuconfig
В разделе:
[Device Drivers] => [Character drivers] => [Serial drivers]
Изменить параметры:
(по умолчанию 4, нужно 8) Maximum number of 8250/16550 serial port
(по умолчанию 4, нужно 8) Number of 8250/16550 serial port to register at runtime
Выйти из menuconfig, дождаться пересборки ядра и перезагрузиться.