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

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

70188b24213542cfaed74bc4176cf7e1.PNG

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

Полка hp c3000, в ней

  • 2 hp bl460c g6
  • 2 hp bl490c g7


fe0b9d02f6c84843939799631fef5d3f.PNG

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


978689e2ef7641c28fd2c0f1b2cabf8b.PNG
В каждом блейде по две мезанин-карты (HP NC382m Dual-Port 1GbE и HP NC364m Quad Port 1GbE) и встроенные FlexFabric двухпортовые 10GbE.
Мезанин-карты выглядят так:
adca6416f3eb4c26b35215055eabd9f9.jpg
HP NC382m
0be1aecc7ff14caebd713edddf8e62f4.jpg
HP NC364m

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

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

Как Вы понимаете, 460-ые серверы достаточно устарели, но до сих пор должны поддерживаться. Был получен актуальный дистрибутив hp service pack, вся полка обновлена.
Из кластера vmware вывел 460-ые хосты, вставил туда мезанин карты, воткнул в полку и… при загрузке сразу PSOD.
32b622f6fb724de3ac86cf5f53a6e8fb.PNG
Сначала подумал, что возможно это проблема материнской платы, так как на одном из блэйдов уже меняли материнскую плату, как раз по причине проблем с сетевыми адаптерами. Они время от времени пропадали.
Но когда проблема продублировалась на втором блейд-сервере, отбросил эту мысль. Стоит отметить, что я пробовал запускать сервер с одной любой мезанин-картой в разных слотах и все работало без проблем, а значит — проблема не в карте и не слоте.

Блэйд-сервер перевел в debug режим, читаю логи, читаю форум vmware. Там написано, что это проблема с оборудованием и ссылаются на форум производителя. Перехожу на форум HP, там пишут, что при использовании современных продуктов vmware часто возникают трудности на старом оборудовании. Ставлю vmware esxi 4.1 — все работает стабильно, но проблема в том, что лицензия на esxi 5.5 и есть сопутствующее ПО под эту лицензию, такое как Vgate 2.7. Ставлю Windows Server 2012 R2, чтобы убедиться, что проблема действительно в софте и… BSOD.
d974f51643ab4faa9ab4124a752afba8.PNG
При следующем старте windows все работает вроде стабильно, оставляю на тесты. На следующий день обнаруживаю bsod.
При этом в консоли onboard администратора есть ошибки в IML (Integrated Management Log) Uncorrectable PCI Express Error (Embedded device, Bus 0, Device 9, Function 0, Error status 0×00000000). Т.е. неисправимая ошибка оборудования, а device 9 это как раз вторая карта мезанин.

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

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

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

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

Надеюсь мои мучения с блейдами будут кому-то полезны.

© Habrahabr.ru