Windows 2012 r2 ups

Windows 2012 r2 ups

КОНФЕРЕНЦИЯ СТАРТКОПИ
Принтеры, копировальные аппараты, МФУ, факсы и другая офисная техника:
вопросы ремонта, обслуживания, заправки, выбора

Во первых, я ни разу не сисадмин.
Во вторых, не предлагать снести 2012 и поставить 2003
В третьих, не предлагать сменить безперебойник на более крутой.

Теперь в нулевых:
есть свежепоставленный сервер, есть ИБП APC Back-Ups CS500, оно же — BK500EI
На этом упсе есть проводок к USB порту.
Теоретически любая винда, и этот не исключение, может работать без чего либо постороннего с беспербойниками этой фирмы, правда, теперь не может — я для пробы поставил туда PowerShut Personal Edition, и такая возможность пропала, не появляется и после сноса этого ПО.
И все бы хорошо, но:
1. Парашут не выключает сервер, а переводит в гебернацию, и как это изменить — я не нашел.
2. В БИОСе можно поставить, что сделать после появления питания — например, включить комп сразу или вернуться в состояние, предшествующее отключению, то:
2.1. Если напряжение появилось до того, как бесперебойник полностью выключился, то вроде как и происходить нечему — напряжение то не пропадало.
2.2. Если напруги не было дольше — то вроде все хорошо: комп вернется к состоянию, предшествующему факту пропадания напряжения — это состояние гибернации, блин — на фиг оно мне нужно?
3. Это уже на закусь.
Отключаю сетевой кабель от ИБП, дожидаюсь, пока комп заснет, включаю кабель и. по индикаторам на ИБП судя продолжается работа от батареи.
Если комп все таки включить — парашут говорит о том, что идет питание от сети, и работа завершается при полном отрубе ИБП, что и понятно — посмотрел бы я на комп, который будет работать без 220.
Если в этом непонятном состоянии отключить USB кабель между ИБП и компом — ИБП переходит на батарею.

Что с этим делать — я не знаю, как и не знаю, как вернуть родную систему управления питанием — нет там вкладки «работа от батареи», хотя до первой установки парашута — была.

Мож кто имел дело с подобными траблами или просо мысли какие есть?
Потому как у меня мыслей уже нет, остались только слюни, причем весьма ядовитые.

1. Жорик Вартанов 31.10.13 17:26

Дим, у меня только одна мысль, но ты её загубил на корню.
С серваками обычно используют только СМАРТ-УПСы, никак не БЭКи. БЭКи для пользовательских станций.

(1) Да я понимаю, но сервер то — одно название.
Ну, и операционка.
Черт его знает, как бы не пришлось переустанавливать систему, что бы вернуться к виндовой оснастке, может, с ней будет получше?
Только вот последний образ — вроде как все установлено, кроме WSUS разве что (точно не помню) — но нет обновлений, примерно так на полгига.
Почему и очень не хочется начинать все сначала.

KB2734608 не оно косячит случаем?

4. Александр 54rus 31.10.13 21:09

(0) Может и какую крамольную вещь скажу, но: у матери порты USB побиты и ничего (кроме замены мамы) сделать нельзя.

5. Александр 54rus 31.10.13 21:34

(0) Если время терпит могу взять справку у приличных спецов.
На выходных проконсультируюсь и отпишусь в почту.

(3) А черт ее знает, только каким боком пакет обновления к WSUS к этому вопросу?
Тем паче что WSUS у меня изначально 3.0 SP2.
(4) Ой вряд ли. Ведь видит же, а остальное — глюки ПО, непонятно как написанного.
Зато интуитивно понятного.
(5) В принципе, я собирался завтра сохранить текущее состояние в образе и восстановить из образа предыдущее — пока я еще парашут не ставил.
И время терпит — это мы наш совсем не сервер меняем на не совсем сервер, если совсем не сервер не упадет совсем за выходные. три года не падал, еще постоит 🙂
Но вопрос у меня какой то сильно идиотский, как мне кажется — в большинстве случаев гугл помогает, этот — исключение.
Или глаз до того замылился, что не замечаю чего то очевидного.
Так что подожду — а вдруг?

Читайте также:  Нам не удалось установить драйвер устройства при установке windows

Восстановил из образа, где еще не было установлено этой байды под названием PowerShut Personal Edition и работала встроенная виндовая оснастка для работы с ИБП — и все стало относительно по человечески.

Сейчас или найду способ, как после сноса PowerShut Personal Edition вернуть доступ к управлению ИБП родной оснасткой, либо просто сделаю снова то, что сделал хорошего между двумя этими образами.

Редкий случай, когда программа от производителя работает на порядок хуже виновой оснастки.

8. Александр 54rus 08.11.13 20:48

(7) НЕ редкий.
А мои «гуру» сказали как по алфавиту: «Сам — бы увидел, тогда и выводы».
Так и не поняли сути — видимо «профи» тоже не могут частный случай к теории подтянуть, или нет её вовсе-((
Простите что поздно пост, но уважительные причины были.. На выходных приключения в поездке на новом авто по Кулындинским степям.. Мало по малу живыми вернулись.

(8) Саш, да все нормально.
В принципе, я плюнул, восстановил из образа, накатил полгига обновлений — не руками же их тащить — и все отлично работает без этого гребанного парашута.
Спасибо, что не забыл и спросил.
Теория. Теория там точно есть, только вот лень было отлавливать те изменения, как я понимаю — в реестре что то правит, потому как ручками я по службам пробежался — и криминала не нашел.
Можно было сделать пару снимков реестра и сравнить — но напору не было.

. иногда кажется — как хорошо, что я хожу пешком.

Настройка NUT для управления ИБП с нескольких серверов

NUT — это Network UPS Tools или набор программных компонентов, предназначенных для мониторинга силовых устройств, таких как источники бесперебойного питания (ИБП), блоки распределения питания, солнечные контроллеры и блоки питания серверов.

В среде Linux — NUT — это стандарт де-факто для управления ИБП, который позволяет производить мониторинг ИБП не только с сервера к которому подключен ИБП, но и по сети, а так же выполнят ряд действий при наступлении определенных условий. Например, в случае когда заряд батарей ИБП истощается NUT может произвести корректное завершение работы серверов и уведомить об этом системного администратора.

Как настроить NUT на Linux и Windows серверах ? Читаем ниже.

Исходные данные:
1. В локальной сети организации есть 2 сервера под управлением Debian 8.9 (jessie) и 1 сервер под управлением Windows Server 2012 R2;
2. Есть ИБП компании APC, модель Smart-UPS 1000. ИБП подключен по USB к одному из серверов Debian 8.9 (jessie);

Задача:
На сервере Debian 8.9 к которому подключен ИБП установить серверную часть NUT и настроить клиентскую часть NUT на этом сервере и других серверах. В случае перехода питания серверов на ИБП и истощения заряда батарей ИБП нужно произвести корректное завершение работы всех серверов.

Распределение IP адресов во внутренней сети компании между серверами:
192.168.100.1 (srv1.mycompany.ru) — Сервер Debian 8.9 (jessie) к которому подключен APC Smart-UPS 1000 по USB — на нем будет серверная часть NUT и клиентская;
192.168.100.2 (srv2.mycompany.ru) — Сервер Debian 8.9 (jessie) — на нем будет клиентская часть NUT;
192.168.100.3 (srv3.mycompany.ru) — Сервер Windows 2012 R2 — на нем будет клиентская часть NUT;

Настройка серверной части NUT.

1. Проверим факт обнаружения нашего ИБП ядром Linux с помощью утилиты lsusb:

Для ИБП марки APC Smart-UPS значения idVendor и idProduct будут 051d и 0002 соответственно.

2. Установка NUT (серверной части на хосте 192.168.100.1):

Далее отредактируем файл /etc/nut/ups.conf и приведем его к виду:

Этой минимальной конфигурации хватит для нашего ИБП.

Как Вы уже догадались в файле /etc/nut/ups.conf описываются все наши ИБП, а так же драйвер и их параметры для работы с NUT.

Читайте также:  Как работать с telnet windows 10

Нашему ИБП мы присвоили имя apc и будем использовать драйвер usbhid-ups.
Драйвер usbhid-ups гарантировано работает с ИБП Smart-UPS компании APC.
Более детально со списком драйверов и списком ИБП каких фирм может работать NUT описано на этой странице. Список параметров драйвера usbhid-ups можно посмотреть на этой странице.

3. Настройка драйвера NUT для работы с нашим ИБП.

Далее нам нужно установить права на наше USB устройство чтобы драйвер NUT смог работать с ним.

Для этого создадим правило /etc/udev/rules.d/90-nut-ups.rules для udev со следующим содержимым:

Далее нужно перечитать все правила, для этого выполним:

Для тех кто хочет понять в чем тут дело, объясняю:

При выводе информации по нашему ИБП с помощью lsusb мы можем увидеть строку «Bus 004 Device 003»:

Она говорит, что ядро Linux при подключении нашего ИБП по USB присвоило ему номер шины обмена данными 4 и id устройства 3, само наше устройство соответственно будет находится по такому пути /dev/bus/usb/004/003 а владельцем будут пользователь root и группа root с правами 664 (crw-rw-r—), но для работы драйвера NUT этого не достаточно, драйвер в таком случае не сможет управлять устройством.

С помощью файла /etc/udev/rules.d/90-nut-ups.rules и утилиты udevadm мы задали правило для сервиса udev который управляет периферией, получая от Linux ядра разного рода уведомления. По этому правилу для нового устройства с определенным idVendor и idProduct владельцем будет назначаться группа nut.

Если интересно, то запросить информацию у udev по нашему устройству можно так:

4. Теперь запустим все драйвера NUT описанные в /etc/nut/ups.conf с помощью команды:

Если в файле /etc/nut/ups.conf у Вас описаны несколько ИБП, то остановить конкретный драйвер или запустить его можно так:

5. Теперь опишем права доступа к нашему серверу NUT для доступа клиентских ОС по сети, за это отвечает файл /etc/nut/upsd.conf

Директива LISTEN задает адрес и порт на котором будет принимать соединения демон upsd (Сервер NUT).

ВНИМАНИЕ! Директивы ACL, ACCEPT, REJECT в файле /etc/nut/upsd.conf больше не используется и является устаревшей.

6. Теперь опишем пользователей и пароли для подключения клиентских устройств к серверу NUT, за это отвечает файл /etc/nut/upsd.users:

В секции [admin] мы описали пользователя для управления NUT через утилиту upscmd, а так же разрешили менять все параметры самого ИБП (строка actions = SET и instcmds = ALL).
Если нужно разрешить пользователю admin менять только определенные параметры, то их нужно описать в опции instcmds, например так:

Секции [local_mon] [srv2_mon] и [srv3_mon] описывают пользователей для клиентских ОС, на них будет стоять клиентская часть NUT.
В этих секциях мы указали индивидуальные пароли (опция password) и статус этих пользователей (опция upsmon).

Для пользователя local_mon мы указали в опции upsmon значение master, это сделано не спроста, дело в том что на том же ПК, где у нас будет работать сервер NUT мы настроим и клиентскую часть NUT и когда сервер NUT отправит всем клиентам сигнал о критическом состоянии батарей ИБП, то master должен выключиться самым последним из серверов, дождавшись выключения всех slave серверов.

ВНИМАНИЕ! Директива allowfrom в файле /etc/nut/upsd.users больше не используется и является устаревшей.

7. Настроим режим работы NUT на сервере 192.168.100.1 (работа в режиме сервера), для этого в файле /etc/nut/nut.conf напишем:

8. Запустим сервер NUT:

И проверим его статус:

Проверим открытые порты:

Настройка клиентской части NUT на серверах.

1. Настроим клиент мониторинга (upsmon), который будет заниматься слежением за состоянием ИБП и правильным завершением работы сервера при отсутствии электричества и полном разряде батарей. (Первый клиент у нас будет на том же хосте, что и сервер NUT, то есть на 192.168.100.1):

Для этого отредактируем файл /etc/nut/upsmon.conf и приведем его к виду:

Директиву NOTIFYCMD в которой как правило задают запуск планировщика upssched, а далее настраивают upssched.conf мы не используем. Если Вам нужно настроить уведомления на email или в мессенджеры и кастомизировать процедуру выключения, то тогда нужно настраивать планировщик. Но нам это пока не нужно.

Читайте также:  Настройка дополнительных клавиш windows 10

Самое интересное здесь — это директива

В ней описывается подключение к нашему серверу NUT, формат здесь простой:
MONITOR @

— берется с сервера NUT из файла /etc/nut/ups.conf, в нашем случае apc;
— думаю тут все понятно, для локального клиента это localhost;
— как правило это 1, если Вам нужно контролировать переход на питание от ИБП, но выключать этот сервер по сигналу NUT Вы не хотите, то установите этот параметр в 0;
и — думаю тут тоже все понятно, данные берутся с сервера NUT из файла /etc/nut/upsd.users;
— если указана опция master, то данный сервер будет выключаться после выключения всех slave серверов;

Так же нужно остановиться на директиве POWERDOWNFLAG и разъяснить как происходит отключение системы в случае когда заряд батарей ИБП истощается.
Итак, в режиме работы от батарей, перед самым их истощением, ИБП генерирует сообщение «battery low». Демон upsmon получает это сообщение от сервера NUT (от upsd) и обрабатывает этот сигнал, вызывая команду описанную в опции SHUTDOWNCMD для корректной остановки системы. Более детально данный процесс можно описать следующей последовательностью:
1. ИБП генерирует событие «battery low»;
2. upsmon получает данный сигнал от сервера NUT и инициирует выключение ПК;
3. Создается специальный файл POWERDOWNFLAG, являющийся признаком того, что система находится в режиме отключения в связи с истощением батарей ИБП;
4. Выполняется команда SHUTDOWNCMD;
5. RC-сценарий использует проверку флага POWERDOWNFLAG для предотвращения так называемой «энергетической гонки» (power race);

«Энергетической гонкой» называется ситуация, когда ИБП переходит в режим работы от сети вскоре после генерации сигнала «battery low», в процессе останова системы. В этом случае компьютер, настроенный на автоматическое включение после сбоя электропитания окажется заложником собственной «осторожности», ведь фактически никакого сбоя не произойдет. Многие современные ИБП имеют механизмы разрешения такой ситуации и дополнительного анализа POWERDOWNFLAG флага на стороне ОС как правило не нужно, но знать про это необходимо.

Теперь перезапустим клиента NUT командой

И проверим его статус:

Проверить подключение к серверу и вывести все параметры ИБП можно командой:

Посмотреть значение какого-то конкретного параметра можно указав дополнительно его имя:

Кроме того, как я писал выше есть более сложный клиент (upscmd), который позволяет не только просматривать настройки, но и выполнять команды.
Список доступных команд можно увидеть вот так:

2. Теперь настроим клиент мониторинга NUT (upsmon) на сервере под управлением Debian Linux (хост 192.168.100.2):

Отредактируем файл /etc/nut/upsmon.conf и приведем его к виду:

Отредактируем файл /etc/nut/nut.conf и приведем его к виду:

Теперь перезапустим клиента NUT командой

И проверим подключение к серверу NUT путем вывода всех параметров ИБП командой:

3. Теперь настроим клиента мониторинга NUT (upsmon) на серверe под управлением Windows Server 2012 R2 (хост 192.168.100.3):

Скачиваем инсталлятор NUT под Windows с официального сайта и устанавливаем.

Скачиваем OpenSSL 1.0.2q (x86) или новее, но обязательно x86 версию (Win32 OpenSSL v1.0.2q Light) и устанавливаем, в процессе установки когда нас спросят копировать файлы библиотеки в системную паку — отказываемся, далее копируем 3 файла (ssleay32.dll, libssl32.dll и libeay32.dll) из «C:\OpenSSL-Win32\» в «C:\Program Files (x86)\NUT\bin\»

Переименовываем файл «C:\Program Files (x86)\NUT\etc\nut.conf.sample» в «C:\Program Files (x86)\NUT\etc\nut.conf» и пишем в конце файла:

Далее переименовываем файл «C:\Program Files (x86)\NUT\etc\upsmon.conf.sample» в «C:\Program Files (x86)\NUT\etc\upsmon.conf» и приводим его к виду:

Открываем консоль cmd с правами Администратор и рестартуем службу:

И наконец там же из cmd проверяем подключение к серверу NUT путем вывода всех параметров ИБП командой:

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

Оцените статью