В данном HOWTO мы подробно рассмотрим как поднять Nut в современных версиях ОС GNU/Linux на примере дистрибутива Fedora 17 и UPS Ippon Smart Power Pro (Smart Winner).
Четыре года назад я уже писал как поднять Ippon в Linux, но та статья безнадёжно устарела, поэтому написана данная полностью с нуля.
Шаг 1. Подготовка к установке
Для работы UPS под Linux нам потребуется установить пакет nut (Network UPS Tools), а также клиент для него (консольный или с графическим интерфейсом).
Мы рассмотрим подробно как установить и настроить nut в дистрибутиве Fedora, а в конце данного руководства приведём полные листинги конфигов.
Шаг 2. Загрузка и установка Nut
Для загрузки и установки пакета nut и всех зависимостей выполните в консоли команду:
sudo yum -y install nut nut-client
Пакет был успешно установлен и готов к дальнейшей настройке.
Шаг 3. Загрузка и установка Midnight Commander
Установите мощный файловый менеджер Midnight Commander консольной командой:
sudo yum -y install mc mcedit
Данный менеджер нам понадобится для быстрого редактирования конфигов и операций с ними. Можно обойтись и без него, запуская например Krusader, Gnome Commander, Nautilus, Dolphin или другой ФМ с графическим интерфейсом. Выбор остаётся за вами, но я рекомендую всё-таки MC, тем более в большинстве дистрибутивов он установлен по умолчанию.
Шаг 4: Подготовка конфигов
Сразу после установки в каталоге /etc/ups/ вы увидите примеры файлов конфигурации с расширением *.conf.sample. Для дальнейшей работы с ними нам необходимо переименовать их в *.conf, отбросив sample. Проще всего это сделать следующей командой в консоли:
cd /etc/ups/ sudo rename .sample '' *.sample
Конфиги подготовлены. Можно приступать к редактированию.
Шаг 5: Редактирование nut.conf и ups.conf
Запустите MC с правами root:
sudo mc
Перейдите в каталог /etc/ups/ и откройте файл nut.conf во встроенном редакторе (клавишей F4). В самом конце файла укажите:
MODE=standalone
Если вы хотите подключаться к своему серверу nut удалённо (не рекомендуется из соображений безопасности), то вместо standalone пропишите netserver.
Откройте в редакторе файл ups.conf. Здесь задаются параметры вашего источника бесперебойного питания. Пример для IPPON, подключённого по USB:
[myups] driver = blazer_usb port = /dev/usb/hiddev0 desc = "IPPON Smart Power Pro"
Пример для IPPON, подключённого по RS-232 (COM):
[myups] driver = blazer_ser port = /dev/ttyS0 desc = "IPPON Smart Power Pro"
Рассмотрим директивы более подробно:
- driver — имя файла драйвера, который будет обслуживать данный UPS. Blazer_ser (ранее назывался megatek) поддерживает ИБП марки Ippon, подключённые и по COM-порту, а blazer_usb — по USB;
- port — порт, к которому подключён UPS. По умолчанию для USB это /dev/usb/hiddev0, а для COM — /dev/ttyS0;
- desc — описание UPS. Может быть любой строкой.
Шаг 6. Редактирование upsd.conf
В файле upsd.conf задаются параметры доступа к службе UPS. Откройте его в редакторе и в конце пропишите следующие директивы:
ACL all 0.0.0.0/0 ACL localhost 127.0.0.1/32 ACCEPT localhost REJECT all LISTEN 127.0.0.1 3493 LISTEN ::1 3493
Это включит доступ к сервису только для локальных IP-адресов и заставит upsd слушать порт 3493 одновременно на IPv4 и IPv6. Если вы не используете в ЛВС IPv6, то последнюю строку можете закомментировать, либо вообще не прописывать в файле.
Шаг 7. Создание пользователя для службы UPS
Служба UPS, а равно как и монитор, должны запускаться от отдельного пользователя, находящегося в группе nut. Группа nut создаётся автоматически при установке пакета.
Создадим пользователя upsmaster:
sudo adduser upsmaster
Зададим пользователю пароль:
sudo passwd upsmaster
Введите и запомните новый пароль для пользователя upsmaster два раза. Он нам потребуется далее при настройке nut client.
Добавим пользователя upsmaster в группу nut:
sudo usermod -G nut upsmaster
Пользователь успешно создан и ему выданы необходимые права.
Шаг 8. Указываем пользователей службы
Откройте файл upsd.users (находится там же, в /etc/ups/) и в самом конце пропишите:
[upsmaster] password = pAssW0RD allowfrom = localhost upsmon master
Здесь в качестве пароля pAssW0RD укажите пароль, который вы задали пользователю upsmaster после его создания.
Шаг 9. Настраиваем мониторинг
Теперь откройте файл upsmon.conf. Найдите директиву RUN_AS_USER, уберите около неё символ комментария # (решётка) если он имеется и укажите:
RUN_AS_USER upsmaster
Теперь найдите директиву MONITOR, также уберите символ комментария # и пропишите:
MONITOR myups@localhost 1 upsmaster pAssW0RD master
Здесь pAssW0RD — это пароль пользователя upsmaster, который вы задали при его создании и прописали в конфиге upsd.users.
Шаг 10. Активируем службу upsd
Включаем службу (это активирует её автоматический запуск при старте системы):
sudo systemctl enable nut-server.service
Шаг 11. Проверяем работоспособность службы
Запускаем службу:
sudo systemctl start nut-server.service
Чтобы узнать запустилась служба или нет, выполните:
systemctl status nut-server.service
Если служба запустилась с ошибками, то для более подробного вывода можете попробовать запустить службу напрямую:
sudo upsdrvctl start
Шаг 12. Проверяем работоспособность UPS
Выполните в консоли:
upsc myups@localhost
Если всё настроено верно, вы увидите текущий статус UPS и значения всех его переменных.
Шаг 13. Загружаем KNutClient
Если Вам необходим удобный мониторинг состояния UPS и вы используете в качестве основной среды KDE 4, то установите KNutClient.
Если у вас 32-битная версия Fedora, выполните:
cd ~ wget http://download.fedoraproject.org/pub/fedora/linux/releases/15/Everything/i386/os/Packages/knutclient-1.0.4-2.fc15.i686.rpm sudo yum -y localinstall knutclient*.rpm
Если 64-битная:
cd ~ wget http://download.fedoraproject.org/pub/fedora/linux/releases/15/Everything/x86_64/os/Packages/knutclient-1.0.4-2.fc15.x86_64.rpm sudo yum -y localinstall knutclient*.rpm
На этом установка пакета KNutClient завершена. Перейдём к его настройке.
Шаг 14. Настройка KNutClient
Запустите KNutClient, выберите в меню Settings пункт Configure KNutClient, перейдите на страницу UPS, нажмите кнопку Add.
В открывшемся окне пропишите параметры настроенного UPS:
- Name — любое имя. Допускаются латинские буквы и цифры;
- UPS address: 127.0.0.1 — IP-адрес, на котором работает служба UPS (значение из конфига upsd.conf);
- UPS name: myups — имя устройства (значение из конфига ups.conf);
- Delay: 5000 ms — задержка обновления информации в миллисекундах;
- Port: 3493 — порт, на котором работает служба UPS (значение из конфига upsd.conf);
- User name: upsmaster — имя пользователя UPS из файла upsd.users;
- Password: pAssW0RD — пароль пользователя upsmaster.
Обязательно поставьте флажок в чекбоксе Store NUT password in configuration file, что заставит KNutClient сохранить пароль в своём файле конфигурации.
В этом же окне выберите датчики, которые будут отображаться на панели KNutClient. Для IPPON Smart Power Pro (Smart Winner) гарантированно работают следующие:
- Input Voltage — напряжение на входе;
- Input Frequency — частота в Герцах на входе;
- UPS Load — текущая загрузка UPS;
- Battery Charge — текущий заряд батареи в процентах;
- UPS Temperature — температура внутри UPS;
- Battery Voltage — напряжение на аккумуляторах в Вольтах.
Остальные датчики могут не работать и не отображаться на панели при их выборе. Нажмите OK во всех окнах. Настройка полностью завершена.
Приложения
Листинг файла nut.conf:
MODE=standalone
Листинг файла ups.conf:
[myups] driver = blazer_usb port = /dev/usb/hiddev0 desc = "IPPON Smart Power Pro"
Листинг файла upsd.conf:
ACL all 0.0.0.0/0 ACL localhost 127.0.0.1/32 ACCEPT localhost REJECT all LISTEN 127.0.0.1 3493 LISTEN ::1 3493
Листинг файла upsd.users:
[upsmaster] password = pAssW0RD allowfrom = localhost upsmon master
Листинг файла upsmon.conf:
RUN_AS_USER upsmaster MONITOR myups@localhost 1 upsmaster pAssW0RD master MINSUPPLIES 1 SHUTDOWNCMD "/sbin/shutdown -h +0" POLLFREQ 5 POLLFREQALERT 5 HOSTSYNC 15 DEADTIME 15 POWERDOWNFLAG /etc/killpower RBWARNTIME 43200 NOCOMMWARNTIME 300 FINALDELAY 5
Все комментарии в листингах файлов в приложениях удалены.
Исправьте ссылку на скриншот главного окна knutclient на шаге 14.
@Влад
Сделано. Спасибо за сообщение.