HP proliant cache module failure
In our windows server environment, we often get the alert for HP servers that storage cache module has failed. What exactly is the function of cache module?
asked Feb 22, 2020 at 11:19
Soumendra Patra Soumendra Patra
23 1 1 silver badge 4 4 bronze badges
1 Answer 1
Unfortunately, you are neither mentioning a specific server model nor a specific controller, thus I’m assuming Smart Arrays here. HP/HPE Smart Array RAID controllers provide a battery-backed cache to e.g. temporarily store data before transferring them to disks. The cache is DRAM, thus it’s a lot faster than typical disk drives, and this speeds up e.g. write operations.
Let’s go one step back: Once a data write to the cache is completed, the cache must be able to protect the data in case of a power loss before the data has been transferred to the drives. This happens using a battery, and the battery is normally what fails after some time which leads to alerts or failure reports, because you might be on risk when using a non-battery-backed cache. If this does not apply for you, you should provide a specific failure message here.
The HP document Smart Array technology: advantages of battery-backed cache describes the details of the cache in detail.
answered Feb 22, 2020 at 12:33
356 1 1 silver badge 7 7 bronze badges
You must log in to answer this question.
- hp-proliant
- hp-smart-array
-
The Overflow Blog
Related
Hot Network Questions
Subscribe to RSS
Question feed
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
Site design / logo © 2024 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2024.1.3.2953
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
HP Smart Array — cache module status degraded

Статья-исследование. Докопаемся до источника проблемы и исправим её.
Как обычно ночью сработал мониторинг. Хорошо, что он сработал, даже отлично. Плохо что ночью.
На сервере HP Proliant DL360 Gen9 произошёл сбой. iLO выплюнуло ошибку, zabbix сервер поймал событие, сработал триггер аппаратной проблемы. По триггеру отправилось письмо, SMS и сработал скрипт, который отправил на Asterisk call-файл. И наша телефония дозвонилась до меня, ночью, зараза. Я не разобрал что там промямлил в трубку робот, но главная задача по поднятию админа была выполнена, как говорится, смотрите подробности в SMS.
Отказал кэш RAID контроллера Smart Array P440ar:
Cache Module Status — Degraded

На первый взгляд проблема не критичная, может ждать до утра. А утром начались проблемы, — сильная деградация по дискам. Больше суток ушло на то, чтобы переместить виртуальные машины с данного гипервизора на другой сервер. Я не замерял, но скорость переноса данных увеличилась раз в пять. Некоторые сервисы пришлось остановить.
Оказалось, что кэш RAID контроллера заметно оптимизирует работу массивов.
Поиск проблемы
Сервер уже не на гарантии, справляться с проблемой придётся самому.
Есть несколько возможных точек отказа:
- Проблема программная, возможно, из-за недавней прошивки RAID контроллера. Может помочь перезагрузка, сброс настроек RAID контроллера, выключение-включение кэша.
- Проблема с RAID контроллером. Может помочь прошивка или замена.
- Проблема с модулем кэша. Поможет разборка-сборка, замена модуля кэша.
- Проблема с проводами или контактами. Поможет разборка-сборка, переподключение батарейки, замена батарейки.
- Проблема с батарейкой. Поможет замена батарейки.
Первым делом перезагрузил сервер и iLO. Не помогло.
Проверил статус батарейки. Статус OK.

Непонятно, загрузимся в HPSSA (HP Smart Storage Administrator). Перезагружаем сервер, при загрузке нажимаем F9 для входа в System Utilities.

Выбираем System Configuration.

Выбираем проблемный контроллер: Embedded RAID 1: Smart Array P440ar Controller.

Выбираем Exit and launch HP Smart Storage Administrator (HPSSA).

Выбираем (уже выбрано) Smart Storage Administrator. Сюда же можно попасть выбрав F10 (Intelligent Provisioning) при загрузке, но нужно будет успеть переключить пункт в этом окне.

Дожидаемся загрузки Smart Storage Administrator.

Видно, что на RAID контроллере Smart Array P440ar светится предупреждение.

Текст ошибки здесь более информативный:
Smart Array P440ar in Embedded Slot has one or more cache module batteries/capacitors that are recharging. Caching operations such Expansion, Extension, and Migration are temporarily suspended until the batteries/capacitors are fully charged. Caching operations will automatically resume when charging is complete.
Получается, батарейка находится в процессе зарядки. Такое случается, если воткнуть разряженную батарейку. Ошибка пропадёт после полной зарядки. Но в моём случае батарейка уже давно установлена, ошибка сама не пропадает.

