Установка и настройка apcupsd на Hyper-V Server

Ранее я уже рассказывал об использовании утилиты управления упсами компании APC на примере гипервизоров Xenserver. Сейчас хочу рассказать о том, как установить и настроить apcupsd на Hyper-V Server. Это бесплатный гипервизор компании Microsoft без графической оболочки. Вся трудность только в этом, процесс установки на обычный сервер не представляет никаких проблем. Хотя тут тоже все просто, но может показаться кому-то не очевидным.

Введение

Ранее я рассказывал об устновке и настройке apcupsd на XenServer. Вся теоретическая часть есть там в начале и в конце статьи. В данном случае я предлагю использовать apcupsd в качестве клиента, который получает информацию об электропитании по сети от сервера, в которому подключен ups напрямую. Сам же сервер hyperv подключен к другому ups, который никак не мониторится и не управляется.

После отключения электричества гипервизор hyperv подождет момента, когда заряд батареи упса, подключенного к основному серверу упадет до уровня 50% или время работы от батареи будет ниже 20 минут и начнет завершение своей работы.

Установка apcupsd на hyper-v

Я буду считать, что вы установили и настроили бесплатный гипервизор Hyper-V по моей статье. Если это не так, то ориентируйтесь сами по ходу дела. Сначала нам нужно скачать программу под windows c официального сайта. Скачанный файл положите в любую папку на гипервизоре. В моем случае это папка C:soft. Подключайтесь к гипервизору по rdp и с помощью командной строки переходите в эту папку:

Запуск установки apcupsd на Hyper-V

Запускайте через командную строку установочный файл. Запустится стандартный инсталлятор:

Setup Wizard

Нажимаете Next и переходите к пункту выбора компонентов. Так как к моему серверу упс не подключается, мне не нужны драйвера, достаточно только службы, поэтому я вибираю только ее. Если планируете упс подключить к гипервизору, установите еще и драйвера:

Выбираем компоненты для установки

Выбираете пункт Install Apcupsd as a Service, запускать ее пока не надо

Установить apcupsd как службу

Если все прошло успешно, в конце увидите сообщение:

Успешная установка

На этом установка apcupsd на бесплатный гипервизор hyper-v закончена. Переходим к настройке.

Настройка apcupsd

На компьютере, с которого происходит управление гипервизором открываете папку на серере, куда установили apcupsd. В моем случае это c:apcupsd. Дальше в папке etcapcupsd располагается конфигурационный файл apcupsd.conf, открываете его и редактируете. Не копируйте мой файл полностью, а укажите необходимые параметры у себя. В моем случае конфиг получился такой:

## apcupsd.conf v1.1 ##

# 

# for apcupsd release 3.14.14 - win32-mingw

#

# "apcupsd" POSIX config file



UPSCABLE ether

UPSTYPE net

DEVICE 192.168.0.1:3551

SCRIPTDIR c:apcupsdetcapcupsd

PWRFAILDIR c:apcupsdetcapcupsd

NOLOGINDIR c:apcupsdetcapcupsd

ONBATTERYDELAY 6

BATTERYLEVEL 50

MINUTES 20

TIMEOUT 0

ANNOY 300

ANNOYDELAY 60

NOLOGON disable

KILLDELAY 0

NETSERVER off

NISIP 0.0.0.0

NISPORT 3551

EVENTSFILE c:apcupsdapcupsd.events

EVENTSFILEMAX 100

UPSCLASS standalone

UPSMODE disable

STATTIME 10

STATFILE c:apcupsdapcupsd.status

LOGSTATS off

DATATIME 0

Теперь можно запустить службу Apcupsd UPS Monitor в списке служб гипервизора. Сделать это можно с машины, которая настроена на управление гипервизором. В случае успешного запуска в папке c:apcupsd появятся 2 файла:

  • apcupsd.events
  • apcupsd.status

В первом файле будет информация о старте сервиса:

2016-09-12 15:59:40 +0300  apcupsd 3.14.14 (31 May 2016) mingw startup succeeded

Во втором информация об UPS:

APC : 001,027,0701

DATE : 2016-09-12 16:28:58 +0300 

HOSTNAME : xm-hyperv

VERSION : 3.14.14 (31 May 2016) mingw

UPSNAME : xm-xen02

CABLE : Ethernet Link

DRIVER : NETWORK UPS Driver

UPSMODE : ShareUPS Master

STARTTIME: 2016-09-12 15:59:40 +0300 

MASTERUPD: 2016-09-12 16:28:58 +0300 

MASTER : 192.168.0.1:3551

MODEL : Smart-UPS C 1500 

STATUS : ONLINE SLAVE 

BCHARGE : 100.0 Percent

TIMELEFT : 75.0 Minutes

MBATTCHG : 50 Percent

MINTIMEL : 20 Minutes

MAXTIME : 0 Seconds

BATTV : 27.3 Volts

NUMXFERS : 0

TONBATT : 0 Seconds

CUMONBATT: 0 Seconds

XOFFBATT : N/A

STATFLAG : 0x07000408

SERIALNO : AS1525211660

NOMBATTV : 24.0 Volts

FIRMWARE : UPS 10.0 / ID=1005

END APC : 2016-09-12 16:28:58 +0300

На этом настройка apcupsd закончена. При наступлении времени выключения, гипервизор завершит работу всех виртуальных машин и выключится сам. Главное правильно подобрать время, чтобы сам гипервизор успел выключиться и не высохли батареи того упса, к которому подключен он сам. Ставьте приличный запас на всякий случай.


Обязательно нужно проверить, что на всех виртуальных машинах установлены службы интеграции, чтобы гипервизор мог корректно выключать виртуальные машины. Я не проверял, что будет, если службы интеграции не установлены. Может быть два варианта — либо принудительно завершит работу, либо вообще не завершит работу ни виртуалки, ни себя, а потом аварийно выключится, когда заряд батарей закончится.

Заключение


Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

Вопрос корректного завершения работы гипервизоров при подключении к UPS достаточно актуальный. Я не однократно сталкивался с такими вопросами в итернете. Какого-то надежного и популярного решения для этого я не встречал. В случае с XenServer или Hyper-V все решается относительно просто с помощью apcupsd. С VMware будет посложнее, но тоже возможно. Там UPS пробрасывают в виртуалку, настраивают apcupsd и с помощью скриптов по ssh отправляют команду на выключение на гипервизор. Я как-то пробовал так сделать, сходу не получилось, а отладить решение не было возможности. В итоге не стал разбираться. Данная схема мной уже проверена на практике и успешно работает.

Помогла статья? Подписывайся на telegram канал автора


Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.









2016-09-16T15:03:55
Hyper-V