Просмотр Исходного

h4. Установка пакета Network UPS Tools

создать  пользователя и группу с именем "nut";

{code}useradd nut
passwd <Ваш_пассворд>
{code}
перейти во временную директорию /tmp и скачать пакет Network UPS Tools (далее по тексту --- *nut*);

{code}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{code}
установить данные пакеты;

{code}yum localinstall nut-2.6.5-2.el6.x86_64.rpm nut-client-2.6.5-2.el6.x86_64.rpm{code}
настройка udev (под вопросом, данный пункт не воспроизводить);

{code}cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/{code}

h4. Настройка nut

В зависимости от метода подключения вашей UPS'ы (COM порт, USB, кабель, Ethernet) необходимо выяснить

перевести nut в изолированный режим;vim /etc/ups/nut.conf
Меняем строки:
MODE = standalone


h4. Конфигурационные файлы

Все конфигурационные файлы находятся в директории "*/etc/ups*"
* *ups.conf* \- настройки NUT для работы с UPS (драйвер/порт/наименование).
* *upsd.conf* \- настройка основного демона *upsd* Network UPS Tools.
* *upsd.users* \- контроль доступа к UPS демону (профили пользователей).
* *upsmon.conf* \- настройка текущего клиентского агента.

h4. ups.conf

Конфигурация подключенных UPS'ов,

* *\[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 стандартно.

h4. upsd.conf

Служит для контроля доступа к серверу и для установки других значений конфигурации. Этот файл содержит подробные сведения об предоставления доступа, таким образом, обеспечивается безопасность. В идеальном случае, только процесс *upsd* должен иметь возможность прочитать данные из этого файла.

* *MAXAGE* \- по умолчанию 15 секунд. Это частота обновления данных клиентов после остановки драйвера UPS. Следует использовать другое значение только в том случае, если у вас трудности с обновлением данных;
* *LISTEN address port* \- здесь указывается IP адрес и порт 3493 (по умолчанию) для прослушивания подключений;
* *MAXCONN connections* \- по умолчанию используется 1024 подключений. Каждый UPS, каждого LISTEN адреса и каждого клиента считается как одно подключение. Если на сервере заполнятся количество подключений, он больше не будет принимать новых входящих клиентских подключений.

h4. upsd.users

Контроль доступа для UPS демона (профили пользователей). Именно в этом файле вы указываете, кто и в какой мере будет работать с NUT.# cp upsd.users.sample upsd.users
* *\[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 - остановка калибровки батареи

h4. upsmon.conf

Этот конфигурационный файл предоставляет основные функции в программе мониторинга UPS, например это безопасное завершений работы при сбое питания, уведомления и другие переменные. В многоуровневой схеме утилиты NUT это клиент.# cp upsmon.conf.sample upsmon.conf
* *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.



будет дописываться.

Использовались материалы со сторонних ресурсов:

[http://www.ignix.ru/book/freebsd/daemon/network_ups_tools]

[http://redhat-club.org/2011/настройка-nut-2.4.3-с-ups-eaton-env-в-rhel-centos-6|http://redhat-club.org/2011/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-nut-2.4.3-%D1%81-ups-eaton-env-%D0%B2-rhel-centos-6]