Monitoring an UPS with Windows Server 2012
When I clicked on it, I saw that the system was now providing information on the UPS charge just as if I had a laptop running on battery power, though the system is a desktop system. As the UPS was charging, I saw information on its charge state and when it was fully charged, clicking on the power icon in the system tray showed «fully charged» for the UPS battery.
Going to the Control Panel using Ctrl-Esc then clicking on Hardware, then selecting Device Manager showed «HID UPS Battery» beneath «Batteries».
Double-clicking on it opened a HID UPS Battery Properties window that showed «on American Power Conversion USB UPS» for «Location» under the General tab, so the operating system did recognize the manufacturer of the UPS.
Clicking on the Events tab, I saw that the driver name was hidbatt.inf .
To configure the actions Windows will take when the battery power becomes very low, I went to the Control Panel, then selected System and Security and then Power Options.
The «Balanced» power plan was selected; I clicked on «Change plan settings». Then at the Edit Plan Settings widow, I clicked on «Change advanced power settings».
I then clicked on «Change settings that are currently unavailable» at the Power Options window, since otherwise I would be unable to change the settings.
I then scrolled down to Battery and clicked on the plus sign to the left of it, so that I could expand it to see the options within it.
The setting for «On battery» within «Critical battery action» was «Shut down».
I changed it to «Hibernate». I had previously enabled hibernation mode for the system as explained at Enabling hibernation on a Windows Server 2012 Essentials system.
I then clicked on OK, which took me back to the Edit Plan Settings window.
The Save changes button there was grayed out, but that didn’t matter. When I closed the window and then reopened it and checked the settings going through the steps above again, I found that the option to hibernate when on battery for «Critical battery action» was set.
Created: Saturday February 21, 2015
Last modified: Saturday February 21, 2015 9:48 PM
Установка и настройка 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 и с помощью командной строки переходите в эту папку:
Запускайте через командную строку установочный файл. Запустится стандартный инсталлятор:
Нажимаете Next и переходите к пункту выбора компонентов. Так как к моему серверу упс не подключается, мне не нужны драйвера, достаточно только службы, поэтому я вибираю только ее. Если планируете упс подключить к гипервизору, установите еще и драйвера:
Выбираете пункт Install Apcupsd as a Service, запускать ее пока не надо
Если все прошло успешно, в конце увидите сообщение:
На этом установка apcupsd на бесплатный гипервизор hyper-v закончена. Переходим к настройке.
Настройка apcupsd
На компьютере, с которого происходит управление гипервизором открываете папку на серере, куда установили apcupsd. В моем случае это c:\apcupsd. Дальше в папке \etc\apcupsd располагается конфигурационный файл apcupsd.conf, открываете его и редактируете. Не копируйте мой файл полностью, а укажите необходимые параметры у себя. В моем случае конфиг получился такой:
Теперь можно запустить службу Apcupsd UPS Monitor в списке служб гипервизора. Сделать это можно с машины, которая настроена на управление гипервизором. В случае успешного запуска в папке c:\apcupsd появятся 2 файла:
В первом файле будет информация о старте сервиса:
Во втором информация об UPS:
На этом настройка apcupsd закончена. При наступлении времени выключения, гипервизор завершит работу всех виртуальных машин и выключится сам. Главное правильно подобрать время, чтобы сам гипервизор успел выключиться и не высохли батареи того упса, к которому подключен он сам. Ставьте приличный запас на всякий случай.
Заключение
Вопрос корректного завершения работы гипервизоров при подключении к UPS достаточно актуальный. Я не однократно сталкивался с такими вопросами в итернете. Какого-то надежного и популярного решения для этого я не встречал. В случае с XenServer или Hyper-V все решается относительно просто с помощью apcupsd. С VMware будет посложнее, но тоже возможно. Там UPS пробрасывают в виртуалку, настраивают apcupsd и с помощью скриптов по ssh отправляют команду на выключение на гипервизор. Я как-то пробовал так сделать, сходу не получилось, а отладить решение не было возможности. В итоге не стал разбираться. Данная схема мной уже проверена на практике и успешно работает.
Использование RADIUS (Windows Network Policy Server) для аутентификации и авторизации на ИПБ APC (Web/SNMP Management Card)
Если в организации имеется большое количество сетевых устройств, таких как маршрутизаторы, коммутаторы, сетевые принтеры, контроллеры управления ИБП и др., – рано или поздно может встать вопрос о централизации управления этими устройствами. Понятие централизации управления в данном контексте является очень широким и мы в данной заметке рассмотрим одну из его составляющих – централизация функций аутентификации/авторизации/контроля доступа к этим устройствам. Реализацию этих функций можно найти в программных и программно-аппаратных вариантах у разных производителей оборудования, но если речь идёт об унификации этих функций в парке устройств разных производителей, — на помощь нам приходит протокол RADIUS . Любой уважающий себя производитель сетевого оборудования имеет на сегодня для своих устройств поддержку этого протокола.
Рассмотрим на практике случай, когда в организации имеется некоторое количество источников бесперебойного питания (ИБП) фирмы APC с установленными в них контроллерами управления APC Web/SNMP Management card. Для сетевого доступа на каждый из таких контроллеров, как правило, используются встроенные в эти контроллеры учетные записи пользователей трёх категорий доступа:
- Полный административный доступ
- Доступ на чтение с функциями управления клиентами ИБП
- Доступ “только на чтение”
Встроенная в эти контроллеры поддержка протокола RADIUS позволит нам использовать вместо встроенной аутентификации аутентификацию на основе учетных записей Active Directory. Чтобы реализовать этот механизм поэтапно рассмотрим процесс установки/настройки сервера RADIUS на базе Windows Server 2008 R2 и последующей настройки ИБП. В качестве аппаратных исходных данных будут выступать ИБП APC с установленными контроллерами управления:
APC AP9619 Web/SNMP Management card
Hardware Revision: A10
Application Module — sumx — v3.7.2 — 02/02/2010
APC OS (AOS) — aos — v3.7.3 — 02/02/2010
Этап #1. Установка и активация сервера RADIUS
Итак, поднимаем виртуальный сервер с Windows Server 2008 R2 SP1 на борту, устанавливаем на него все текущие обновления с WSUS. В нашем случае имя сервера будет KOM-AD01-NPS01.
На этом сервере о ткрываем оснастку Server Manager, переходим в раздел Roles и в секции Role Summary вызываем мастер добавления ролей — Add Roles
В открывшемся мастере на шаге выбора ролей отмечаем роль Network Policy and Access Services.
На шаге выбора служб роли в нашей ситуации достаточно будет выбрать только службу Network Policy Server.
После того как установка роли успешно завершена, открываем оснастку Network Policy Server (nps.msc) через Панель управления > Administrative Tools
Для начала использования нужных нам функций сервера в доменной инфраструктуре необходимо провести его регистрацию в AD. Для этого в корне консоли правой кнопкой мыши откроем контекстное меню и выберем пункт меню Register server in Active Directory
При этом мы должны подтвердить наше намерение дать серверу полномочия в домене на чтение свойств учётных записей пользователей, касающихся удалённого доступа.
Этап #2. Добавление клиентов на сервер RADIUS
Теперь нам нужно внести на наш NPS сервер информацию о всех наших клиентах RADIUS. Для этого в дереве консоли NPS развернём раздел RADIUS Clients and Servers и на элементе RADIUS Clients откроем контекстное меню и выберем пункт New
В открывшемся диалоговом окне заполним поля Friendly name и Client address (IP or DNS) указав имя которое мы зарегистрировали предварительно в DNS для контроллера управления одного конкретно взятого ИБП.
Значение поля “Friendly name” может отличаться от DNS имени. Оно потребуется нам в дальнейшем для идентификации конкретного сетевого устройства при создании политик доступа — Remote Access Policy. Опираясь на это имя мы сможем задавать например маску по которой будут обрабатываться определённой политикой доступа несколько разных RADIUS клиентов.
В поля Shared Secret и Confirm shared secret введём пароль, который будет прописан в настройках UPS контроллера для подключения к серверу RADIUS.
Переключимся на закладку Advanced и выберем в списке вендоров оборудования RADIUS Standard, так как APC не представлен в этом списке.
Этап #3. Создание групп доступа в домене
Для того чтобы в дальнейшем настроить политики доступа, которые будут опираться на доменную аутентификацию, нам нужно создать в домене соответствующие локальные группы безопасности, в которые буду включены пользователи, которым можно будет получать доступ к контроллерам управления ИБП.
Так как контроллеры APC, как отмечалось ранее ранее, поддерживают три основные роли доступа, возможно будет удобно создать три соответствующие группы безопасности. При этом, стоит обратить внимание на то, что для пользователей, которые будут включаться в эти группы должно быть установлено разрешение в домене, дающее право удалённого доступа.
Этап #4. Создание политик доступа на сервере RADIUS
С помощью политик доступа мы произведём связку созданных ранее записей о клиентах RADIUS и доменных групп безопасности, определяющих уровень доступа к контроллерам ИБП. То есть в нашем случае будет создано три политики доступа.
Итак, создадим первую политику, определяющую полный административный доступ к контроллеру ИБП. В дереве консоли NPS в разделе Policies > Network Policies откроем контекстное меню и выберем пункт New.
В открывшемся мастере создания политики введём название создаваемой политики (пусть например оно будет созвучно с группой доступа) и выберем тип соединения Unspecified
На следующем шаге Specify conditions нам нужно добавить условия при которых будет применяться данная политика RADIUS. Добавим два условия, – чтобы пользователь, проходящий авторизацию, входил в определенную доменную группу безопасности, и устройство, к которому осуществляется доступ, имело определённое имя. Через кнопку Add добавим сначала условие выбрав тип Windows Group
В открывшемся окне добавления групп добавим сделанную ранее в домене группу безопасности которая будет служить для предоставления административного доступа. Здесь важно понимать, что использование встроенных групп безопасности таких как, например, Domain Admins не является хорошей практикой с точки зрения безопасности.
Затем добавим второе условие по свойству Client Friendly Name
В качестве значения можно использовать как конкретные “Friendly name” устройств так и их маску, например в нашем случае политика будет применяться ко всем клиентам RADIUS у которых в свойствах атрибута “Friendly name” указано значение начинающееся с “KOM-AD01-UP”
В итоге, в нашем случае, список условий будет выглядеть так:
На следующем шаге Specify Access Permission укажем, что данная политика является политикой, разрешающей доступ — Access granted
На следующем шаге Configure Authentication Methods отключим все методы аутентификации и включим метод Unencrypted authentication (PAP, SPAP), так как контроллеры ИБП APC в нашем случае поддерживают только этот метод.
При этом мы получим предупреждение о том, что выбранный метод является не безопасным и для того, чтобы оставить выбор в силе, нужно нажать — No.
На следующем шаге настройки дополнительных ограничений Configure Constraints можно ничего не изменять
На шаге конфигурационных настроек Configure Settings в разделе настроек стандартных атрибутов RADIUS удалим имеющиеся по умолчанию там два атрибута и добавим новый по кнопке Add.
В открывшемся окне выбора стандартных атрибутов, выберем Service-Type и нажмём Add.
Переключатель значения атрибута Attribute value установим в положение Others и из выпадающего списка выберем значение Administrative
В итоге список стандартных атрибутов RADIUS в нашем случае будет иметь только одну позицию:
После этого перейдём на шаг завершения создания новой политики доступа, получив сводную информацию о заданных нами настройках.
По аналогии создаём вторую политику с д оступом на чтение с функциями управления клиентами ИБП и при её создании в качестве стандартного параметра RADIUS выбираем Service-Type равный значению Logi n
Затем так же создаём третью политику с доступом “только на чтение” и при её создании в качестве стандартного параметра RADIUS выбираем Service-Type равный значению Authorize only
При создании и планировании политик обратите внимание на то что имеет значение их порядок. Политики обрабатываются сверху вниз, и когда получается что все условия в очередной политике соблюдены, их дальнейшая обработка прекращается. То есть с точки зрения безопасности и разруливания конфликтов между политиками правильней будет располагать политики в порядке возрастания административных полномочий.
Этап #5. Настройка контроллеров управления ИБП APC
Подключаемся к контроллеру управления ИБП APC например через Web-интерфейс используя его встроенную учетную запись администратора, переходим на закладку Administration > Security > Remote Users Authentication и включаем опцию RADIUS, then Local Authentication
Включение этой опции позволит нам в качестве основного режима аутентификации использовать наш сервер RADIUS, а в случае его недоступности (например в случае остановки службы) будет активироваться режим локальной аутентификации.
В настройках RADIUS указываем имя нашего сервера NPS и пароль, который мы использовали ранее в консоли NPS когда создавали запись об этом клиенте RADIUS.
При этом надо понимать, что если мы указываем имя а не IP-адрес сервера, в настройках контроллера должны быть прописаны работающие сервера DNS, чтобы контроллер мог корректно разрешать указанное нами имя сервера NPS в его IP-адрес. Так же при настройке интерфейсов управления контроллера ИБП важно включить функции шифрования трафика, например использовать HTTPS вместо HTTP или SSH вместо Telnet, так как при новых настройках в процессе аутентификации по сети на устройство будут передаваться учетные данные доменных пользователей.
Итак, после сохранения настроек выполняем выход из сеанса администрирования контроллером ИБП и входим заново используя доменную учетную запись (без доменных префиксов)
Если мы всё сделали правильно, то успешно пройдём авторизацию на нашем RADUIS сервере и в соответствии с нашими политиками доступа NPS получим определённый набор полномочий на контроллере ИБП. На закладке Logs мы сможем увидеть информацию о наших сессиях входа/выхода.
Помимо этого на нашем NPS сервере RADIUS в системном журнале Security будут зарегистрированы события прохождения авторизации с соответствующими кодами, например: