... h4. Установка пакета Network UPS Tools 1. создать пользователя и группу с именем "nut"; {code}useradd nut {code} 2. перейти во временную директорию /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} 3. установить данные пакеты, соглашаемся с установкой зависимостей; {code}yum localinstall nut-2.6.5-2.el6.x86_64.rpm nut-client-2.6.5-2.el6.x86_64.rpm{code} 4. настройка udev. {code}cp /lib/udev/rules.d/62-nut-usbups.rules /etc/udev/rules.d/{code} h4. ---- h4. Конфигурационные файлы
|
Все конфигурационные файлы находятся в директории "*/etc/ups*".
|
* *ups.conf* \- настройки NUT *nut* для работы с UPS (драйвер/порт/наименование).
|
* *upsd.conf* \- настройка основного демона *upsd* Network UPS Tools. * *upsd.users* \- контроль доступа к UPS демону (профили пользователей).
|
... * *upsmon.conf* \- настройка текущего клиентского агента. h5. 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 требует дополнительных параметров, вы можете указать их здесь. Не указывайте это значение, если ваше подключение к UPS стандартно. h5. upsd.conf Служит для контроля доступа к серверу и для установки других значений конфигурации. Этот файл содержит подробные сведения об предоставления доступа, таким образом, обеспечивается безопасность. В идеальном случае, только процесс *upsd* должен иметь возможность прочитать данные из этого файла. * *MAXAGE* \- по умолчанию 15 секунд. Это частота обновления данных клиентов после остановки драйвера UPS. Следует использовать другое значение только в том случае, если у вас трудности с обновлением данных; * *LISTEN address port* \- здесь указывается IP адрес и порт 3493 (по умолчанию) для прослушивания подключений; * *MAXCONN connections* \- по умолчанию используется 1024 подключений. Каждый UPS, каждого LISTEN адреса и каждого клиента считается как одно подключение. Если на сервере заполнятся количество подключений, он больше не будет принимать новых входящих клиентских подключений.
|
h5. upsd.users
|
Контроль доступа для UPS демона (профили пользователей). Именно в этом файле вы указываете, кто и в какой мере будет работать с NUT. *nut*.
|
* *\[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 <имя UPS в настройках>*" чтобы увидеть, что ваше оборудование поддерживает. Вот, к примеру, несколько команд. * test.panel.start - старт теста передней панели * test.battery.start - старт теста батареи * test.battery.stop - остановка теста батареи * calibrate.start - запуск калибровки батареи * calibrate.stop - остановка калибровки батареи
|
h5. upsmon.conf
|
Этот конфигурационный файл предоставляет основные функции в программе мониторинга UPS, например это безопасное завершений работы при сбое питания, уведомления и другие переменные. В многоуровневой схеме утилиты NUT *nut* это клиент.
|
* *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 помечается «мертвый». Выставляйте значение этой переменной в несоклько несколько (в три раза пойдет) раз больше чем *POLLFREQ* и *POLLFREQALERT*;
|
* *POWERDOWNFLAG* \- флаг файла для форсирования завершения работы UPS в master системе; * *NOTIFYMSG* \- изменение сообщения, отправленные upsmon при возникновении определенных событий;
|
... * *NOTIFYCMD* \- upsmon отправляет сообщение при происшествиях; * *NOTIFYFLAG* \- изменение поведения upsmon при возникновении событий NOTIFY; * *RBWARNTIME* \- предупреждение замены аккумулятора в секундах; * *NOCOMMWARNTIME* \- предупреждение по времени при не общении к UPS в секундах; * *FINALDELAY* \- через сколько выполнить SHUTDOWNCMD. ----
|
h4. Что нужно знать перед настройкой UPS
|
Если только собираетесь покупать UPS, то рекомендуется ознакомится со списком совместимости *nut* --- [http://www.networkupstools.org/stable-hcl.html] в фильтре указать интересующие параметры.
|
!fully_suported.png|border=1! 1. ознакомится со списком максимально совместимых UPS;
|
...
|
2. определить тип подключения UPS. Это может быть USB, COM, Ethernet, other. Определить можно по спецификации UPS в инструкции пользователя, и/или визуально, при наличии необходимых знаний;
|
3. если UPS один и подлючается чреез подключается через USB (а так же максимально совместим с *nut*), то в настройках можно указать порт как *"auto"*;
|
|
4. если UPS не один, *nut* не может определить порт в режиме "auto", или тип подключения не через USB, то нужно выяснить порт, через который произведено подключение UPS;
|
|
5. найти драйвер для вашего UPS по ссылке --- http://www.networkupstools.org/ddl/ находите модель UPS и смотрите строку *driver.name*; 6. если UPS в единственном числе и подключен на прямую к серверу, то нужно использовать standalone мод, если же схема другая (UPS подключен не напярмую, несколько ups), то *nut* нужно сконфигурировать под данную схему, обращайтесь в тех. поддержу;
|
---- h4. Пример настройки nut
|
1. переводим демон в синглмод;
|
1. указываем *nut*, то UPS один и подключен на прямую к серверу ;
|
{code}vim /etc/ups/nut.conf: — далее изменяем переменную
|
... MODE = standalone{code} 2. добавляем UPS; {code:lang=actionscript}vim /etc/ups/ups.conf — добавляем строки [apces700] driver = usbhid-ups desc = "Black-UPS ES 700" bus = "004" port = "005" vendorid = 051d productid = 0002{code}
|
|
3. устанавливаем IP и порт, на каотором демон, будет принимать данные о состоянии UPS;
|
{code}vim /etc/ups/upsd.conf — добавляем строки LISTEN 127.0.0.1 3493{code}
|
4. добавлеям пользователя, от имени данного пользователя будет производится мониторинг и отправка команд в систему;
|
{code}useradd monuser passwd monuser
|
... запоминаем/записываем и вводм password{code} 5. добавляем созданного пользователя в настройки; {code}vim /etc/ups/upsd.users — добавляем строки [monuser] password = monpassword actions = SET
|
instcmds = ALL upsmon master{code}
|
6. устанавливаем основные настройки *nut*;
|
{code:lang=actionscript}vim /etc/ups/upsmon.conf — добавляем строки
|
... MONITOR myups@localhost 1 monuser monpassword master MINSUPPLIES 1 SHUTDOWNCMD "/sbin/shutdown -h +0" POLLFREQ 5 POLLFREQALERT 5 HOSTSYNC 15 DEADTIME 15 POWERDOWNFLAG /etc/killpower RBWARNTIME 43200 NOCOMMWARNTIME 300 FINALDELAY 0{code} 7. запускаем демон; {code}service ups start{code}
|
8. добавляем демон в автозагрузку; {code}chkconfig --level 35 ups on{code}
|
9. проверяем состаояние UPS.
|
{code}upsc myups@localhost{code}
|
... h3. {color:#ff9900}будет дописываться{color} ---- Использовались материалы со сторонних ресурсов: [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]
|
...
|
|
|
---- Служебная информация
|
... Вероятное местоположение информации о типах используемых кабелей для подключения ./app/base/usr/local/lib/nut/docs/images/cables ./app/base/usr/local/lib/nut/docs/cables ./usr/share/doc/nut-2.6.5/docs/cables ./usr/share/doc/nut-2.6.5/docs/images/cables
|