Pull to refresh

Как я боролся с экранами смерти на устаревших блейд-серверах

Reading time3 min
Views16K
Пост о том, как я боролся с проблемами нового софта на старом железе, возникшими после добавления дополнительного оборудования.



Всем, кому интересно серверное железо и борьба с ошибками прошу под кат.

Заказали мы для серверной полки HP C3000 два дополнительных коммутатора cisco и по мезанин-карте в каждый блейд сервер для того, чтобы сделать все по уму. Хотелось, чтобы сети делились на физическом уровне, а так же повысить производительность и надежность.
Конфигурация получилась следующая:

Полка hp c3000, в ней
  • 2 hp bl460c g6
  • 2 hp bl490c g7


  • 2 свича HP GbE2c
  • 2 свича Cisco 3020


В каждом блейде по две мезанин-карты (HP NC382m Dual-Port 1GbE и HP NC364m Quad Port 1GbE) и встроенные FlexFabric двухпортовые 10GbE.

Мезанин-карты выглядят так:


HP NC382m


HP NC364m

Серверы работают под управлением Vmware ESXi 5.5.

Изначально все работало стабильно без цисок и четырехпортовых мезанинов. Один коммутатор hp был для сети виртуальных машин, второй под менеджмент и iscsi сети. Производительности второго не хватало и было принято решение вынести сеть iscsi на отдельные коммутаторы. Для этого и приобрели две циски и мезанин-карты.

Как Вы понимаете, 460-ые серверы достаточно устарели, но до сих пор должны поддерживаться. Был получен актуальный дистрибутив hp service pack, вся полка обновлена.

Из кластера vmware вывел 460-ые хосты, вставил туда мезанин карты, воткнул в полку и… при загрузке сразу PSOD.


В данном случае кодом ошибки является строка
PCPU0:32840/helper14-0

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

Блэйд-сервер перевел в debug режим, читаю логи, читаю форум vmware. Там написано, что это проблема с оборудованием и ссылаются на форум производителя. Перехожу на форум HP, там пишут, что при использовании современных продуктов vmware часто возникают трудности на старом оборудовании. Ставлю vmware esxi 4.1 — все работает стабильно, но проблема в том, что лицензия на esxi 5.5 и есть сопутствующее ПО под эту лицензию, такое как Vgate 2.7. Ставлю Windows Server 2012 R2, чтобы убедиться, что проблема действительно в софте и… BSOD.


NMI_HARDWARE_FAILURE

При следующем старте windows все работает вроде стабильно, оставляю на тесты. На следующий день обнаруживаю bsod.
При этом в консоли onboard администратора есть ошибки в IML (Integrated Management Log) Uncorrectable PCI Express Error (Embedded device, Bus 0, Device 9, Function 0, Error status 0x00000000). Т.е. неисправимая ошибка оборудования, а device 9 это как раз вторая карта мезанин.

Продолжаю читать форум hp, написано, что может влиять прошивка ilo. Обнаруживаю, что есть более новая прошивка ilo и перешиваю оба блейда, но не помогает. Дальше больше, на форуме написано, что есть несовместимость прошивок FlexFabric и драйверов. Перешиваю FlexFabric — все равно ошибка.

Пробую разные дистрибутивы: стандартный дистрибутив vmware esxi 5.5 и дистрибутив производителя HP того же билда. Результат один.
Читаю, что в логах, а там ошибка конкретно на bnx2 (это сетевой FlexFabric адаптер). Ставлю Broadcom драйвера с сайта vmware (причем перезапись драйвера работает только из консоли самого esxi. Если ставить из под vcenter, то vcenter не перезаписывает). Перезагрузка и полет нормальный! Тоже самое было с Emulex FlexFabric на 490 блэйдах. Так же обновил FlexFabric биос и перезаписал драйвер. Все работало стабильно, быстро,
… но не долго.


На этом скриншоте кодом ошибки является строка
PCPU0:32802/UplinkWatchdogWorld

Появилась вторая проблема, связанная с мезанин-картой.
Через некоторое время на одном из блэйдов полностью пропала четырехпортовая мезанин-карта, даже из биоса хоста. Перезагрузка, сброс биоса, ничего не помогало, пока в биосе не был обнаружен пункт о работе с pci адаптерами mezzanine. По линиям pci стало возможно выбирать уровень усиления сигнала (всего два пункта 6db и 3.5db). Да, именно стало, потому как этот пункт появился при добавлении четырехпортовой карты. Переключил уровень усиления и сразу после перезагрузки карта появилась в биосе.

Прошло две рабочие недели и ни одного purple экрана не было.
После обновления прошивок на сетевых картах появилась функция wake on lan, которой раньше не было, и на vcenter был настроен power management. Теперь хосты просыпаются по необходимости.

А в качестве вывода хочу сказать, что нужно быть внимательным к функционалу, появляющемуся при добавлении нового железа (такой как дополнительные пункты в bios), а также то, что не все неисправимые хардварные ошибки неисправимы. К некоторым ошибкам приводят стандартные драйвера и устаревшие bios'ы.

Надеюсь мои мучения с блейдами будут кому-то полезны.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 20: ↑17 and ↓3+14
Comments3

Articles