Connectrix: Przełącznik DS-6620B z serii B nie uruchamia się do nowego oprogramowania wewnętrznego podczas aktualizacji oprogramowania wewnętrznego z powodu nieprawidłowego ustawienia rozruchu
Summary: Connectrix B-Series: Przełącznik DS-6620B nie uruchomił się do nowego oprogramowania wewnętrznego podczas aktualizacji oprogramowania wewnętrznego z powodu nieprawidłowego ustawienia argumentu rozruchu. ...
Symptoms
Uaktualnienie systemu operacyjnego Fabric OS 8.1.0a do wersji Fabric OS 8.1.2f.
Wpływ:
Przełącznik nie może uaktualnić do nowego oprogramowania wewnętrznego.
Środowisko:
Sprzęt EMC: Oprogramowanie Connectrix DS-6620B
Brocade: Oprogramowanie Brocade Fabric OS 8.1.0a
: Fabric OS 8.1.2f
Problem:
aktualizacja oprogramowania wewnętrznego nie powiodła się.
Aktualizacja oprogramowania wewnętrznego została zainicjowana przy użyciu domyślnej procedury pobierania oprogramowania układowego.
Podczas pobierania oprogramowania wewnętrznego nowy kod zostanie przesłany na partycję dodatkową, ale w przypadku automatycznego rozruchu hareboot w celu zamiany partycji przełącznik uruchamia się ze starą wersją oprogramowania wewnętrznego.
Przykład:
dane wyjściowe Firmwareshow:
DS6620B:root> firmwareshow
Appl Primary/Secondary Versions
------------------------------------------
FOS v8.1.0a
v8.1.2f
WARNING: Firmwaredownload is in progress.
DS6620B:FID1:root>
Polecenie "firmwaredownloadstatus" wskazuje, że oprogramowanie wewnętrzne zostało pobrane na partycję dodatkową przełącznika, ale nic więcej.
Przykład:
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>
A jeśli polecenie firmwarecommit zostanie uruchomione w tym stanie, zwróci błąd Nie można uruchomić firmwarecommit, ponieważ pobrane oprogramowanie wewnętrzne nie jest aktywowane. a polecenie firmwaredownloadstatus pokazuje Firmwarecommit failed. (0x1a).
Przykład:
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
W przypadku przełącznika, w przypadku którego aktualizacja nie uruchamiała się do nowej wersji oprogramowania wewnętrznego po pobraniu oprogramowania wewnętrznego, stwierdzono, że parametr bootloadera (bootargs) został zmodyfikowany w celu rozruchu z określonej partycji.
(root=/dev/sda1) zamiast (root=/dev/sda$prt)
Przykład:
bootargs=root=/dev/sda1 rootfstype=ext4 quiet console=ttyS0,9600
Zwykle podczas procesu aktualizacji oprogramowanie wewnętrzne jest początkowo pobierane na partycję dodatkową, podczas gdy oprogramowanie wewnętrzne partycji podstawowej pozostaje niezmienione do momentu ponownego uruchomienia.
Partycje podstawowe i dodatkowe zostaną zamienione, a przełącznik normalnie uruchomi partycję z nowym oprogramowaniem wewnętrznym.
Ponieważ jednak parametr bootargs został wcześniej zmodyfikowany w celu rozruchu z określonej partycji (root=/dev/sda1) zamiast (root=/dev/sda$prt), przełącznik kontynuował rozruch do partycji ze starym oprogramowaniem układowym.
W rezultacie aktywna wersja oprogramowania wewnętrznego pozostała na poziomie 8.1.0a zamiast oczekiwanej wersji 8.1.2f podczas rozruchu po uaktualnieniu.
Przyczyną nieprawidłowej wartości bootargs w konfiguracji bootloadera była procedura odzyskiwania hasła, w której wartość została przypadkowo ustawiona.
Zwróć uwagę, że wynik parametru bootargs pokazuje /dev/sda1 zamiast /dev/sda$prt po uruchomieniu powyższego polecenia.
Przykład zaczerpnięty z portu szeregowego:
=> 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
Rozwiązanie: Aby odzyskać, zmodyfikuj ustawienie bootargs z powrotem na domyślne.
Metoda #1:
- Zaloguj się, aby przełączyć się jako root i użyj polecenia bootenv .
bootenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
hareboot
Metoda #2:
- Połącz przez konsolę szeregową i wejdź do powłoki poleceń bootloadera .
setenv bootargs 'root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 quiet'
saveenv
boot
Po zastosowaniu metody #1 lub #2 przełącznik powinien uruchomić się z nowym oprogramowaniem wewnętrznym i zakończyć proces pobierania oprogramowania wewnętrznego.
Additional Information
bootargs=root=/dev/sda$prt rootfstype=ext4 console=ttyS0,9600 cichy