How to: Firmwareupdate von NVMe’s oder SSDs mit PowerShell
Heute möchte ich euch zeigen, wie ihr bei eurem Storage Spaces Direct Cluster mit der PowerShell, die Firmware eurer NVMe’s und SSDs aktualisieren könnt.
In meinem Beispiel handelt es sich um ein 3 Node Azure Stack HCI Cluster von HPE auf Basis Windows Server 2019 mit je 24 SSDs vom Type MO001600JWTBT pro Server.
Überprüfen der aktuellen Firmware
Zuerst überprüfen wir, welche Firmware ist aktuell installiert und unterstützen unsere NVMe’s oder SSDs das aktualisieren per PowerShell. Einen Überblick über alle Festplatten erhalten wir mit folgenden PowerShell Befehl.
Get-PhysicalDisk | Get-StorageFirmwareInformation
steht „SupportsUpdate“ auf „True“ können wir grundsätzlich die Firmware der SSDs per PowerShell aktualisieren.
Download der Firmware Datei beim Hersteller
Zum Einsatz kommen nur vom Hersteller supportete Firmwareversionen. In meinem Beispiel war dies die Firmwareversion „HPD7“ die unter folgendem Link heruntergeladen werden kann.
Die heruntergeladene .EXE Datei entpacken. In meinem Beispiel handelt es sich bei der „TAPM5ALLHPD/.rel“ um die Image Datei für das Firmwarupdate. Wenn ihr nicht schon auf dem Server seid, müsst ihr diese in ein Verzeichnis auf dem Server kopieren.
S2DNode und Festplatten in den Maintanence Mode setzen
Der S2D Node muss vor der Firmwareaktualisierung „Angehalten“ und die Rollen verschoben werden. Im Anschluss müssen die Festplatten des S2D Nodes in den „Maintanence Mode“ gesetzt werden. Dies könnt ihr über folgende PowerShell Befehle erreichen.
# Node anhalten und Rollen verschieben$Node = <NodeName>Suspend-ClusterNode -Name $Node -Drain -Wait -Verbose
# Festplatten des Hosts werden in den Maintenance Mode gesetzt$S2DStorage=Get-StorageFaultDomain -type StorageScaleUnit | Where-Object {$_.FriendlyName -eq $Node} Enable-StorageMaintenanceMode -InputObject $S2DStorage
Firmwareupdate Installieren
Das Firmwareupdate muss lokal auf dem jeweiligen Server ausführt werden. Überprüft bitte vor dem Firmwareupate, ob die Festplatten tatsächlich im Maintanence Mode sind. Das könnt ihr z.B. mit folgenden PowerShell Befehl machen.
Get-PhysicalDisk -PhysicallyConnected -StorageNode(Get-StorageNode -Name „$Node*“)[1] | ft DeviceId, FriendlyName,SerialNumber, Firmwareversion, MediaType,OperationalStatus
Jetzt kann die neue Firmwareversion installiert werden.
$Disks = Get-PhysicalDisk | ? Operationalstatus -eq ‚In Maintenance Mode‘
foreach($Disk in $Disks) { $Disk | Update-StorageFirmware -ImagePath ‚C:installFirmware für SSD MO001600JWTBTcp040482TAPM5ALLHPD7.rel‘ -SlotNumber 0 -Verbose}
Danach muss der S2DNode neu gestartet werden. Nach dem Neustart die Firmwareversion der SSDs kontrollieren, die Festplatten und den S2DNode aus dem Maintanence Mode nehmen.
S2DNode und Festplatten aus dem Maintanence Mode nehmen
# Festplatten des Hosts werden aus den Maintenance Mode genommen
$Node = <NodeName>$S2DStorage=Get-StorageFaultDomain -type StorageScaleUnit | Where-Object {$_.FriendlyName -eq $Node} Disable-StorageMaintenanceMode -InputObject $S2DStorage
# Festplatten kontrollierenGet-PhysicalDisk
# Clusterknoten „Fortsetzen und Rollen zurückholenResume-ClusterNode -Name $S2DNode -Failback Immediate -Verbose
Denk bitte daran, dass ihr den Abschluss der Storagejobs abwartet, bis ihr mit den nächsten Knoten forffahrt. Mit
Get-StorageJob
könnt ihr die Storagejobs überwachen.
So, das war es schon.
An dieser Stelle sei darauf hingewiesen, dass ihr solche Aktionen nach Möglichkeit nie erstmals an einen Produktivsystem testen solltet. Außerdem ist mit großer Sorgfalt darauf zu achten, dass ihr die richtige Firmwaredatei installiert. Solltet ihr in eurem System NVMe’s und SSDs haben, so kann es sein, dass ihr die hier gezeigten PowerShell Befehle anpassen müsst. Ich wünsche euch ganz viel Erfolg dabei und verbleibe bis zum nächsten Mal
Eure Petra