Connectrix: Lo switch DS-6620B B-Series non avvia il nuovo firmware durante l'aggiornamento del firmware, a causa di impostazioni di avvio errate
Summary: Connectrix B-Series: Lo switch DS-6620B non si avviava con il nuovo firmware durante l'aggiornamento del firmware, a causa di un'impostazione errata dell'argomento di avvio.
Symptoms
Eseguire l'upgrade da Fabric OS 8.1.0a a Fabric OS 8.1.2f.
Impatto:
Lo switch non è in grado di eseguire l'aggiornamento al nuovo firmware.
Ambiente:
Hardware EMC: Software Connectrix DS-6620B
Brocade: Software Fabric OS 8.1.0a
Brocade: Fabric OS 8.1.2f
Problema:
aggiornamento del firmware non riuscito.
L'aggiornamento del firmware è stato avviato utilizzando la procedura di download del firmware predefinita.
Durante il download del firmware il nuovo codice verrà caricato sulla partizione secondaria, ma quando avviene l'avvio hareboot automatico, per scambiare le partizioni, lo switch si avvia con la vecchia versione del firmware.
Esempio:
Firmwareshow output:
DS6620B:root> firmwareshow
Appl Primary/Secondary Versions
------------------------------------------
FOS v8.1.0a
v8.1.2f
WARNING: Firmwaredownload is in progress.
DS6620B:FID1:root>
Il comando firmwaredownloadstatus indica che il firmware è stato scaricato nella partizione secondaria dello switch, ma non altro.
Esempio:
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 il comando firmwarecommit viene eseguito mentre è in questo stato, restituisce l'errore Impossibile avviare firmwarecommit perché il firmware scaricato non è attivato. e il comando firmwaredownloadstatus mostra Firmwarecommit non riuscito. (0x1a).
Esempio:
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
In questo switch in cui l'aggiornamento non è stato avviato alla nuova versione del firmware dopo il download del firmware, è stato rilevato che un parametro del bootloader (bootargs) è stato modificato per avviare una partizione specifica.
(root=/dev/sda1) invece di (root=/dev/sda$prt)
Esempio:
bootargs=root=/dev/sda1 rootfstype=ext4 quiet console=ttyS0,9600
Normalmente, durante il processo di aggiornamento, il firmware viene inizialmente scaricato nella partizione secondaria, mentre il firmware della partizione primaria rimane invariato fino a dopo il riavvio.
Le partizioni primaria e secondaria vengono scambiate e lo switch si avvia normalmente nella partizione con il nuovo firmware.
Tuttavia, poiché il parametro bootargs è stato precedentemente modificato per eseguire l'avvio in una partizione specifica (root=/dev/sda1) anziché in (root=/dev/sda$prt), lo switch ha continuato ad avviarsi nella partizione con il vecchio firmware.
Di conseguenza, la versione attiva del firmware è sempre v8.1.0a anziché la prevista v8.1.2f all'avvio dopo l'aggiornamento.
La causa del valore errato di bootargs nella configurazione del bootloader è dovuta a una procedura di ripristino della password in cui il valore è stato impostato inavvertitamente.
Si noti che il risultato del parametro bootargs mostra /dev/sda1 invece di /dev/sda$prt dopo l'esecuzione del comando precedente.
Esempio tratto dalla porta seriale:
=> 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
Correzione: Per eseguire il ripristino, modificare l'impostazione bootargs ripristinando le impostazioni predefinite.
Metodo #1:
- Accedere per passare come root e utilizzare il comando bootenv .
bootenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
hareboot
Metodo #2:
- Connettiti tramite console seriale e accedi alla shell dei comandi del bootloader .
setenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
saveenv
boot
Dopo aver seguito il metodo #1 o #2, lo switch dovrebbe avviarsi con il nuovo firmware e completare il processo di download del firmware.
Additional Information
bootargs=root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet