Многим администраторам, обслуживающим серверную инфраструктуру так или иначе приходилось сталкиваться в своей работе с широко распространённой линейкой источников бесперебойного питания (ИБП) Smart-UPS торговой марки APC by Schneider Electric. Многие из тех, кому самостоятельно приходилось заниматься заменой батарейных картриджей и/или (о боже!) заменой аккумуляторных батарей в батарейных картриджах в этих ИБП, хорошо знают о том, что после замены батарей нужно проводить калибровку ИБП (Runtime Calibration) для того, чтобы ИБП скорректировал расчётное время работы от батарей. Однако далеко не все знают о том, что после смены батарей на некоторых моделях "умных" ИБП APC требуются дополнительные манипуляции по сбросу внутренних регистров блока управления ИБП для того, чтобы время работы от батарей рассчитывалось действительно корректно. В этой заметке мы рассмотрим пример того, как отсутствие необходимых действий может привести к некорректной работе ИБП и то, как это можно исправить.
В качестве примера мы будем рассматривать одну из старых моделей линейки APC Smart-UPS – ИБП APC Smart-UPS 5000 (SU5000RMI5U), 5kVA, 3750W.
После длительного срока эксплуатации ИБП (6 лет) без замены батарей, расчётное время работы от батарей (при условии их полной зарядки) даже при невысоком уровне нагрузки стало выглядеть очень уныло – порядка 11 минут при нагрузке ~33%
Чтобы узнать о том, каким на самом деле должно быть время работы от батарей при конкретной нагрузке, можем обратиться к сайту производителя, где на странице информации об ИБП на вкладке Technical Specifications в разделе Batteries & Runtime есть ссылка на график Runtime Graph
Так как в графике нагрузка указана в Ваттах, нам потребуется перевести процентную величину нагрузки, которую нам показывает ИБП в Ватты, то есть 3750W * 32,7/100 = ~1226W. Пройдёмся по кривой графика курсором мыши до, примерно, нашего значения нагрузки в Ваттах (шаг графика - 25Ватт) и узнаем какое ориентировочное время работы от батарей должно быть при такой нагрузке. В нашем случае это ~38 минут.
Таким образом, время работы от батарей на нашем ИБП при текущей нагрузке должно быть примерно в три раза больше от того, что мы сейчас имеем. Понятно, что в нашем случае для решения проблемы, в первую очередь, необходима замена аккумуляторных батарей, так как они уже отработали приличный период и вышли за пределы Expected Battery Life (см. скриншот выше), заявленный производителем, который оставляет до 5 лет.
Однако, проведя на ИБП горячую замену аккумуляторных батарей (без отключения продуктивной нагрузки) и выполнив после этого процедуру калибровки, мы обнаруживаем, что расчётное время работы от батарей не изменилось в большую сторону и по прежнему составляет около 10 минут.
Причиной такого поведения ИБП может являться то, что в процессе эксплуатации в блоке управления ИБП со временем могут меняться в меньшую сторону значения некоторых регистров, которые используются при расчёте времени работы от батарей. Поэтому при замене батарей, как минимум, может потребоваться корректировка регистра "0" для того, чтобы последующий расчёт времени работ от батарей в процессе калибровки был высчитан корректно и не давал в дальнейшем ощутимых перекосов.
Сделать корректировку регистра можно при прямом подключении к COM-порту, расположенному на задней части ИБП. В Интернете можно найти материалы, в которых для корректировки регистра используются какие-то специализированные утилиты, например, утилита UpsDiag, описание использования которой можно найти в статье Калибровка ИБП APC Smart-UPS 1000 RM. В нашем случае данная утилита по какой-то причине не заработала, поэтому мы будем использовать подключение на COM-порт с помощью PuTTY.
Итак, общая последовательность действий по приведению нашего ИБП во вменяемое состояние будет такой:
1) Подключаемся к COM-порту и устанавливаем на ИБП регистр "0" в максимальное значение.
2) Устанавливаем на ИБП дату замены батарей и количество внешних блоков батарей.
3) Убедившись в полном заряде батарей и небольшой нагрузке (35/40%), запускаем калибровку.
4) Проверяем результат
Далее пошагово рассмотрим описанные этапы и обратим внимание на их особенности.
Подключаемся к COM-порту ИБП и корректируем регистр "0"
Для подключения к COM-порту ИБП APC потребуется специальный кабель от производителя, который, как правило, поставляется в комплекте с ИБП. Этот кабель используется для прямого подключения к ИБП из ПО управления PowerChute Business Edition и он же может использоваться для прямого подключения через сторонние утилиты типа PuTTY.
Использовать какие-то сторонние и непроверенные кабели крайне не рекомендуется, так как на разных моделях ИБП последовательной порт используется для управления такими операциями, как, например, выключение ИБП, поэтому, по некоторым сведениям, даже само подключение неправильного кабеля может привести к неожиданным результатам.
Если кабель, поставляемый вместе с ИБП утерян, то информацию о модели совместимого с ИБП кабеля можно найти на сайте производителя (посмотреть в руководстве пользователя к ИБП или сделать запрос на форум поддержки). Если в руки попался кабель очень похожий на то, что нам нужно, но мы не уверены, то можем прозвонить этот кабель мультиметром. Информацию по распиновке разных моделей кабелей можно найти, например, здесь: APCUPSD User Manual - Cables
В нашем случае, для подключения к ИБП SU5000RMI5U требуется кабель с интерфейсом RS-232C (DB-9M/DB-9F) с кодом APC 940-0024 (Кабель связи с ИБП по протоколу Smart Signalling)
На всякий случай приведу схему распиновки данной модели кабеля:
Прозвонив кабель, и убедившись в том, что это именно то, что нам нужно, подключаем его к COM-порту на задней панели ИБП (выделен оранжевым)
Если в Smart-Slot ИБП установлен модуль управления APC Network Management Card/NMC (выделен красным), то для возможности корректировки регистров ИБП через COM-порт, потребуется на время извлечь из слота этот модуль (в наше случае модуль из Smart-Slot может быть извлечён или включён обратно "на горячую"). Если этого не сделать, то мы попросту не сможем подключиться к ИБП в режиме программирования.
Второй конец кабеля подключаем к стандартному COM-порту компьютера. В нашем случае в качестве компьютера выступает физический сервер с COM-портом на базе ОС Windows Server 2012 R2 . На сервере запускаем утилиту PuTTY (с правами администратора), переходим на вкладку Serial и настраиваем параметры подключения к последовательному порту:
- 2400 bauds
- 8 Data bits
- 1 Stop bit
- None Parity
- XON/XOFF Flow control
Открыв подключение к порту, аккуратно (не нажимая никаких лишних клавиш), нажимаем сочетание "Shift" + "Y". Если нет никакой реакции со стороны ИБП, повторно нажимаем это сочетание, пока не появится ответ "SM", что означает переключение сессии в режим Smart Mode
Затем нажимаем "1", ждём пару секунд и снова нажимаем "1". Опять же, важно не нажимать никаких других кнопок, и если с первого раза ИБП не ответил, то повторяем попытку снова, варьируя интервал между нажатиями "1" от одной до 4-5 секунд. Если ИБП не отвечает, можно попробовать перезапустить сессию подключения к COM-порту, так как замечено, что после некоторой безуспешной последовательности нажатий, ИБП может полностью перестать отвечать.
В результате парных нажатий "1" мы должны добиться от ИБП ответа "PROG", что означает что мы успешно перешли в режим программирования.
Теперь мы можем обратиться к интересующему нас регистру "0". Для этого нажимаем на клавиатуре "0", на что ИБП должен нам вернуть некоторое hex-значение (в нашем примере это "44")
Увеличить или уменьшить это значение мы можем с помощью кнопок "+" или "-", при этом каждое нажатие будет сопровождается звуковым сигналом ИБП. Нам нужно выставить редактируемый регистр "0" в максимально возможно значение. Нажимаем кнопку "+" до тех пор, пока не дойдём до самого большого значения "FF" (если вдруг проскочили это значение, то значения пойдут повторно, начиная с самого малого "00").
После того, как нужное значение регистра установлено, нажимаем сочетание клавиш "Shift" + "R" для того, чтобы покинуть режим программирования. В ответ от ИБП мы получим "BYE"
На этом корректировка регистра закончена и окно PuTTY можно закрыть.
Дополнительно можем повторно переподключиться к COM-порту и убедиться в том, что ИБП возвращает именно то значение, которое мы установили. Используем туже последовательность кнопок ("Shift" + "Y", "1"…"1","0","Shift" + "R")
Дополнительную информацию о том, какие ещё значения мы можем получать и передавать в режиме Smart Mode (SM) при прямом подключении на COM-порт ИБП, можно, например в статье APC’s smart protocol.
После того, как работа с COM-портом завершена, можем снова вставить в Smart-Slot ранее отключенный модуль NMC.
Устанавливаем на ИБП дату замены батарей и количество внешних блоков батарей
Отдельное внимание стоит обратить на правильность установки констант, содержащих количество батарей и дату установки батарей, так как эти показатели, в купе с выше откорректированным регистром, влияют на расчёт времени работы от батарей. Установить правильные значения этих констант нужно до того, как запускать калибровку.
Если ИБП, как в нашем примере, управляется с помощью модуля NMC, то изменить значения количества батарей и времени их установки можно, например, через веб-интерфейс NMC, перейдя на вкладку UPS и выбрав в меню Configuration > general
Если со значением Last Battery Replacement всё понятно, то относительно значения External Batteries можно сказать, что всё не всё так просто, как кажется. Дело в том, что у разных моделей ИБП APC используется разная логика для подсчёта этого показателя. Некоторую обобщенную информацию по этому поводу можно найти в документе APC FAQ - FA156601 - Adding External Batteries to an SU, SUM, SURT, SURTA, SURTD or SUA series Smart-UPS XL. Помимо этого некоторую информацию можно получить на форуме поддержки. Точную информацию по той или иной модели ИБП можно попробовать поискать в документации к ИБП. Говорю "попробовать" по той причине, что не у всех моделей ИБП можно найти эту информацию в документации. Например, у рассматриваемого в нашем примере ИБП, такой информации в доступном на сайте документе User’s Manual просто нет. Возможно это связано с тем, что данная модель ИБП не предполагает подключение каких-либо дополнительных блоков батарей. Поэтому в нашем случае, в соответствии с вышеупомянутым документом FAQ, в поле количество батарей устанавливается значение равное 0.
В качестве дополнительного примера приведу выдержку из документа Installation and Operation Smart-UP RT к другой модели ИБП (APC Smart-UPS RT 6000VA RM SURT6000XLI), где конкретно расписано то, по какому принципу рассчитывается показатель External Batteries. Здесь объясняется, например то, что в случае, если к ИБП подключен один внешний блок батарей (SURT192XLBP), то показатель External Batteries будет равен 2, так как в подсчёт включается внутренняя батарея ИБП.
Если же указать неправильное значение количества батарей, то это может привести к искажению результата расчётного времени работы от батарей, как, например, описано здесь: APC Smart-UPS RM 5000VA 5U калибровка
После корректировки регистра "0" и изменения количества батарей, ИБП может резко увеличить показатель времени работы от батарей. Для наглядности покажу этот скачок на графике в системе мониторинга Icinga:
Однако эти данные нельзя считать объективными до тех пор, пока после реконфигурации ИБП не будет проведена калибровка, в результате которой расчётные показатели должны приблизиться к реальным.
Запускаем калибровку и проверяем результат
Перед запуском калибровки ИБП нужно дождаться полного заряда батарей. В разных источниках в Интернете можно встретить схожую рекомендацию проводить калибровку при небольшой нагрузке в районе 35-40% от предельно допустимого значения. Рассматриваемый в нашем примере ИБП как раз имеет приблизительно такую нагрузку. Запустить процедуру калибровки можно, например, через веб-интерфейс NMC, перейдя на вкладку UPS и выбрав пункт меню Diagnostics
По окончании процесса калибровки расчётное время работы от батарей должно скорректироваться. На нашем графике хорошо видно, что после скачка, вызванного реконфигурацией ИБП, идёт провал, вызванный калибровкой, а после завершения калибровки расчётное время выходит на более вменяемый показатель.
В конечном итоге, в рассматриваемом нами примере, ранее отображаемое ИБП время работы от батарей с ~10 минут увеличилось до ~30 минут, то есть ощутимо приблизилось к показателю, который мы видели на графике на сайте производителя.
Дополнительные источники информации:
А что делать если при выключении питания на APC SUA1500I процент падает до 70-80% моментально, а дальше идет постепенный разряд?
При этом батареи менялись(недавно), и калибровка через сетевую карту делалась. Но вот значения так не сбрасывали.
Упсы разных годов, от 2005 и выше
Ну вот и попробуйте. У меня есть 6000 ИБП, где в процессе разрядки была похожая ситуация, но после сброса регистра и повторной калибровки время работы от батарей немного увеличилось и при разряде стало вести себя плавней. Возможно, конечно что в Вашем случае, это нормально для ИБП, главное при этом чтобы он отрабатывал расчётное время, обещанное производителем (смотрите график на сайте APC)
Дополнительную информацию о совместимости разных моделей интерфейсных кабелей APC с разными моделями ИБП можно найти на Вики-странице https://wiki.it-kb.ru/apc/apc-smart-back-ups-serial-cables-pinouts
Огромное спасибо за подробную статью, смог по аналогии сбросить регистры в ИБП APC Smart UPS RT-10000. Действительно сетевой модуль не дает зайти в режим PROG, извлек его точно так же на горячую, перезапустил Putty и все получилось. Кабель использовал 940-1524D + COM-USB адаптер, предварительно прозвонил - распиновка совпадает.
Пожалуйста, Константин. Распиновку и другую информацию о кабеле 940-1524D, как и о ряде других интерфейсных кабелей APC, можно найти в Вики https://wiki.it-kb.ru/apc/apc-smart-back-ups-serial-cables-pinouts
У меня когда выключаешь ИБП на ночь, при помощи кнопки выкл, за ночь батареи садятся на ~10%. Потом после вкл заряжаются. Это нормально? Случай: APC Smart-ups 750xl Были установлены новые аккумы, проведена калибровка через ПО apcfix.
Отличная статья! Только вот почему-то после входа в SM нет возможности нажать 1 чтобы войти в режим prog, сразу идет ответ NA ИБП APC Smart-UPS RT 15 кВ·А. Карту управления вынимал на горячую. На другие команды SM отвечает штатно. Может подскажете, куда смотреть?
Спасибо за статью, столкнулся с тем же на старых стоечных 3000 RT. Но т.к. использую на них NMC1 карты, теперь непонятно можно ли нагорячую их извлечь. Есть ли где-то информация на каких ИБП можно карты извлекать нагорячую?
А что делать если в режим prog войти не удается? Насколько я понимаю не все ИБП это позволяют. На SUA5000RMI5U мне не удалось это сделать. Нажимал 1 с разными интервалами - толку нет. Стоит сказать что нажать 0, и увидеть состояние регистра можно без входа в режим prog. У меня там было записано значение 32. После калибровки стало A0. Думаю, что на этом ИБП вообще не надо париться по поводу этого регистра. Калибровка сама его исправит.
Попробуйте задать вопрос относительно этой модели на профильном форуме APC
Спасибо большое, после замены APC SUA2200 стал показывать 0 минут, благодаря вашей статье скинул счетчик и все гуд.
su2200xli - падает напряжение батарей с 55V до 51-50V за пару минут с нагрузкой около 300 Ватт при работе от батарей само собой. Батареи новые CSB GP. В покое до установки на всех батареях было около 13В. После резкой просадки напряжение долго держится на уровне 49-50 и дальше падает плавно и в целом время работы выглядит корректным (300 Ватт нагрузки держит около 90 минут) т.е. как будто батареи дохловатые. Ощущение что либо батареи не очень либо UPS их недозаряжает. Калибровку делал разрядкой, если и помогло то незначительно.
Также при отключении UPS на ночь - утром батареи разряжены до 95%. На старых батареях (им было около 4х лет) утром было около 60% и если стартануть комп до завершения self test UPS ругался что батареям уже все (видимо напряжение падало ниже некоего предела). Года 4 назад на предыдущих батареях (Delta) за неделю заряд падал до 85%. В принципе понятно что физических выключателей у UPS нет, т.е. что то он тянет от батарей, но не многовато ли.
В целом про просадку, чем больше думаю, тем больше похоже что батареи так себе, хотя и свежие, им пол года, пришли в нормальном состоянии, подзаряженные.
попробуйте после выключения его еще немного выключить. а именно - нажали кнопку выкл. он выключился. отпустили. и нажали-подержали выкл еще раз. услышите счелчек - ибп выключился "совсем".
Здравствуйте.
На текущий момент есть АРС6000. В нём две кассеты, в каждой по 8 акб типа 1220. Есть желание попробовать вместо них подсоединить в качестве внешних, 16 акб типа 1207. Но есть некоторое опасение, что из ИБП от такой переделки может выйти весь волшебный дым. Что-то можно изменить в регистрах 4, 5 и 6 чтоб ИБП понял и принял такой апгрейд?