Connectrix: B-serie DS-6620B switch start niet op naar nieuwe firmware tijdens firmware-upgrade, vanwege verkeerde opstartinstelling
Summary: Connectrix B-serie: DS-6620B switch startte niet op naar nieuwe firmware tijdens de firmware-upgrade, vanwege een verkeerde instelling van het opstartargument.
Symptoms
Upgrade van Fabric OS 8.1.0a naar Fabric OS 8.1.2f.
Impact:
Switch kan niet upgraden naar nieuwe firmware.
Milieu:
EMC Hardware: Connectrix DS-6620B
Brocade software: Fabric OS 8.1.0a
Brocade-software: Fabric OS 8.1.2f
Probleem:
Firmware-upgrade is niet gelukt.
De firmware-upgrade is gestart met behulp van de standaardfirmwaredownloadprocedure.
Tijdens het downloaden van de firmware wordt de nieuwe code geüpload naar de secundaire partitie, maar wanneer de automatische opstart plaatsvindt, start de switch op met de oude firmwareversie om partities om te wisselen.
Voorbeeld:
Firmwareshow output:
DS6620B:root> firmwareshow
Appl Primary/Secondary Versions
------------------------------------------
FOS v8.1.0a
v8.1.2f
WARNING: Firmwaredownload is in progress.
DS6620B:FID1:root>
De opdracht firmwaredownloadstatus geeft aan dat firmware is gedownload naar de secundaire partitie van de switch, maar verder niets.
Voorbeeld:
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>
En als de opdracht firmwarecommit wordt uitgevoerd terwijl deze zich in deze staat bevindt, wordt de foutmelding Cannot start firmwarecommit geretourneerd omdat de gedownloade firmware niet is geactiveerd. en de opdracht firmwaredownloadstatus toont Firmwarecommit failed. (0x1a).
Voorbeeld:
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
Op deze switch waar de upgrade niet opstartte naar een nieuwe firmwareversie na het downloaden van de firmware, bleek een bootloader-parameter (bootargs) te zijn gewijzigd om op te starten naar een specifieke partitie.
(root=/dev/sda1) in plaats van (root=/dev/sda$prt)
Voorbeeld:
bootargs=root=/dev/sda1 rootfstype=ext4 quiet console=ttyS0,9600
Normaal gesproken wordt tijdens het upgradeproces de firmware in eerste instantie gedownload naar de secundaire partitie, terwijl de firmware van de primaire partitie ongewijzigd blijft tot na het opnieuw opstarten.
De primaire en secundaire partities zijn verwisseld en switch start normaal gesproken op naar de partitie met de nieuwe firmware.
Maar omdat de bootargs-parameter eerder is gewijzigd om op te starten naar een specifieke partitie (root=/dev/sda1) in plaats van (root=/dev/sda$prt), bleef de switch opstarten naar de partitie met de oude firmware.
Als gevolg hiervan bleef de actieve firmwareversie v8.1.0a in plaats van de verwachte v8.1.2f bij het opstarten na de upgrade.
De oorzaak van de onjuiste bootargs-waarde in de bootloader-configuratie was te wijten aan een wachtwoordherstelprocedure waarbij de waarde per ongeluk was ingesteld.
Merk op dat het resultaat van de parameter bootargs /dev/sda1 wordt weergegeven in plaats van /dev/sda$prt nadat de bovenstaande opdracht is uitgevoerd.
Voorbeeld van de seriële poort:
=> 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
Oplossing: Om te herstellen, wijzigt u de bootargs-instelling terug naar de standaardinstellingen.
Methode #1:
- Log in om als root te switchen en gebruik de bootenv-opdracht .
bootenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
hareboot
Methode #2:
- Maak verbinding via seriële console en voer de bootloader-opdrachtshell in.
setenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
saveenv
boot
Nadat methode #1 of #2 is gevolgd, moet de switch opstarten met de nieuwe firmware en het firmwaredownloadproces voltooien.
Additional Information
bootargs=root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet