Обновление прошивки сетевой карты HP приводит к ее сбою

На днях обновлял прошивки на серверах HP поколения G10. Для этого есть  образ P81142_001_gen10spp-2025.03.00.00-SPP2025030000.2025_0319.35.iso — официальный от HPE.
Когда очередь подошла к серверу ProLiant DL360 Gen10 с установленной сетевой платой HP FlexFabric 10Gb 2port 534FLR-SFP+, то по началу все прошло успешно. Сервер обновил 5 прошивок и перезагрузился. Но, как только загрузился гипервизор ESXi, стало понятно что пошло что-то не по плану — гипервизор не видел сетевую плату. В настройках BIOS плата тоже не была видна
Попробовал сначала выполнить Cold Boot- не помогло. Попробовал откатить System ROM на предыдущую версию — не помогло. Попробовал спросить Deepseek — он ничего умного не сказал.
К слову, патч который ставится на сетевую плату выглядел так:

А так выглядел список того, что у меня требовалось обновить, за исключением 4 пункта — он тут выключен, т.к. это уже другой сервер с такой же конфигурацией и здесь я обновление прошивки сетевой карты отключил

И вот некоторое время пришла идея отключить шину PCI и заново ее включить. Заходим в RBSU — PCIe Device Configuration

Выбираем слот шины PCIe , в котором должна отображаться сетевая карта и выбираем PCIe Device Disable — Disabled.

На скриншотах сетевая карта уже видна, у вас же это название не будет отображаться. Далее сохраняем настройки и перезагружаемся. Я загрузил полностью операционную систему и затем ее перезагрузил, снова зайдя в эти настройки и включил PCI-устройство. Снова сохранил настройки, перезагрузился и, о чудо, сетевая карта снова стала доступной.
Теперь можно спать спокойно 🙂

Скрипт на powershell обновления прошивок iLO

Import-Csv "C:\Users\username\Desktop\servers.csv" -Delimiter ';' -Encoding UTF8 | ForEach-Object {
$con = Connect-HPEiLO -Address $_.'Интерфейс управления' -Username 'username' -Password 'password' -DisableCertificateAuthentication
IF (($con.TargetInfo.iLOGeneration -eq 'iLO4') -and ($con.TargetInfo.iLOFirmwareVersion -ne '2,82')) {
Update-HPEiLOFirmware -Connection $con -Location "C:\Users\username\Desktop\ilo4_282.bin" -UploadTimeout 700 -Confirm:$false -Force
}
IF (($con.TargetInfo.iLOGeneration -eq 'iLO5') -and ($con.TargetInfo.iLOFirmwareVersion -ne '2,99')) {
Update-HPEiLOFirmware -Connection $con -Location "C:\Users\username\Desktop\ilo5_299.bin" -UploadTimeout 700 -Confirm:$false -Force
}
}

Обратите внимание на выделенные строки, там нужно вписать правильные значения. После обновления версию прошивки можно проверить командой:
Get-HPEiLOFirmwareVersion -Connection $con | select IP, FirmwareVersion

Ошибка «We couldn’t create a new partition or locate an existing one» при установке Windows Server 2012R2 на ProLiant BL460c G7

Привет! Первый раз столкнулся с проблемой установки серверной системы Microsoft на сервер HP. Вот возможные варианты решения данной проблемы:

  1. внедрить драйвера дискового контроллера в образ Windows
  2. драйвера дискового контроллера подсунуть на флешке, подключив ее  перед запуском установки системы
  3. самый оптимальный для ленивых админов:
    • нажать Shift+F10 в момент, когда появилось сообщение об ошибке.
    • В cmd набрать команды:
      diskpart
      list disk
      select disk 0 (номер диска куда устанавливается система)
      clean
      create partition primary
      format fs=ntfs quick
      assign
      active
      list volume (смотрим какая буква назначилась разделу и какая буква принадлежит iso с дистрибутивом)
      exit
      cd D: (переходим в каталог, где лежит дистрибутив системы)
      xcopy d: c:/e/h/k (копируем дистрибутив на раздел куда будем устанавливать систему)
  • после завершения копирования отключаем ISO-образ от сервера и перезагружаемся
  • запустится инсталлятор системы непосредственно с дисковой подсистемы сервера. В процессе установки указываем тот же раздел, в который копировали установщик
  • После завершения установки и входа в систему надо очистить корень системного диска С: от файлов и папок установщика.
  • правим загрузчик системы., иначе по-умолчанию в его настройках будет 2 записи, одна из которых будет ссылаться на установочные файлы. Для этого в загруженной системе открываем cmd и пишем:
    bcdedit 
    Находим запись об установщике Windows Setup и копируем его идентификатор
    bcdedit /delete <ID> 
    Удаляем запись с нужным идентификатором
    После этого установленная система не будет отличаться от той, что была бы установлена по 1 или 2 способу.

Диск HP EF0450FARMV приказал долго жить..

Недавно в очередной раз столкнулся с поломкой диска в сервере и снова Seagate оставляет плохое впечатление о себе (пусть и под маркой HP).
У меня стоит сервер HP ProLiant DL320e Gen8, в котором на контроллере Smart Array P222 настроен RAID 1 из 2 дисков HP EF0450FARMV. И вот один из них, к несчастью, остановился и больше не отвечал:

EVENT (09 Mar 08:17): Internal Storage Enclosure Device Failure (Bay 1, Box 1, Port 2I, Slot 2)
Integrated Management Log Severity: CRITICAL

Пришлось разориться на новый аналогичный диск .  Хорошо, что эти диски меняются “на горячую”, что не привело к простаиванию сервисов. Процесс ребилдинга прошел достаточно быстро (около 80 минут).

SNMP Trap:       3034
Date time:          03/15/2017  01:21:37 PM
Computer:         hv2
Source:                Storage Agents
Type:                   Informational
Category:            (4)
Description:
A 'Logical Drive Status Change' trap signifies that the agent has detected a change in the status of a drive array logical drive.
Details:
IDA Logical Drive Status 'OK'
Logical Drive # 1
Controller Slot # 2