Connectrix. Коммутатор DS-6620B серии B не загружается с новой микропрограммы во время обновления микропрограммы из-за неверной настройки загрузки.
Summary: Connectrix серии B. Во время обновления микропрограммы на коммутаторе DS-6620B не загружалась новая микропрограмма из-за неверной настройки аргумента загрузки.
Symptoms
Обновление Fabric OS 8.1.0a до Fabric OS 8.1.2f
Удар:
Коммутатор не может обновиться до новой микропрограммы.
Окружающая среда:
Оборудование EMC: ПО Connectrix DS-6620B
Brocade: ПО Brocade, Fabric OS 8.1.0a
: Fabric OS 8.1.2f
Проблема:
не удалось обновить микропрограмму.
Обновление микропрограммы было инициировано с помощью процедуры загрузки микропрограммы по умолчанию.
Во время загрузки микропрограммы новый код будет загружен во вторичный раздел, но когда произойдет автоматическая заходящая загрузка разделов для замены разделов, коммутатор загрузится со старой версией микропрограммы.
Пример:
Firmwareshow output:
DS6620B:root> firmwareshow
Appl Primary/Secondary Versions
------------------------------------------
FOS v8.1.0a
v8.1.2f
WARNING: Firmwaredownload is in progress.
DS6620B:FID1:root>
Команда firmwaredownloadstatus указывает, что микропрограмма загружена на дополнительный раздел коммутатора, но не более того.
Пример:
DS6620B:FID1:root> firmwaredownloadstatus
[1]: Fri Nov 30 18:18:26 2018
Firmware is being downloaded to the switch. This step may take up to 30 minutes.
[2]: Fri Nov 30 18:30:25 2018
Firmware has been downloaded to the secondary partition of the switch.
DS6620B:FID1:root>
И если команда firmwarecommit выполняется в этом состоянии, она возвращает ошибку Cannot start firmwarecommit, так как скачанная микропрограмма не активирована. а в команде firmwaredownloadstatus отображается «Firmwarecommit failed». (0x1a).
Пример:
DS6620B:FID1:root> firmwarecommit
Cannot start firmwarecommit because the downloaded firmware is not activated.
DS6620B:FID1:root>
DS6620B:FID1:root> firmwaredownloadstatus
[1]: Fri Nov 30 18:18:26 2018
Firmware is being downloaded to the switch. This step may take up to 30 minutes.
[2]: Fri Nov 30 18:30:25 2018
Firmware has been downloaded to the secondary partition of the switch.
[3]: Fri Nov 30 19:44:40 2018
The firmware commit operation has started. This may take up to 10 minutes.
[4]: Fri Nov 30 19:44:40 2018
Firmware commit failed - Firmwarecommit failed. (0x1a)
DS6620B:FID1:root>
Cause
На этом коммутаторе, где после загрузки микропрограммы не загружалась новая версия микропрограммы, было обнаружено, что параметр загрузчика (bootargs) был изменен для загрузки в определенный раздел.
(root=/dev/sda1) вместо (root=/dev/sda$prt)
Пример:
bootargs=root=/dev/sda1 rootfstype=ext4 quiet console=ttyS0,9600
Обычно во время обновления микропрограмма сначала скачивается на дополнительный раздел, а микропрограмма основного раздела не изменяется до перезагрузки.
Основной и дополнительный разделы меняются местами, и коммутатор обычно загружается в этот раздел с новой микропрограммой.
Но поскольку параметр bootargs был ранее изменен для загрузки в определенный раздел (root=/dev/sda1) вместо (root=/dev/sda$prt), коммутатор продолжал загружаться в раздел со старой прошивкой.
В результате после обновления при загрузке оставалась активная версия микропрограммы v8.1.0a вместо ожидаемой версии v8.1.2f.
Причиной неверного значения bootargs в конфигурации загрузчика была процедура восстановления пароля, в результате которой значение было установлено непреднамеренно.
Обратите внимание, что результат параметра bootargs показывает /dev/sda1 вместо /dev/sda$prt после выполнения вышеуказанной команды.
Пример взят из последовательного порта:
=> setenv bootargs "root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet"
=> saveenv
Saving Environment to NVRAM...
=>
=> printenv
bootargs=root=/dev/sda1 rootfstype=ext4 console=ttyS0,9600 quiet
=>
Resolution
Исправление: Для восстановления измените настройки bootargs обратно на значения по умолчанию.
Способ #1:
- Войдите в систему как root и используйте команду bootenv .
bootenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
hareboot
Способ #2:
Подключитесь через последовательную консоль и войдите в командную оболочку загрузчика .
setenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
saveenv
boot
После выполнения метода #1 или #2 коммутатор должен загрузиться с новой микропрограммой и завершить процесс загрузки микропрограммы.
Additional Information
bootargs=root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet