Как стать автором
Обновить

Удаленное обновление firmware, bios на серверах DELL в промышленном масштабе

Компания DELL производит отличные сервера линейки PowerEdge. И с серверами поставляются диски с программами для обновления bios, firmware, диагностики оборудования и развертывания операционных систем. Но обычно через некоторое время работы, когда сервера уже установлены и работают на площадке, нужно проводить их обслуживание. Хорошо когда есть физический доступ к серверу. Тогда можно просто скачать нужный образ, записать на диск и загрузившись с которого обновить все что нужно. Но если есть доступ только удаленный через IP KVM, и у вас установлена операционная система, на которой не работают утилиты от DELL и количество серверов достаточно велико, вот для такого случая я хочу рассказать рецепт.

Идеи написать эту заметку не возникло бы, если бы решение было очевидно. На сайте суппорта DELL для каждого сервера для каждого устройства дается 2 варианта файлов для прошивки. Для Windows и для Linux (RedHat и SUSE). Поэтому если Вы счастливый пользователь одной из поддерживаемых операционных систем, то можете попытать счастья и запустить систему обновления suu с диска SBUU (Systems Build and Update Utility) на прямую или отдельно обновление для каждого устройства. Но тут много подводных камней.

Т.к. в современном сервере достаточно много устройств, прошивку которых возможно нужно обновлять (bios, firmware рейд-контроллера, BMC, сетевого адаптера и т.д.), то нужно все эти прошивки скачать, причем нужных версий. Затем соблюсти порядок в котором должно проводиться обновление. Например bios всегда должна обновляться последней.
Поэтому обновление через SBUU (Systems Build and Update Utility) наиболее правильный путь. Осталось разобраться как легко все это можно использовать.

Что понадобится:

  1. Рядом стоящий сервер на котором нужно настроить DHCP, tftp, NFS. С этого сервера будет производится загрузка по PXE и с него будут монтироваться по NFS нужные диски. Предполагается что на сервере установлена какая-то версия линукса.
  2. Два DVD iso образа взятые с ftp DELL. Первый это cdu_1.4_core_277_A00.iso. Это загрузочный образ и на нем находится операционная система которую нужно загрузить. И второй образ, который состоит из 4 отдельных файлов om631_suu_a00.iso.001, om631_suu_a00.iso.002, om631_suu_a00.iso.003, om631_suu_a00.iso.004. После скачивания всех частей образа, их нужно собрать вместе, например с помощью команды cat. На втором образе находится suu и все последние файлы прошивок.


Что нужно настроить:

  1. Загрузку по PXE. Эта часть отлично описана тут Все делаем так, как там описано. Проверяем.
  2. Монтируем два ранее загруженных образа. Например в /mnt
    # mkdir /mnt/Dell{_boot,}
    # mount -o loop cdu_1.4_core_277_A00.iso /mnt/Dell_boot
    # mount -o loop Dell_DVD_ISO_-_Dell_Server_Updates.iso /mnt/Dell
  3. Теперь нужно скопировать ядро и загрузочный имидж:
    # mkdir /pxe/Dell
    # cp /mnt/Dell_boot/isolinux/SA.{1,2} /pxe/Dell/

    И добавляем дополнительный пункт к меню PXE в файле default
    label DELL update kernel /pxe/Dell/SA.1 append initrd=/pxe/Dell/SA.2 ramdisk_size=71662 ramdisk_blocksize=4096 DEBUG=0 dsa_replication=0 quiet ide=force_255_heads Stage3_type=network Stage3_mount_type=nfs Stage3_opts=nolock Stage3_source=192.168.1.15:/mnt/Dell_boot BUILD=277

    где нужно поставить свой IP NFS сервера вместо 192.168.1.15
  4. Настраиваем раздачу каталогов, куда смонтированы образы по NFS. Чтобы загрузочный образ смог загрузить оставшиеся данные по NFS.


Как работает:


  1. При загрузке сервера нажимаем F12 и производится загрузка PXE меню. Откуда выбираем меню загрузки ранее добавленного образа. Производится загрузка, монтирование нужных разделов и в результате попадаете в графическую оболочку. Где из меню слева можно выбрать пункт обновления firmware и bios.
  2. Т.к. первый диск не содержит прошивок, то спрашивается где располагается второй диск. Можно указать по-разным протоколам (ftp, http, nfs, smb). Но т.к. раньше подготовили NFS, то указываем его. Вписываем IP и путь /mnt/Dell


Дальше все интуитивно понятно и если все работает, то весь процесс обновления сервера занимает 15-20 минут.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.