Connectrix: O switch DS-6620B da Série B não inicializa com o novo firmware durante o upgrade do firmware devido a uma configuração incorreta de inicialização
Summary: Connectrix Série B: O switch DS-6620B não inicializou para o novo firmware durante o upgrade do firmware devido à configuração incorreta do argumento de inicialização.
Symptoms
Faça upgrade do Fabric OS 8.1.0a para o Fabric OS 8.1.2f.
Impacto:
O switch não consegue fazer upgrade para o novo firmware.
Ambiente:
Hardware EMC: Connectrix DS-6620B
Brocade Software: Fabric OS 8.1.0a
Software Brocade: Problema do Fabric OS 8.1.2f
:
upgrade de firmware não bem-sucedido.
O upgrade de firmware foi iniciado usando o procedimento de download de firmware padrão.
Durante o download do firmware, o novo código será carregado na partição secundária, mas quando o hareboot automático acontece, para trocar partições, o switch é inicializado com a versão antiga do firmware.
Exemplo:
resultado do Firmwareshow:
DS6620B:root> firmwareshow
Appl Primary/Secondary Versions
------------------------------------------
FOS v8.1.0a
v8.1.2f
WARNING: Firmwaredownload is in progress.
DS6620B:FID1:root>
O comando firmwaredownloadstatus indica que o firmware foi baixado para a partição secundária do switch, mas nada mais.
Exemplo:
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>
E se o comando firmwarecommit for executado nesse estado, ele retornará o erro Não é possível iniciar firmwarecommit porque o firmware baixado não está ativado. e o comando firmwaredownloadstatus mostra Firmwarecommit failed. (0x1a).
Exemplo:
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
Neste switch em que o upgrade não inicializou para a nova versão de firmware após o download do firmware, um parâmetro do carregador de inicialização (bootargs) foi modificado para inicializar na partição específica.
(root=/dev/sda1) em vez de (root=/dev/sda$prt)
Exemplo:
bootargs=root=/dev/sda1 rootfstype=ext4 quiet console=ttyS0,9600
Normalmente, durante o processo de upgrade, o firmware é inicialmente baixado para a partição secundária, enquanto o firmware da partição primária permanece inalterado até depois da reinicialização.
As partições primária e secundária são trocadas e o switch normalmente inicializa na partição com o novo firmware.
Mas como o parâmetro bootargs foi modificado anteriormente para inicializar em uma partição específica (root=/dev/sda1) em vez de (root=/dev/sda$prt), o switch continuou a inicializar na partição com o firmware antigo.
Como resultado, a versão do firmware ativo permaneceu como a v8.1.0a em vez da v8.1.2f esperada na inicialização após o upgrade.
A causa do valor incorreto de bootargs na configuração do carregador de inicialização foi devido a um procedimento de recuperação de senha em que o valor foi definido inadvertidamente.
Observe que o resultado do parâmetro bootargs mostra /dev/sda1 em vez de /dev/sda$prt depois que o comando acima foi executado.
Exemplo retirado da porta serial:
=> 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
Correção: Para recuperar, modifique a configuração de bootargs de volta aos padrões.
Método #1:
- Faça log-in para alternar como root e use o comando bootenv .
bootenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
hareboot
Método #2:
- Conecte-se via console serial e entre no shell de comando do carregador de inicialização .
setenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
saveenv
boot
Depois que os métodos #1 ou #2 tiverem sido seguidos, o switch deverá inicializar com o novo firmware e concluir o processo de download do firmware.
Additional Information
bootargs=root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet