Deep Dive: Junos OS Upgrade: So geht’s

Upgrades von Netzwerkgeräten kann sich manchmal anfühlen wie eine Herzoperation. Es handelt sich um einen riskanten Eingriff, der eine sorgfältige Planung und präzise Ausführung erfordert. Wir können ihnen dabei helfen, damit ihr Upgrade problemlos verläuft.

  #Juniper Networks   #Network as a Service   #Deep Dive  
Diana Stucki
+41 58 510 13 54
diana.stucki@umb.ch

Junos OS ist ein einheitliches Netzwerkbetriebssystem, das auf einer FreeBSD-Basis läuft. Neuere Geräte mit Junos Evo laufen jedoch auf einer Linux Umgebung. Es wird auf Routern, Switches und Firewalls eingesetzt, um den Netzwerkbetrieb, die Verwaltung und die Wartung von Juniper-Produkten zu vereinfachen.

Die Gründe für ein regelmässiges Upgrade des Junos-Betriebssystems sind vielfältig und reichen von veralteter Software über die Bereitstellung neuer Funktionen bis hin zur Standardisierung einer Unternehmensversion auf allen Routern/Switches. Da die meisten Unternehmen für ihren Betrieb auf ihr Netzwerk angewiesen sind, bringt aktuelle Software viele Vorteile, welche die Investition durchaus wert sind. In diesem Artikel gehe ich auf das Dilemma zwischen einem Upgrade und der Beibehaltung einer stabilen Junos-Betriebssystemversion ein; ich erkläre ihnen die Namenskonvention für Junos-Betriebssystempakete und zeige nützliche Tools und Links, die bei der Suche nach der richtigen Version helfen. Nicht zuletzt gebe ich eine Übersicht über das allgemeine Vorgehen.

 

Aktualisieren oder mit einer stabilen Junos-Version weiterarbeiten?

  1. Wenn sie mit diesem Dilemma konfrontiert sind, gibt es einige Fragestellungen, die ihnen helfen können, eine Entscheidung zu treffen, zum Beispiel:
    Wann läuft die aktuelle Version des Junos-Betriebssystems aus, bzw. wann endet der Support?
    Prüfen sie unbedingt: https://support.juniper.net/support/eol/software/junos/
  2. Möchten sie in ihrer Netzwerkumgebung neue Funktionen?
    Der folgende Link ermöglicht es ihnen, neue Funktionen zu evaluieren: https://apps.juniper.net/feature-explorer/
  3. Ist die aktuelle Version ihres Junos-Betriebssystems anfällig für bekannte Probleme, die ihr Netzwerk beeinträchtigen könnten?
    PR-Checks können mit Problem Report Search durchgeführt werden.

 

Junos OS Versionen

Die Software-Versionsnummern von Junos werden in einem Major- und Minor-Format angegeben. Die Major-Nummer ist die Version von Junos für ein bestimmtes Kalenderjahr und die Minor-Version gibt an, in welchem Quartal die Software veröffentlicht wurde.

Jede Version von Junos OS wird 18 Monate lang supportet. Die letzte Version von Junos im Kalenderjahr wird als Extended End of Life (EEOL) bezeichnet und wird 36 Monate lang supportet.

Beispiel

  • 20.4 wurde ursprünglich im Jahr 2020 Q4 veröffentlicht und 21.1 in 2021 Q1
  • Mit Junos 20.1 bis 20.2 werden neue Funktionen eingeführt, und mit Junos 20.1R1 bis 20.1R2 werden Fehler behoben.

Der Vorteil der Verwendung der letzten Junos-Version eines Kalenderjahres (EEOL-Release) besteht darin, dass z. B. 20.1 nach 18 Monaten keine Fehlerbehebungen, bugfixes, mehr bietet, während 20.4 noch 36 Monate lang Fehlerbehebungen enthält.

Es gibt unterschiedliche Junos-Versionen, dabei werden einige häufiger veröffentlicht um Probleme zu beheben, sogenannte Wartungs- und Service-Versionen.

Maintenance-Releases (Wartungsversionen) beheben eine Reihe von Problemen und werden mit dem Präfix "R" gekennzeichnet, während Service-Releases bei Bedarf veröffentlicht werden, um ein kritisches Problem zu beheben, das noch nicht durch eine Wartungsversion behoben wurde. Diese Versionen sind mit dem Präfix "S" versehen.

Im Folgenden ein Beispiel für die Namenskonventionen von Softwarepaketen:

junos-install-mx-x86-64-21.2R3-S4.3.tgz

junos-install-mx – Name des Softwarepaketes

x86-64 – Der Architektur-Bitwert x86-64 gibt an, dass das Softwarepaket für das 64-Bit-Betriebssystem Junos bestimmt ist und die x86-Architektur unterstützt.

21.2 Major Software Version

R3    – Maintenance Release(Wartungsversion)

S4     – Service Release Software. SR ist das 4. Service Release basierend auf 21.2R3

3       – Änderungsnummer

JUNOS Service Release Software – Wenn sie auf der Seite zum Herunterladen der JUNOS-Software das Dropdown-Menü für den JUNOS-Image-Typ öffnen, gibt es zwei Optionen: "Junos" und "Junos Service Release".

Wenn sie "Junos" auswählen, gelangen sie zu den Junos-Wartungsversionen, während sie mit "Junos Service Release" zur Download-Seite "Service Releases" gelangen.

Screenshot der Juniper-Software-Download-Seite

 

So finden sie die richtige Version

Um Kunden bei der Auswahl einer Junos-Softwareversion zu unterstützen, die auch ihren Anforderungen entspricht, bietet Juniper verschiedene Hilfeleistungen an: Junos Software Versions – Suggested Releases to Consider and Evaluate

Für eine vollständige Analyse der passenden Softwareversion für ihre Netzwerkumgebung, besteht ebenfalls die Möglichkeit "PIIR Services" (Product Issue Impact Review Services) in Anspruch zu nehmen. Dies ist natürlich mit zusätzlichen Kosten für sie verbunden, die von Juniper erhoben werden. Unser Team kann ebenfalls einen ähnlichen Service anbieten; wenden sie sich dazu bitte an info@umb.ch

Ausserdem bietet Juniper ein Tool namens Juniper Software Support Evaluation Tool (JSSET) an. Mit diesem Tool können sie die neuesten proaktiven Fehlerbenachrichtigungen einsehen. Sie können basierend ihrer Juniper Produkten (Junos-Version und Hardware), benutzerdefinierte Abfragen zu Junos OS Softwareproblemen erstellen und die Auswirkungen der einzelnen «problem reports» (PR) auf den Service bewerten. Die Abfrageergebnisse werden im Tool angezeigt und sind gekennzeichnet mit einem schweregrad ihrer Auswirkungen auf ein System. Sie können die Ergebnisse zudem als Excel Tabelle herunterladen um diese offline zu analysieren.

Eine detaillierte Anleitung finden sie unter:  JSSET-Kurzanleitung 

Screenshot des Juniper Software Support Evaluation Tools (JSSET)

 

Bug-Bounty

Manchmal muss die Entscheidung für ein Upgrade getroffen werden, weil sie in ihrer aktuellen Junos-Version auf einen Fehler oder ein bekanntes Problem gestossen sind und ein Software-Upgrade die einzige Lösung darstellt.

Im Auswahlprozess sollte unbedingt beachtet werden was in einer Junos-Version neu ist und welche Probleme bekannt sind oder behoben wurden.  Diese Informationen finden sie in den Versionshinweisen.

Sobald sie sich für eine Junos-Version entschieden haben, stellt sich die Frage:  Welches ist der empfohlene Upgrade Installationspfad?

 

Upgrade Installationspfad

Generell gilt, dass bei einer Installation nicht mehr als zwei nacheinander folgende Hauptversionen übersprungen werden sollte.

Im folgenden Beispiel betrachten wir das Upgrade von 18.3 auf 20.3R3 und ein Patch-Update von 18.2R2.6 auf 18.2R3-S8:

Zwischen 18.1 und 20.3R3 gibt es die folgenden Hauptversionen: 18.1.R3 - 18.2 - 18.3 - 18.4 - 19.1 - 19.2 - 19.3 - 19.4 - 20.1 - 20.2 - 20.3.R3

Der korrekte Upgrade-Pfad wäre also: 18.1R3 → 18.4 → 19.3 → 20.2 → 20.3R3

Ein Patch-Update von 18.2R2.6 auf 18.2R3-S8 kann direkt erfolgen, da dabei keine Hauptversionen übersprungen werden.

 

Upgrade-Planung

Um ein Upgrade erfolgreich durchzuführen und nachteilige Auswirkungen zu vermeiden, muss es sorgfältig geplant und ausgeführt werden. Dies erfordert eine Verfahrensmethode (Method of Procedure, MOP) dies beinhaltet einem "Plan B" für den Fall eines Fehlers.

Bei der Vorbereitung des Ablaufs sollten sie folgende Punkte berücksichtigen:

 

A. Vorbereitungsaktivitäten

1. Laden sie die neue Junos-Version herunter, von juniper.net

2. Speichern sie die aktuelle Gerätekonfiguration (für den Fall eines Fehlers nach einem Software-Upgrade).


> file list /config/

Sftp: > get /config/juniper.conf.gz

Oder:

> show configuration | display set | no-more

3. Prüfen sie, ob genügend Speicherplatz auf ihrem Gerät verfügbar ist:


> show system storage

Wenn der Platz nicht ausreicht, bereinigen sie den Speicher:

> request system storage cleanup

> yes


So löschen sie eine bestimmte Datei (z. B. ein altes Junos-Paket):

> file delete /var/tmp/jinstal…

4. Laden sie das neue Junos OS-Image auf das Gerät hoch.

5. Um erfolgreich zu sein und ein Problem nach einem Software-Upgrade zu erkennen, sollten sie den ist- Zustand des Systems vor dem Upgrade kontrollieren.

Nachfolgend finden sie einige Befehle zur Vor- und Nachkontrolle:

Systemzustand

> show chassis alarms | no-more

> show system core-dumps | no-more

> show pfe statistics traffic | match drop

> show pfe statistics error | no-more

> show system processes extensive | no-more

> show system uptime no-forwarding | no-more

> show chassis fpc detail | no-more

> show chassis environment | no-more

> show chassis routing-engine | no-more

Prüfung der Infrastrukturdienste

> show interfaces descriptions | match down | no-more

> show interfaces | match “Physical|rate” | no-more

> show isis adjacency | no-more

> show ldp session | no-more

> show bfd session | no-more

> show route summary | no-more

> show bgp summary | no-more | match Establish

 

B. Upgrade-Aktivitäten:

1. Melden sie sich am Gerät an und aktivieren sie den Terminalmonitor

> monitor start internal-error | except md5 | except repeated

Single Routing-Engine:

Erstellen sie einen snapshot der aktuellen Version

> request system snapshot

Initiieren sie das Upgrade:

> request system software add reboot /var/tmp/junos-package-name-architecture-bit-release-Cx.y.tgz

Dual-Routing-Engine:

Erstellen sie einen snapshot der aktuellen Version

> request system snapshot routing-engine both

Deaktivieren sie alle NSR-Funktionen:

Die Software wird nicht richtig installiert falls Graceful Routing Engine Switchover (GRES) oder Nonstop Active Routing (NSR) aktiviert.

Stellen sie somit sicher, dass sie GRES deaktivieren (falls es aktiviert ist). NSR ist standardmässig deaktiviert. Falls NSR aktiviert ist, entfernen sie die Anweisung nonstop-routing aus der Hierarchieebene [edit routing-options], um die Funktion zu deaktivieren.

# deactivate chassis redundancy graceful-switchover

# deactivate routing-options nonstop-routing

 

Upgrade Backup RE:

> request routing-engine login other-routing-engine

> request system software add reboot /var/tmp/junos-package-name-architecture-bit-release-Cx.y.tgz

 

RE Umschaltung:

> request chassis routing-engine master switch

 

Upgrade primäre RE:

> request routing-engine login other-routing-engine

> request system software add reboot /var/tmp/junos-package-name-architecture-bit-release-Cx.y.tgz

Redundanz einschalten - alle NSR-Funktionen aktivieren

# activate chassis redundancy graceful-switchover

# activate routing-options nonstop-routing

Prüfen sie, ob alle Protokolle synchronisiert sind

> show task replication

 

Endgültige RE-Umschaltung mit NSR auslösen

> request chassis routing-engine master switch

 

2. Commit Full

> commit full

3. Post-Upgrade-Snapshot ausführen

> request system snapshot

4. Prüfen sie nach dem Neustart, ob auf dem Router die neue Softwareversion läuft, und keine Warnungen vorhanden sind.

Um zu kontrollieren, dass alles wie erwartet funktioniert, führen sie die Prüfungen des Systemzustands und der Infrastrukturdienste erneut durch und vergleichen sie diese mit den ursprünglichen Ergebnissen.

 

C. Roll-Back-Aktivität:

“Auf das Beste hoffen, aber auf das Schlimmste vorbereitet sein”.

Bereiten sie vor der Aktivität einen Plan zur Wiederherstellung der korrekten Funktionalität des Juniper Netzwerkgerätes im Fehlerfall vor.

Auch wenn dies nicht häufig vorkommt, kann manchmal ein vor-Ort Mitarbeiter weiterhelfen (wenn sie die Verbindung verloren haben und auf die Konsole zugreifen müssen). Stellen sie sicher, dass sie während ihrer Aktivität einen Aussendiensttechniker zur Verfügung haben, der bei Bedarf vor Ort sein kann.

 

Beispiel 1:

Das Gerät bootet vom Backup Junos OS Image.

Normalerweise kann ein Neustart das Problem beheben, aber wenn das nicht hilft:  https://www.juniper.net/documentation/us/en/software/junos/junos-install-upgrade/topics/task/ex-series-booted-from-backup.html

 

Beispiel 2:

Junos OS Upgrade-Fehler/Absturz - das System bleibt beim Hochfahren stecken

Lösung: https://kb.juniper.net/InfoCenter/index?page=content&id=KB26175

 

Fazit

Die Welt, in der wir heute leben, ist abhängig von Netzinfrastrukturen - von der Möglichkeit, einen Notruf zu tätigen, über das Lesen und Entspannen in den sozialen Medien bis hin zur Erfüllung von Arbeitsaufgaben.

Um mit den wachsenden Datenanforderungen Schritt zu halten, ist das Festhalten an alten Infrastrukturen weder sicher noch praktisch. Wachstum und Produktivität in jeder Organisation erfordern ein zuverlässiges Netzwerk.

Weitere Informationen finden sie unter folgendem Link:

Junos® OS Software Installation and Upgrade Guide