Server → Actions → Diagnose.

View Diagnostic Report.

Начинается сбор диагностических данных.

Кэш RAID контроллера отключён, других ошибок нет. Полистал отчёт, ничего особенного не обнаружил.
Посмотрим на кэш. Tools → Cache Manager → Controller Cache → Controller Cache Details.

- Cache Status: Enabled, but not currently active.
- Cache Status Details: Cache disabled; power source charging is low.
- Battery/Capacitor Status: Recharging
Кэш отключён, т.к. батарейка заряжается, а уровень её заряда низок. Можно посмотреть больше деталей: View more details.

Более подробная информация нам особо не помогает, единственное, что интересно в нашем случае, это запись:
- Enable Write Cache When Battery/Capacitor Not Present or Not Completely Charged: Disabled
В кэше контроллера есть опция, позволяющая включить кэш при отсутствии батарейки или при низком её заряде. Если бы сервер был боевым, если бы нам срочно нужно было наладить работу сервера, то включение этой опции нам бы очень помогло. Вот только включить эту опцию мы не можем, так, как кэш в настоящий момент отключён: There are no available actions. Печаль, но есть обходной манёвр.
Временное решение проблемы
Помимо кэша контроллера у каждого физического диска есть собственный кэш, который по умолчанию в RAID массивах отключён. Включим.

Smart Array P440ar → Actions → Configure → Modify Controller Settings.

Меняем галку Physical Drive Write Cache State на Enabled. Save Settings.

Controller Settings were successfully saved. Настройки сохранены. Как вы думаете, что сейчас произойдёт? Правильно, кэш RAID контроллера отключится. и все его предупреждения сбросятся.
Посмотрим на кэш. Tools → Cache Manager → Controller Cache → Controller Cache Details.

- Cache Status: OK
- Battery/Capacitor Status: OK
Даже батарейка перестала заряжаться. Но главное не это, появилась кнопка Modify Caching Settings, нажимаем.

Нас предупреждают, что включение кэша с плохой батарейкой приведёт к потере данных при внезапном отключении питания. Но всё же мы теперь можем, если очень захотим, включить опцию «Enable Write Cache When Battery/Capacitor Not Present or Not Completely Charged». Я не буду включать, срочного у меня ничего нет. Если сейчас снова отключить кэш физических дисков, то ошибка не вернётся до следующего цикла проверки батареи.
Становится понятно, что проблема в самой батарейке или в её проводах. Убедимся в этом. Перезагружаем сервер, жмём F9, во встроенных приложениях загружаем диагностический режим. Выполняем экспресс-проверку системы.

При проверке батарей: Основная — Заменить.
Решение проблемы
Меняем батарейку в сервере:
После замены батарейки снова загружаем диагностический режим и выполняем экспресс-проверку системы.

Проверка батареи : Основная — ОК. Ошибок нет.
Финт ушами. Меняем батарейку HP Smart Array Cache Battery Kit (383280-B21) в сервере HP ProLiant DL360 G5

В очередной раз меняя батарейку от HP на контроллере Smart Array P-серии столкнулся с ситуацией, когда пролежавшая долгое время на складе фирменная батарейка не смотря на то, что она была извлечена из заводской упаковки, не захотела работать, так как попросту отказалась заряжаться. Вместо того, чтобы в очередной раз выкинуть такую батарейку, ради интереса решил её разобрать. Отстегнул от батарейки контроллер, с которым она поставляется, и обнаружил, что скрытая от глаз часть контроллера имеет вполне себе нормальные контактные площадки, к которым можно припаяться. Разобрав основной корпус батарейки, внутри я обнаружил четыре заряжаемых элемента Varta V500HT 500mAh Ni-MH 1.2V. В голове сразу созрел план и стало интересно попробовать заменить элементы Varta на четыре обычных заряжаемых аккумулятора типоразмера AAA по 1.2V, чтобы получить в общей сложности нужные контроллеру 4,8 Вольта. Немного пошуршав в интернете на предмет возможности такой замены обнаружил то, что я не первый кому в голову пришла такая идея . И вот, что из этого вышло…
Итак, фирменная батарейка HP для контроллеров Smart Array P-серии в розничной торговле можно найти у разных продавцов под разными названиями, типа HP Battery-backed write cache upgrade или HP Smart Array Cache Battery Kit и даже разными P/N. Основной P/N судя, например, по спецификации QuickSpecs от HP ProLiant DL360 G5 — 383280-B21.

Текущая розничная стоимость такой батарейки на данный момент варьируется в районе 8-9 тысяч рублей за штучку. При этом далеко не каждый поставщик может похвастаться тем, что дата выпуска предлагаемых им батарей лежит в границах хотя-бы предыдущего года, а это, как мы понимаем уже дополнительный риск получить «прокисшие» батарейки и потом завязнуть в манипуляциях с возвратами и заменами (был такой опыт). Вот как раз с подобной ситуацией я и столкнулся, только гарантийный срок, данный поставщиком в своё время при реализации батареек уже давно вышел, а батарейка оказалась «просевшей» на столько, что контроллер ни в какую не захотел её заряжать:

Так как этому «пациенту» уже ничего не поможет, попробуем забраться к нему внутрь. Переворачиваем батарейку и любым острым предметом, например небольшой отвёрткой, отковыриваем мягкую нижнюю стенку корпуса, протыкая его примерно по середине, там где есть небольшая пустота между уложенными внутри аккумуляторами овальной формы. Стенка снимается легко, так как её мягкий материал рассчитан на разрыв в случае набухания внутренних аккумуляторов:

После снятия стенки корпуса, внутри мы увидим 4 овальных элемента соединённых между собой мягкими металлическими пластинами и залитые сверху какой-то фигнёй типа геля. То есть производителем предусмотрительно сделано всё для того, чтобы у нас не было нормальной возможности самостоятельной замены аккумуляторных элементов 🙂

Извлекаем всё это безобразие из корпуса, освобождая его для дальнейших действий …

Отжимаем замок, фиксирующий контроллер батарейки, чтобы извлечь контроллер из корпуса:

Освободив контроллер, мы сможем увидеть те самые две контактные площадки, о которых я говорил ранее. Именно к этим площадкам ранее были подключены аккумуляторные элементы расположенные внутри корпуса. Эти контактные площадки мы используем позднее для того, чтобы припаять к ним блок с обычными «попсовыми» перезаряжаемыми аккумуляторами типа AAA.

Нехитрые китайские блоки, с помощью которых можно объединить вольтаж нескольких стандартных аккумуляторов, продаются практически во всех лавках, торгующих мелкой электроникой. Если заказывать их у китайцев через интернет, можно ориентироваться на название типа Battery Holder или Battery Clip Box Case, или что-то в этом роде. Для своего эксперимента я купил в ближайшей лавке самый простой подобный блок открытого типа всего за 40 рублей. Однако нужно учитывать то обстоятельство, что в моём случае батарейка требует замены в сервере HP ProLiant DL 360 G5, а это одно-юнитная модель в стойку с очень ограниченным пространством внутри корпуса сервера. Батарейка в таком сервере крепится на специальной пластиковой платформе, которая потом устанавливается в глубь передней части корпуса сервера в специальное отверстие со строго ограниченным пространством. И это нужно учитывать при планировании само-сборной батарейки.
В моём случае эта самая пластиковая платформа для крепления фирменной батарейки имеет специальный выступающий фиксатор.

Учитывая тот факт, что нам понадобиться место на этой платформе под Battery Holder, нам придётся избавиться от этого фиксатора. Аккуратно отрежем его с помощью обычного монтажного ножа:

После этого прикинем наш блок аккумуляторов к платформе – он не должен сильно выступать по краям платформы. А корпус разобранной фирменной батарейки «откромсаем» таким образом, чтобы у нас осталась возможность использовать хотя бы один фиксатор корпуса батарейки для крепления к пластиковой платформе + некоторое пространство чтобы была возможность дополнительно закрепить корпус к платформе с помощью клея (тут конечно всё по желанию).

Продеваем провода от Battery Holder в отверстия в корпусе батарейки. При этом красный кабель должен попасть в отверстие в круглой наклейкой «+«. Затем аккуратно припаиваем провода к контактным площадкам. При пайке нужно постараться как можно меньше греть контактные площадки, чтобы не «поплыли» компоненты на обратной стороне платы контроллера.

Далее приводим контроллер в то состояние, в котором мы его извлекали из корпуса батарейки, и фиксируем с помощью пластикового замка.

Теперь всё, что нам остаётся сделать – это аккуратно уложить контроллер и батарейки на пластиковую платформу и зафиксировать их там, например с помощью супер-клея, так как теперь подразумевается, что вся эта конструкция будет единым целым, где съемными элементами будут только легко извлекаемые аккумуляторы типа AAA.

Подключаем к контроллеру батарейки кабель, идущий от модуля кэш-памяти контроллера Smart Array и устанавливаем пластиковую платформу с нашей батарейкой в специальный отсек в сервере, о котором я упоминал ранее:

Внешне выглядит так, как будь-то в сервер установлена оригинальная батарейка 🙂
Включаем сервер и, если всё сделано правильно, то в процессе загрузки получим сообщение о том, что батарея контроллера Smart Array находится в состоянии зарядки. Запускаем утилиту управления HPE Smart Storage Administrator и переходим а раздел информации о кэше.

Как видим, утилита успешно отображает нам информацию о наличии батареи и показывает её статус в состоянии зарядки.
Через некоторый промежуток времени (зависит от того насколько были ранее заряжены установленные аккумуляторы) статус должен измениться на «ОК«

Таким образом контроллер батареи успешно зарядил подменные аккумуляторы до нужной ему величины и позволил перейти модулю кэш-памяти а штатный режим работы.
Подведём итог. Мы избавились от необходимости приобретения дорогостоящей оригинальной батарейки от HP, воспользовавшись в качестве альтернативы четырьмя недорогими аккумуляторами распространённого типоразмера AAA, которые можно купить чуть ли не в каждом магазине. Работоспособность кэш-модуля контроллера Smart Array была восстановлена за сумму чуть меньше 1 тысячи рублей с учётом приобретённого корпуса для аккумуляторов Battery Holder и 4 аккумуляторов. При этом в моём случае использовались попавшиеся под руки никель-металлгидридные аккумуляторы Duracell AAA (HR03) NiMH DC2400 1.2V большой ёмкости (950 и 1000мАч), которые избыточны в рамках поставленной задачи. Так что замену можно удешевить ещё больше, если покупать аккумуляторы поскромнее.
Чтобы дополнительно облагородить внешний вид нашей «поделки», можно использовать Battery Holder закрытого типа, то есть с крышкой, как например здесь: 5Pcs 4 x AAA Batteries Battery Holder Case Storage w On/Off Switch DW . Но это будет стоит рублей на 50 дороже 🙂
К дополнительным плюсам самодельной кэш-батарейки можно отнести то, что в случае, если какой-то из четырёх аккумуляторов начнёт испытывать проблемы с зарядкой, то нам не придётся менять весь набор аккумуляторов, а достаточно будет выявить с помощью тестера ослабший аккумулятор и заменить только его.
Проливая свет на HP ProLiant iLO Management Engine
Привет, меня зовут Алексей Павлов, я занимаюсь в HP Россия подготовкой технических заданий по серверному, сетевому оборудованию и системам хранения.
Компания HP анонсировала восьмое поколение серверов в марте 2012 года. О некоторых особенностях дизайна уже было сказано здесь: habrahabr.ru/company/hp/blog/141796.
А теперь я хочу показать вам красоту заложенных в Gen8 решений на простом практическом примере. Недавно в нашем демо-центре в московском офисе мне удалось потестировать DL380p Gen8, и я хочу подробнее рассказать об особенностях развертывания ОС с помощью HP iLO Management Engine.
В этом посте вы найдете пару видео, несколько скриншотов и мои комментарии к ним.
HP iLO Management Engine представляет собой полный набор встроенных инструментов, которые работают на протяжении всего жизненного цикла сервера: первоначальное развертывание, постоянное управление, оповещение, удаленная техническая поддержка. HP iLO Management Engine поставляется со всеми серверами HP ProLiant Gen8 без ограничений по функциональности (то есть никакого больше деления на iLO 100 и полноценный iLO).
Ключевых встроенных инструментов четыре: HP Intelligent Provisioning, HP Agentless Management, HP Active Health System, HP Insight Remote Support.
HP Intelligent Provisioning включает в себя функции по конфигурированию железной части сервера: все драйверы, агенты, прошивки, конфигурационные утилиты теперь хранятся в NAND-памяти на материнской плате. Так же в HP Intelligent Provisioning интегрированы функции HP SmartStart и установки ОС. Кстати, о SmartStart мы планируем подробно рассказать в одном из ближайших постов.

