Massenfirmwareupdates bei HP Switchen
Hallo,
ich habe ein ganzes Rudel von HP Switchen, bei denen ich Firmware Updates machen muss.
Händisch ist es ganz schön lästig, gibt es ein Tool, mit dem man es automatisieren kann?
ich habe ein ganzes Rudel von HP Switchen, bei denen ich Firmware Updates machen muss.
Händisch ist es ganz schön lästig, gibt es ein Tool, mit dem man es automatisieren kann?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 599716
Url: https://administrator.de/contentid/599716
Ausgedruckt am: 20.11.2024 um 10:11 Uhr
18 Kommentare
Neuester Kommentar
Moin,
Suche mal nach HPs IMC
https://community.hpe.com/t5/aruba-provision-based/centralized-switch-ma ...
Selbst kenne ich die Software nicht, kann also keine Erfahrung zu geben
Gruß
em-pie
Suche mal nach HPs IMC
https://community.hpe.com/t5/aruba-provision-based/centralized-switch-ma ...
Selbst kenne ich die Software nicht, kann also keine Erfahrung zu geben
Gruß
em-pie
Moin Krodon,
kannst du ohne viel Schnickschnack auch ganz einfach per Power-Shell zusammencripten.
Im folgenden Beitrag ist die Vorgehensweise ganz gut beschrieben.
https://deployhappiness.com/update-switch-firmware-with-powershell/
Sag bescheid, wenn dir noch etwas unklar ist.
Grüsse aus BaWü
Alex
kannst du ohne viel Schnickschnack auch ganz einfach per Power-Shell zusammencripten.
Im folgenden Beitrag ist die Vorgehensweise ganz gut beschrieben.
https://deployhappiness.com/update-switch-firmware-with-powershell/
Sag bescheid, wenn dir noch etwas unklar ist.
Grüsse aus BaWü
Alex
Ach sorry.
Der ist vermutlich nur für „dich“, zum identifizieren der Switche in der csv...
Dann wäre
Switch01;10.20.30.1;J4711A
Switch02;10.20.30.2;J4711B
passender
Ich würde mir im Vorfeld aber in jedenfalls die FW-Version aller Switche exportieren. Damit du einen Überblick hast, auf welchen Versionen die aktuell laufen. Ggf. Musst du einige erst auf eine Mindest-Version Hochziehen, bevor du per „Giesskanne“ alle aktualisierst
Der ist vermutlich nur für „dich“, zum identifizieren der Switche in der csv...
Dann wäre
Switch01;10.20.30.1;J4711A
Switch02;10.20.30.2;J4711B
passender
Ich würde mir im Vorfeld aber in jedenfalls die FW-Version aller Switche exportieren. Damit du einen Überblick hast, auf welchen Versionen die aktuell laufen. Ggf. Musst du einige erst auf eine Mindest-Version Hochziehen, bevor du per „Giesskanne“ alle aktualisierst
Moin Krodon,
die erste Spalte der Name "name", ist für dich selbst zur Identifizierung der Switche gedacht.
Die zweite Spalte, die IP "IPAddress" ist denke ich selbsterklärend.
Die dritte Spalte, das Model, kannst du ebenfalls halbwegs frei benennen. Du musst das im Script lediglich an der entsprechenden Stellen richtig anpassen, damit auch die richtige Firmware für den Switch gezogen werden kann, die sie aber meistens nicht vom Switch Typ (2530-24G) zu Switch Typ (2530-48G) unterscheidet, sondern eher von Switch Serie (2530-xx) zu Switch Serie (2540-xx).
Ich mache dir mal ein Beispiel anhand von vier Switchen.
switchlist.csv:
name, IPAdress, Model Type
HPSW-EG01 172.16.250.1 2530-X1 2530-24G
HPSW-EG02 172.16.250.2 2530-X1 2530-48G
HPSW-OG01 172.16.250.3 2540-X1 2540-24G
HPSW-OG02 172.16.250.4 2540-X1 2540-48G
Script:
"Firmware_für_2530-X1.swi" & "Firmware_für_2530-X1.swi" muss noch entsprechend dem einzuspielenden Firmwaredateinamen angepasst werden.
Eine vorherige Sicherung der Switch Konfiguration würde ich dir auf jeden Fall empfehlen.
Grüsse aus BaWü
Alex
die erste Spalte der Name "name", ist für dich selbst zur Identifizierung der Switche gedacht.
Die zweite Spalte, die IP "IPAddress" ist denke ich selbsterklärend.
Die dritte Spalte, das Model, kannst du ebenfalls halbwegs frei benennen. Du musst das im Script lediglich an der entsprechenden Stellen richtig anpassen, damit auch die richtige Firmware für den Switch gezogen werden kann, die sie aber meistens nicht vom Switch Typ (2530-24G) zu Switch Typ (2530-48G) unterscheidet, sondern eher von Switch Serie (2530-xx) zu Switch Serie (2540-xx).
Ich mache dir mal ein Beispiel anhand von vier Switchen.
switchlist.csv:
name, IPAdress, Model Type
HPSW-EG01 172.16.250.1 2530-X1 2530-24G
HPSW-EG02 172.16.250.2 2530-X1 2530-48G
HPSW-OG01 172.16.250.3 2540-X1 2540-24G
HPSW-OG02 172.16.250.4 2540-X1 2540-48G
Script:
$Time = "23:00"
$Server = "192.168.0.10"
$Username = "admin"
$Password = "password"
Set-Location C:\putty\
$SwitchList = Import-Csv .\switchlist.csv
foreach ($Switch in $SwitchList){
if ($Switch.model -eq "2530-X1"){
.\kitty.exe $Switch.IPAddress -ssh -v -l $Username -pw $Password -cmd "\s02 \n Copy tftp flash $Server Firmware_für_2530-X1.swi \n y \n \s02 \n wri mem \n reload at $Time \n y \n logout \n y" -send-to-tray
}
if ($Switch.model -eq "2540-X1"){
.\kitty.exe $Switch.IPAddress -ssh -v -l $Username -pw $Password -cmd "\s02 \n Copy tftp flash $Server Firmware_für_2540-X1.swi \n y \n \s02 \n wri mem \n reload at $Time \n y \n logout \n y" -send-to-tray
}
sleep 3
}
"Firmware_für_2530-X1.swi" & "Firmware_für_2530-X1.swi" muss noch entsprechend dem einzuspielenden Firmwaredateinamen angepasst werden.
Eine vorherige Sicherung der Switch Konfiguration würde ich dir auf jeden Fall empfehlen.
Grüsse aus BaWü
Alex
Moin Edi,
😲, OK die würde ich auch nicht alle von Hand updaten wollen.
Das Skript speichert die startup-config und nicht die running-config, somit würden die nicht gespeicherten Konfigurationen nicht mitgesichert werden.
Das sollte aber kein grosses Problem sein, du musst das Backupskript lediglich folgend abändern.
So wird vor der Sicherung auf jedem Switch die running-config in die startup-config geschrieben.
Wenn du das Backupskript folgend änderst, dann sichert es direkt die running-config der switche.
Grüsse aus BaWü
Alex
es sind an die 70 Switche, zum Glück wenige Modelle und alle von HP.
😲, OK die würde ich auch nicht alle von Hand updaten wollen.
Wenn vergessen wurde auf speichern zu drücken, welche Config wird gespeichert?
Das Skript speichert die startup-config und nicht die running-config, somit würden die nicht gespeicherten Konfigurationen nicht mitgesichert werden.
Das sollte aber kein grosses Problem sein, du musst das Backupskript lediglich folgend abändern.
if ((Test-Path \\$Server\c$\TFTP-Root\$Filepath) -eq $false){New-Item -ItemType Directory -Name $Switch.NodeName -Path \\$Server\c$\TFTP-Root\Configs\}
.\kitty.exe $Switch.IPAddress -ssh -v -l $Username -pw $Password -cmd "\s05 \n write memory \n Copy Startup-Config tftp $Server $Filepath$FileName \n y \n logout \n y \n y \n y"
sleep -Seconds 2
}
So wird vor der Sicherung auf jedem Switch die running-config in die startup-config geschrieben.
Wenn du das Backupskript folgend änderst, dann sichert es direkt die running-config der switche.
if ((Test-Path \\$Server\c$\TFTP-Root\$Filepath) -eq $false){New-Item -ItemType Directory -Name $Switch.NodeName -Path \\$Server\c$\TFTP-Root\Configs\}
.\kitty.exe $Switch.IPAddress -ssh -v -l $Username -pw $Password -cmd "\s05 \n Copy running-config tftp $Server $Filepath$FileName \n y \n logout \n y \n y \n y"
sleep -Seconds 2
}
Grüsse aus BaWü
Alex
Du weißt, was die Scripte machen?
Schaue dir das bitte noch mal genau an!
Hinweis: mit Skitty setzt du Befehle automatisiert ab, die du normalerweise selbst und manuell eintippen würdest.
Und einen TFTP brauchst du sehr wohl, willst du die config ja per TFTP an deinen Server senden!
Und ein Switch kann nichts mit UNC-Pfaden anfangen
Also nicht immer alles blind kopieren und nur partiell Dinge tauschen, sondern auch prüfen, was da eigentlich passiert!
Edit: Typo
Schaue dir das bitte noch mal genau an!
Hinweis: mit Skitty setzt du Befehle automatisiert ab, die du normalerweise selbst und manuell eintippen würdest.
Und einen TFTP brauchst du sehr wohl, willst du die config ja per TFTP an deinen Server senden!
Und ein Switch kann nichts mit UNC-Pfaden anfangen
Also nicht immer alles blind kopieren und nur partiell Dinge tauschen, sondern auch prüfen, was da eigentlich passiert!
Edit: Typo
Moin Krodon,
auch wenn em-pie, die Antwort etwas schroff geschrieben hat, er hat recht damit.
Du benötigst auf jeden Fall einen TFTP Server.
Ich habe heute jedoch keine Zeit dies ausführlich zu erklären, daher bitte ich dich die Beschreibung des Links den ich oben geschickt habe,
nochmals genau zu lesen und alle beschriebenen Punkte auch 1:1 zu befolgen.
Jetzt muss ich aber weiter flitzen.
Grüsse aus BaWü
Alex
Der TFTP wird nicht benötigt, es wird ein \\$Server\c$\TFTP\$Filepath
Testen kann ich erst morgen
Testen kann ich erst morgen
auch wenn em-pie, die Antwort etwas schroff geschrieben hat, er hat recht damit.
Du benötigst auf jeden Fall einen TFTP Server.
Ich habe heute jedoch keine Zeit dies ausführlich zu erklären, daher bitte ich dich die Beschreibung des Links den ich oben geschickt habe,
nochmals genau zu lesen und alle beschriebenen Punkte auch 1:1 zu befolgen.
Jetzt muss ich aber weiter flitzen.
Grüsse aus BaWü
Alex