Установка пакета Network UPS Tools
создать пользователя и группу с именем "nut";
useradd nut passwd <Ваш_пассворд>
перейти во временную директорию /tmp и скачать пакет Network UPS Tools (далее по тексту — nut);
cd /tmp wget http://dl.fedoraproject.org/pub/epel/6/x86_64/nut-2.6.5-2.el6.x86_64.rpm wget http://dl.fedoraproject.org/pub/epel/6/x86_64/nut-client-2.6.5-2.el6.x86_64.rpm
установить данные пакеты;
yum localinstall nut-2.6.5-2.el6.x86_64.rpm nut-client-2.6.5-2.el6.x86_64.rpm
настройка udev (под вопросом, данный пункт не воспроизводить);
cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/
Настройка nut
В зависимости от метода подключения UPS (COM порт, USB, кабель, Ethernet) необходимо выяснить
перевести nut в изолированный режим;vim /etc/ups/nut.conf
Меняем строки:
MODE = standalone
Конфигурационные файлы
Все конфигурационные файлы находятся в директории "/etc/ups"
- ups.conf - настройки NUT для работы с UPS (драйвер/порт/наименование).
- upsd.conf - настройка основного демона upsd Network UPS Tools.
- upsd.users - контроль доступа к UPS демону (профили пользователей).
- upsmon.conf - настройка текущего клиентского агента.
ups.conf
В этом конфигурационном файле вы указываете настройки подключения UPS.
Скопируем дефолтный конфигурационном файл.# cd /usr/local/etc/nut
- cp ups.conf.sample ups.conf
Добавим свой UPS и настроим подключение к нему.[APC]
driver = apcsmart
port = /dev/cuau0
cable = 940-1524C
desc = "APC Smart-UPS 2200"
cable - используется для специфичных COM кабелей которые используют к примеру фирма APC вместо стандартных. И вам это нужно указывать лишь при необходимости указанной в документациях NUT и производителя UPS см "/usr/local/share/doc/nut/cables/"
Опишим некоторые параметры для использования:
- [ups_name] - это имя используется как адрес вашего UPS. Вы можете его изменить на любое произвольное имя.
- driver - драйвер, используемый для работы с UPS.
- port - порт, на котором висит UPS (для подключения через USB указываете значение "auto"). Для snmp-ups: имя хоста SNMP агента. Для newhidups: значение "auto" для автоматического соединения с USB UPS.
- desc - описание устройства.
- sdorder - необязательный элемент. При наличии нескольких UPS подключенных к этому серверу можно выключать UPS в определенном порядке. используя upsdrvctl к примеру можно выключить все 0s или 1s, 2s и тд. Для исключения последовательной остановки используйте -1.
- nolock - необязательный элемент, его не рекомендуется использовать в его этом конфиге. Он служит для отключения блокировки порта при пользовании утилитой.
- maxstartdelay - необязательный элемент. Может быть, заданна как глобальная переменная выше вашего первого UPS. Это значение определяет, сколько upsdrvctl будет ожидать окончания запуска драйвера. Данная возможность предоставляет стабильность в работе. Значение по умолчанию равно 45 секундам.
- cable - Если драйвер UPS требует дополнительных параметров, вы можете указать их здесь. Например, для флага "cable" в данной статье я ставлю значение 940-1524C. Это индекс вашего кабеля и вы можете посмотреть его тут "/usr/local/share/doc/nut/cables". Не указывайте это значение, если ваше подключение к UPS стандартно.
upsd.conf
Служит для контроля доступа к серверу и для установки других значений конфигурации. Этот файл содержит подробные сведения об предоставления доступа, таким образом, обеспечивается безопасность. В идеальном случае, только процесс upsd должен иметь возможность прочитать данные из этого файла.
Создадим конфигурационный файл.# cp upsd.conf.sample upsd.conf
Добавим следующие значения для прослушивания следующих IP для запросов о состоянии UPS клиентов:LISTEN 127.0.0.1
LISTEN 192.168.0.6
Опишем параметры:
- MAXAGE - по умолчанию 15 секунд. Это частота обновления данных клиентов после остановки драйвера UPS. Следует использовать другое значение только в том случае, если у вас трудности с обновлением данных. См syslog.
- LISTEN address port - здесь указывается IP адрес и порт 3493 (по умолчанию) для прослушивания подключений.
- MAXCONN connections - по умолчанию используется 1024 подключений. Каждый UPS, каждого LISTEN адреса и каждого клиента считается как одно подключение. Если на сервере заполнятся количество подключений, он больше не будет принимать новых входящих клиентских подключений
upsd.users
Контроль доступа для UPS демона (профили пользователей). Именно в этом файле вы указываете, кто и в какой мере будет работать с NUT.# cp upsd.users.sample upsd.users
- cat upsd.users
[admin]
password = upsadminpass
actions = SET
instcmds = ALL
[monmaster]
password = upsmonmasterpass
upsmon master
[monslave]
password = upsmonslavepass
upsmon slave
Значения:
- [NAME] - имя пользователя
- password - пароль пользователя
- actions - возможность настройки см ниже.
- instcmds - выполняемые команды см ниже.
- upsmon - вид подключения клиентов см ниже.
Каждый UPS монитор может определяться как один из трех возможных типов:
upsmon master - полные полномочия управлением питания подключенных к системе. UPS под управлением этого upsmon и отвечает за выключение разряженного аккумулятора. Выключение происходит после безопасного выключения всех slave мониторов. Если ваш UPS подключен непосредственно к системе через последовательный порт, то для upsmon этой системы следует определить его как master.
upsmon slave - эта система, под управлением upsmon master и она не выключается непосредственно. Операционная система будет выключена перед отключением питания master. Используйте этот режим при запуске монитора на других серверах работающих на том же UPS. И очевидно, что только один сервер может быть подключен к последовательному порту на UPS, коим будет является master. Все остальные сервера будут slave.
upsmon monitor-only - при этом режиме будут создаваться уведомления о состоянии или изменении работы батареи, переключении на линию и т.д., но не будет завершать работу системы.
actions - Действия пользователя с применением upsd.
- SET - изменить значения определенных переменных в UPS
- FSD - установка флага "принудительного выключения" для UPS
instcmds - разрешения пользователю на инициирование конкретных команд. Применяя "ALL" вы разрешаете использовать все команды, Существует множество команд выполните "upscmd -l" чтобы увидеть, что ваше оборудование поддерживает. Вот, к примеру, несколько команд.
- test.panel.start - старт теста передней панели
- test.battery.start - старт теста батареи
- test.battery.stop - остановка теста батареи
- calibrate.start - запуск калибровки батареи
- calibrate.stop - остановка калибровки батареи
upsmon.conf
Этот конфигурационный файл предоставляет основные функции в программе мониторинга UPS, например это безопасное завершений работы при сбое питания, уведомления и другие переменные. В многоуровневой схеме утилиты NUT это клиент.# cp upsmon.conf.sample upsmon.conf
- cat upsmon.conf | grep -v ^#
MONITOR APC@localhost 1 monmaster upsmonmasterpass master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -p +0"
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
NOTIFYFLAG ONLINE SYSLOG+WALL
NOTIFYFLAG ONBATT SYSLOG+WALL
NOTIFYFLAG LOWBATT SYSLOG+WALL
NOTIFYFLAG SHUTDOWN SYSLOG+WALL
RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5
Мы добавили значения MONITOR в котором необходимо добавить свое значение. Формат таков:
MONITOR [system] [powervalue] [username] [password] [type]
Рассмотрим некоторые значения переменных:
- MINSUPPLIES - указываем количество блоков питания которые должны получать мощность сохраняя систему запущенной. Большинство систем имеют один БП. Но дорогие сервера, например HP NetServer LH4 могут работать с 2 из 4 БП и ему нужно ставить 2.
- SHUTDOWNCMD - upsmon выполняет эту команду, когда системе необходимо выключить.
- POLLFREQ - опрос мониторами с частотой (измеряется в секундах) для обычной деятельности. Вы можете отрегулировать это частоту опроса, чтобы upsmon не “зашумлял” вашу сеть, но не вносите слишком большие значения тк. оно может пропустить отключение питания.
- POLLFREQALERT - опрос UPS с частотой в секундах. Можно сделать значение поменьше, чем POLLFREQ для лучшей чувствительности работы батареи.
- HOSTSYNC - как долго upsmon будет ждать перед переходом к следующему upsmon. master upsmon использует это число при ожидании slaves чтобы отключиться после того как он установил флаг принудительное завершение работы (FSD). И если slaves не отключаться после этого тайм аута, то выключение продолжится без них.
- DEADTIME - интервал ожидания перед объявлением статуса UPS как «мертвый» upsmon требует, чтобы UPS предоставлял свою статус информацию, каждые несколько секунд (см. POLLFREQ и POLLFREQALERT). Если статус загрузки, UPS помечен fails. И если оно остается fails более чем DEADTIME секунд, то UPS помечается «мертвый».
- POWERDOWNFLAG - флаг файла для форсирования завершения работы UPS в master системе.
- NOTIFYMSG - изменение сообщения, отправленные upsmon при возникновении определенных событий.
- NOTIFYCMD - upsmon отправляет сообщение при происшествиях.
- NOTIFYFLAG - изменение поведения upsmon при возникновении событий NOTIFY.
- RBWARNTIME - предупреждение замены аккумулятора в секундах.
- NOCOMMWARNTIME - предупреждение по времени при не общении к UPS в секундах.
- FINALDELAY - через сколько выполнить SHUTDOWNCMD.
будет дописываться.