Connectrix: El switch DS-6620B de la serie B no arranca con el nuevo firmware durante la actualización del firmware debido a una configuración de arranque incorrecta
Summary: Connectrix B-Series: El switch DS-6620B no arrancaba en el firmware nuevo durante la actualización de firmware debido a una configuración incorrecta del argumento de arranque.
Symptoms
Actualice de Fabric SO 8.1.0a a Fabric SO 8.1.2f.
Impacto:
El switch no puede actualizarse al nuevo firmware.
Medio ambiente:
Hardware de EMC: Software Connectrix DS-6620B
Brocade: Fabric OS 8.1.0a
Software Brocade: Fabric OS 8.1.2f
Problema:
la actualización del firmware no se realizó correctamente.
La actualización de firmware se inició mediante el procedimiento
de descarga de firmware predeterminado.Durante la descarga del firmware, el nuevo código se cargará en la partición secundaria, pero cuando se produce el reinicio automático, para intercambiar particiones, el switch arranca con la versión de firmware anterior en su lugar.
Ejemplo:
salida de Firmwareshow:
DS6620B:root> firmwareshow
Appl Primary/Secondary Versions
------------------------------------------
FOS v8.1.0a
v8.1.2f
WARNING: Firmwaredownload is in progress.
DS6620B:FID1:root>
El comando firmwaredownloadstatus indica que se descargó el firmware en la partición secundaria del switch, pero no hay nada más.
Ejemplo:
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>
Y si el comando firmwarecommit se ejecuta en este estado, devuelve el error No se puede iniciar firmwarecommit porque el firmware descargado no está activado. y el comando firmwaredownloadstatus muestra que Firmwarecommit falló. (0x1a).
Ejemplo:
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
En este switch en el que la actualización no arrancaba a la nueva versión de firmware después de la descarga del firmware, se descubrió que se modificó un parámetro del cargador de arranque (bootargs) para arrancar en una partición específica.
(root=/dev/sda1) en lugar de (root=/dev/sda$prt)
Ejemplo:
bootargs=root=/dev/sda1 rootfstype=ext4 quiet console=ttyS0,9600
Normalmente, durante el proceso de actualización, el firmware se descarga inicialmente en la partición secundaria, mientras que el firmware de la partición primaria no se modifica hasta después del reinicio.
Las particiones primaria y secundaria se intercambian y el switch normalmente arranca en la partición con el nuevo firmware.
Pero debido a que el parámetro bootargs se modificó anteriormente para arrancar en una partición específica (root=/dev/sda1) en lugar de (root=/dev/sda$prt), el switch continuó arrancando en la partición con el firmware anterior.
Como resultado, la versión de firmware activa siguió siendo v8.1.0a en lugar de la v8.1.2f esperada en el arranque después de la actualización.
La causa del valor incorrecto de bootargs en la configuración del cargador de arranque se debió a un procedimiento de recuperación de contraseña en el que el valor se estableció inadvertidamente.
Observe que el resultado del parámetro bootargs muestra /dev/sda1 en lugar de /dev/sda$prt después de ejecutar el comando anterior.
Ejemplo tomado del puerto serie:
=> 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
Corregir: Para recuperar, modifique el ajuste bootargs a los valores predeterminados.
Método #1:
- Inicie sesión para cambiar como root y use el comando bootenv .
bootenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
hareboot
Método # 2:
- Conéctese a través de la consola en serie e ingrese el shell de comandos del cargador de arranque .
setenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
saveenv
boot
Después de seguir el método #1 o #2, el switch debe arrancar con el nuevo firmware y completar el proceso de descarga del firmware.
Additional Information
bootargs=root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet