Антон Рябов bio photo

Антон Рябов

Не люблю бриться и у меня умный взгляд.

Email Twitter Github RSS

Вместо вступления

Начал я обновлять Proxmox на одном из серверов с версии 3 на 4. По ряду причин, нужно делать именно полную переустановку а не апгрейд текущей. Установка прошла штатно и сервер ушел в перезагрузку, после чего, как хороший мальчик, показал grub, но завис на инициализации initram. Еще раз перезагрузив сервер, я убедился что ошибка воспроизодится и начал искать решение. Попробовал загрузиться вручную через консоль grub, но это не помогло. В момент зависания, индикаторы активности всех дисков просто горели, поэтому я начал грешить на контроллер (LSI) - попробовал отключение всех дисков кроме того на котором установлена система, это не помогло.




Собственно тут, мы подходим к сабжу. Я подумал о том, чтобы прошить контроллер, но перед этим решил обновить прошивку bios. Выяснил модель материнской платы, собственно Supermicro X9DRW-iF, скачал последнюю прошивку с официального сайта …

кстати, предыдущие версии прошивок можно найти только на ftp этой замечательной фирмы и названия каталогов там нифига не явные

… и начал вникать в readme, который прилагался в архиве. Первым делом, там вписан warning, предупреждающий о том, что если вы собираетесь обновить bios с версии 1 до версии 2, то вначале вам нужно обновить IPMI до версии 2 (и это первый привет компании Supermicro). На сервере была установлена версия 1.01b, а последня актуальная, на данный момент, что-то вроде 2.72.

тут я могу ошибаться, на самом деле запутался с версиями, а проверять сейчас уже лень

“Ага” - думаю я. Нужно обновить IPMI, а это дело плевое. Вернулся на сайт производителя, скачал нужную прошивку, почитал инструкцию, залез в IPMI и прошил его. Никаких проблем не возникло. Следующим шагом, должна была стать прошивка bios, для этого я подготовил образ Freedos, на котором располагались все необходимые файлы. Но при попытке выполнить требуемые операции по прошивке, я понял что bios просто не доходит до загрузки с каких либо образов или девайсов. Много времени было потрачено на гугления, проверку образов, перебор флешек, но все безрезультатно. Загрузка bios фризилась на одном из этапов (B4) и я это связывал именно с обновлением прошивки IPMI, а не с конкретной ошибкой о которой возвещал post код. Чтож, в документации к плате, я довольно быстро нашел способ отключения IPMI и загрузки только bios, он заключался в изменения положения перемычки JPB1 (или джампера, кто как зовет) с 1-2 на 2-3 (и это второй привет компании Supermicro). Ох и долго же я провозился прежде чем додумался в чем же дело (ну как додумался, скорее сработал какой-то инстинкт инженера). Но я не буду больше раглагольствовать, а просто опишу правильную последовательность действий для обновления bios на Supermicro X9DRW-iF, скажу только что перемычка JPB1 в положении 2-3 не отключает IPMI, а отключает и IPMI и bios, происходит первичная инциализация всех устройств, вентиляторы и диски начинают крутится на полную катушку, но дальше вся программная часть бездействует.

Непосредственно обновление с 1 до 2 версии

  1. Обновляем прошивку IPMI через веб самого IPMI (операция тривиальная)
  2. Вскрываем наш сервер, находим перемычку JPB1 и просто снимаем её, для отключения IPMI
  3. Создаем флешку с Freedos, но перед тем, как залить файл прошивки (X9DRW5.115), программу прошивки (AFUDOS.SOC) и скрипт (AMI.BAT) для инициализации процесса, правим этот самый скрипт: убираем в нем строки связанные с переименованием файла AFUDOS.SOC -> AFUDOS.EXE и делаем это вручную, а только потом копируем файлы на носитель
  4. Запускаемся с флешки, причем при загрузке Freedos нужно выбрать вариант “без драйверов”
  5. Шьем bios командой AMI.BAT X9DRW5.115
  6. Возвращаем перемычку JPB1 в изначальное положение 1-2 и стартуем сервер.

Заключение

До прошивки контроллера дисков я так и не дошел. Так как после прошивки bios Proxmox 4 отлично стартанул. А в сумме на все эти ковыряния ушло 3 рабочих дня и виню я, конечно же, Supermicro, за плохо написанную документацию и readme.

#Proxmox #Supermicro