HP Agentless Management производит мониторинг состояния сервера без установки агентов под ОС – проверка состояния железа и фунции оповещения теперь вынесена на чип iLO 4 и не зависит от ОС и процессора.
HP Active Health System – своеобразный «черный ящик» сервера, куда постоянно записываются состояния компонентов сервера и малейшие изменения в конфигурации hardware. В зависимости от типа контракта на поддержку данные могут записываться в «банк данных» сервера удаленной поддержки, чтобы, например, заранее предоставить жесткий диск на замену, если появятся первичные признаки деградации RAID-группы.
HP Insight Remote Support – возможность удаленного подключения к серверу в любом месте и круглосуточная помощь по техническим вопросам. С выходом iLO 4 появилась возможность управления сервером с помощью мобильных устройств — есть приложение для iOS и Android.

И от теории к практике: приступим к удаленной установке Windows Server 2008 R2 на DL380p Gen8.
1. На верхней крышке сервера будет указана информация по логину и паролю к iLO 4 сервера, куда мы и будем подключаться. IP-адрес iLO 4 назначается по DHCP. При первом подключении можно зайти на DHCP-сервер и посмотреть присвоенный адрес, либо подключиться локально и назначить адрес вручную.
2. C этого момента смотрим видео выше. Подключаемся к iLO. Скриншоты кликабельны.

3. Попадаем в главное меню (00:10). Здесь можно получить всю информацию о системе.

4. Из Active Health System Logging (01:20) можно выгрузить отчет о работе сервера за определенный промежуток времени и отправить его в виде файла на диагностику в сервисный центр.
5. Можно изучить какое потребление питания на сервере (02:44) и изменить настройки (03:08).
6. Апгрейд iLO доступен в автоматическом режиме с помощью Intelligent Provisioning или вручную (03:58).
7. Можно создать несколько пользователей (04:04) или назначить права существующим на какие-либо действия. Например, можно назначить права оператора администраторам, которые смогут удаленно перезагружать сервер, подключаться удаленно, подключать virtual media, разворачивать образы, конфигурировать iLO и управлять другими пользователями.
8. Переходим ко второму видеоролику. Включаем сервер в разделе Power Management. Удаленная консоль доступна через JAVA или .Net.

9. Обратите внимание на галочки в правом нижнем углу: почти все «вкусности» Gen8 задействованы в этом сервере.

10. Далее попадаем в менеджер настройки сервера HP Smart Start (01:22). Здесь доступна установка ОС и настройка устройств сервера.

11. SmartStart представлен 9 компонентами (01:28). Active Health System download (01:31) позволяет загрузить на Flash логи сервера и отправить их в сервисный центр.

12. Array Configuration Utility (01:51) позволяет сконфигурировать дисковую подсистему сервера и настроить RAID контроллер p420i. Особенности нового контроллера:
- кэш RAID контроллера увеличен до 2GB.
- появилась функция превентивного оповещения о потенциальном выходе диска из строя.
- изменился алгоритм вычисления четности.
- производительность контроллера возросла до 200 000 IOPS.
- Появилась возможность построения RAID группы с зеркалированием на 3 диска.
Диски немного уменьшились в размере, что позволяет теперь размещать до 25 дисков в одном сервере. У самого диска появился индикатор его активности в RAID, кнопка “do not remove”, задняя подсветка.

Для SSD появилась функция оценки здоровья диска: SSD Wearing Gauge.

13. В Quick Configs можно изменить настройки профиля BIOS сервера (02:14).
14. Intelligent provisioning preferences позволяет настроить сетевой адаптер для iLO (02:42) и получить справку по всем функциям.

15. Функция Insight Remote Support позволяет ввести адрес удаленного сервера поддержки HP (04:08), на который будет отправляться информация по состоянию системы.
16. Установка ОС происходит в несколько простых этапов (05:06). Сначала собирается информация о конфигурации сервера.

17. Далее предлагается выбрать тип установки (05:38), recommended install позволяет автоматически установить все обновления, подготовить дисковое хранилище и установить драйверы HP.
18. Операционная система готова к установке (06:08).
Думаю, все очень просто и понятно 🙂
По скорости развертывания такая система быстрее на 20% по сравнению с ProLiant поколения G7, а скорость доступности первых данных о сервере после включения – уже через 3 секунды.
Я осветил только одну часть той работы, которая была проделана инженерами HP в рамках последних двух лет, и которая была воплощена в новых серверах Gen8. Об остальных улучшениях постараюсь написать в следующих обзорах.