SSD Firmware online updaten – bei einem Scale Out File Server 2012 R2 Storage Pool
Wir haben für unsere Umgebung einen Weg gefunden, der es möglich macht, die SSD Firmware zu aktualisieren ohne dass die Daten wegmigriert und der Storage Pool aufgelöst werden muss.
Auf unseren zwei Scale Out File Server Umgebungen bestehend aus HP DL 360 -Systemen an die jeweils ein Single JBOD (einmal DataON und einmal Intel JBOD) per SAS angeschlossen ist, haben wir das SSD Firmwareupdate erfolgreich durchgeführt. Andere Konstellationen konnten wir nicht testen und werden hierzu auch keine Mutmaßungen abgeben, ob es damit funktionieren könnte oder nicht.
Wir setzen in unserer Umgebung Seagate 1200 SSDs ein und für genau diese SSDs gelten die nachfolgend beschriebenen Schritte.
Wir weisen ausdrücklich darauf hin, dass dieses Online Update nicht ganz trivial ist, dass es trotz gewissenhafter Ausführung zu Datenverlust kommen kann. Bitte lesen Sie sich die hier beschriebenen Schritte komplett durch und starten Sie nicht ohne eine aktuelle Sicherung ihrer Umgebung zu haben. Sollten Sie keine Seagate SSDs einsetzen, so lesen Sie bitte die Herstelleranleitung zum Firmware Update Ihrer SSDs.
Wir übernehmen keinerlei Haftung für eventuell aufgetretene Datenverluste!
Das Online Firmware Update kann nur durchgeführt werden wenn Sie mindestens eine Hot Spare SSD in ihrem Storage Pool definiert haben, oder wenn dies nicht der Fall ist, eine zusätzliche SSD desselben Typs und der gleichen Größe dem Storage Pool zu Verfügung stellen können. Denn nur dann besteht die Möglichkeit eine SSD aus dem Storage Pool heraus zu lösen.
Mehr Informationen zum Thema „Austausch einer Fehlerhaften Festplatte aus einem Storage Pool“ finden Sie auf der folgenden Webseite: Replace Failed Disks and Repair JBODs for Storage Spaces in Windows Server
Auslesen des aktuellen Firmwarestands:
Im Servermanager bei Datei- und Speicherdienste\Speicherpools werden unten rechts die „physischen Datenträger“ angezeigt. Einen Datenträger markieren und die Eigenschaften aufrufen unter Details\FirmwareVersion kann nachgeschaut werden, welche Firmware die gewählte Festplatte hat.
In unserem Fall hat die SSD die Firmwareversion „0006“ – die aktuelle vom Hersteller veröffentlichte Firmwareversion ist die „0007“
Anmerkung: Windows zeigt die neue Firmwareversion erst nach dem Reboot aller Server die Mitglied im Failover Cluster sind an.
Oder aber über PowerShell – schnell und einfach
Get-PhysicalDisk | Where-Object MediaType -eq „SSD“ |ft FriendlyName,MediaType,FirmwareVersion
Folgende Schritte sind für das Firmware Update notwendig:
- Ausschalten der automatischen Festplatten Wiederherstellung am StoragePoolGet-StoragePool -IsPrimordial $false | Set-StoragePool -RetireMissingPhysicalDisks Never
Kontrolliert werden kann diese Einstellung über folgenden PowerShell Befehl
Get-StoragePool -IsPrimordial $false | Fl
- Ist für den Storage Pool eine Hot Spare definiert,
kann diese direkt aus dem Storage Pool entfernt werden, hier bitte mit Punkt 6 fortfahren - Frei verfügbare SSD dem Storage Pool hinzufügen
Dies erfolgt über den Server Manager
-
Die SSD welche die neue Firmware bekommen soll auf „Außer Betrieb“ oder „retired setzen
dadurch, dass wir die Festplatte auf „Außer Betrieb“ setzten, veranlassen wir im nächsten Schritt beim Repair der vDisks, dass die Daten dieser SSD Festplatte auf die neu hinzugefügte „leere“ SSD übertragen werden. Dies wird mit folgendem PowerShell Befehl durchgeführt:
Get-PhysicalDisk physicaldisk19 | Set-PhysicalDisk -Usage Retired
die erfolgreiche Änderung der Festplatten Zuordnung kann sowohl im Server Manager wie auch im Failover Cluster Manager unter „Storage\Pool“ kontrolliert werden„Storage\Pool“ kontrolliert werden
Jetzt sind im Storage Pool sichtbar:
grün die neu hinzugefügte SSD – rot die „außer Betrieb“ gesetzte SSD
Anmerkung: Bitte notieren Sie sich die Slotnummer (rot markiert) der SSDs, die Sie bereits aktualisiert haben, den je nachdem von welchem Server Sie die Disks präsentiert bekommen, können die Namen (blau) unterschiedlich sein, das kann schon mal für Verwirrung sorgen. Die Slotnummer waren zumindest in unserer Umgebung immer eindeutig.
-
Pro vDisk muss jetzt die Reparatur-Funktion über PowerShell aufgerufen werden.
WICHTIG!
die Reparatur muss über alle vDisks ausgeführt werden, auch bei denen, die keinen SSDTier belegen, da der Writeback-Cache auf dem SSDTier liegt (standardmäßig ist der Writeback-Cache 1 GB groß)
Die Reparaturfunktion wird über Powershell aufgerufen. Zuerst benötigen wir die ObjektID der jeweiligen vDisk, mitget-VirtualDisk vDisk1 | select-object ObjectID | fl
können wir uns die ObjectID der vDisk anzeigen lassen, diese sieht wie folgt aus:
Die markierte ID benötigen wir für die Reparatur
Der Powershellbefehl dazu lautet:Get-VirtualDisk | Where-Object ObjectId -Match „{96a44ad8-6778-11e5-80bb-00237ddbbddb}“ | Repair-VirtualDisk
Es geht auch der PowerShell Befehl
Repair-VirtualDisk –Friendlyname vDsikname
Allerdings hat dieser Befehl bei mir nicht so zuverlässig funktioniert, daher habe ich für alle SSDs den ersten Befehl verwendet.
Der Reparaturvorgang kann je nach Größe und Datenmenge einige Zeit in Anspruch nehmen.
Nach dem ersten Reparaturvorgang können wir im Failover Cluster Manager beim Pool – schon sehen, wie die Daten auf die neu hinzugefügten SSD verlagert wurden. Sobald bei allen vDisks der Reparaturvorgang ausgeführt ist, hat die „außer Betrieb“ gesetzte SSD in unserer Umgebung nur noch 256 MB Daten und kann jetzt entfernt werden. Solange auf der SSD noch Daten liegen (mehr als die angezeigten 256 MB), kann diese nicht aus dem Storage Pool entfernt werden. -
Die SSD wird über den Server Manager aus dem Storage Pool entfernt
Datenträger wurde erfolgreich aus dem Pool entfernt.
Jetzt hat das Betriebssystem direkten Zugriff auf die SSD und diese kann mit der neuen Firmware versorgt werden.
Die hier beschriebenen Vorgänge müssen einzeln für jede SSD durchgeführt werden, die mit einer neuen Firmware versorgt werden soll. Zugegeben das ist mit Zeit und Aufwand verbunden und während der Reparaturvorgänge ist mit Sicherheit mit Performanceeinbußen zu rechnen. Aber es ist eine Alternative – wenn man bedenkt, dass ansonsten alle VMs auf einen anderen Storage Pool verschoben werden müssen, der Pool komplett aufgelöst werden muss damit die SSDs mit neuer Firmware versorgt werden können und anschließend wieder aufgebaut werden muss. -
Clusterknoten auf dem das Firmware Update ausgeführt wird in den Modus „Anhalten“ setzen und alle Rollen ausgleichen
-
Verbindung zu Storage am angehaltenen Clusterknoten bis auf eine Verbindung trennen
Sind mehrere Verbindungen zum Storage auf dem Clusterknoten aktiv, auf dem die SSD aktualisiert werden soll, so wird die Firmware über das Seagate Tool nicht aktualisiert.
Am zweiten Clusterknoten bleiben alle Verbindungen zum Storage aktiv. -
Seagate SSD Firmware update durchführen
Voraussetzung:
Das Windowsbetriebssystem muss direkten Zugriff auf die SSD haben.
In unserem Beispiel werden wir die SSDs einzeln aus dem Storage Pool heraus lösen, mit der neuen Firmware versorgen und dem Storage Pool wieder hinzufügen.
Wir haben in unserem Storage Pool Seagate SAS SSD 1200 200GB verbaut und zeigen hier die Vorgehensweise für das Firmwareupdate für diese SSDs. Wer andere SSD in seinem Storage Pool verbaut hat, sollte sich auf der Homepage des Herstellers informieren, wie die SSD mit neuer Firmware versorgt werden können.Wir haben in unserem Storage Pool Seagate SAS SSD 1200 200GB verbaut und zeigen hier die Vorgehensweise für das Firmwareupdate für diese SSDs. Wer andere SSD in seinem Storage Pool verbaut hat, sollte sich auf der Homepage des Herstellers informieren, wie die SSD mit neuer Firmware versorgt werden können.
Mit dem SeaTools für Windows kann die neue Firmware auf die SSD installiert werden. In unserem Fall führe ich alle Arbeiten am FSNode1 aus. Daher habe ich die SeaTools dort installiert.
Nochmals zur Kontrolle:- Die SSD wurde aus den Storage Pool entfernt – Windows hat direkten Zugriff auf sie.
– Der Clusterknoten ist im Modus „Angehalten“ und alle Rollen wurden verschoben.
– Es besteht nur noch eine Verbindung zum Storage auf diesem ClusterknotenAnmerkung: sind auf dem Server auf dem das Firmwareupdate ausgeführt wird mehr als ein HBA aktiv, wird die Firmware nicht auf die SSD geschrieben – so zumindest war es in unserer Umgebung.Jetzt kann die SSD aktualisiert werden:
Dazu rufe ich das Tool SeaTools für Windows von Seagate auf
Die zu aktualisierende SSD auswählen – unter „einfache Tests“ den Punkt „Erweiterte Tests“ aufrufen
Die jetzt erscheinende Meldung muss mit F8 bestätigt werden, dann erscheint in der Menüleiste der Menüpunkt „Erweiterte Tests“
Über den Menüpunkt „Firmware-Update“ kann die aktuelle Firmware heruntergeladen werden.
Die Firmware muss nach dem Download entpackt werden und die Firmwaredateien mit der Dateierweiterung .LOD sollen laut Beschreibung von Seagate ins Verzeichnis „C:\Program Files (x86)\Seagate\SeaTools for Windows“ kopiert werden.Bitte lesen Sie in der Beschreibung der jeweiligen Firmware nach, welche Firmware Datei für Ihre SSD verwendet werden muss.
Für unsere SSDs wurde folgende Datei angegeben.
Über den Menüpunkt „Firmware Download (…) wird die Firmware auf die SSD übertragen.
Hierbei kommt wieder eine Warnmeldung, die mit F8 bestätigt werden muss.
Bei meiner Installation waren die Dateien mit den festgelegten Dateifiltern nicht sichtbar. Ich habe den Dateinamen einfach hinein kopiert und auf „Öffnen“ geklickt
Nun wir die Firmware auf die SSD übertragen
Nachdem „Erneute Suche“ nochmals durchgeführt wurde, wird die neue Firmwareversion angezeigt.
Die Firmware wurde erfolgreich aktualisiert
Solange die Clusterknoten nicht neu gestartet wurden, können Sie nur im „SeaTools“ sehen, dass die Firmware aktualisiert wurde. Nachdem alle SSDs auf der aktuellen Firmware sind, starten wir die Server der Reihe nach einmal neu. Danach zeigt auch Windows die korrekte Firmware der SSDs an. -
Alle Verbindungen zum Storage wieder aktivieren
-
Storage Pool auf den Clusterknoten verschieben, auf dem das Firmware update ausgeführt wurde
Nun die Punkte ab 3 bis 12 für jede weitere SSD wiederholen.
Kontrollieren Sie bitte nach jedem Punkt zuerst, dass die vorgenommen Änderungen auch wirklich da sind – manches Mal dauert es etwas bis der Servermanager bzw. der Failover Cluster Manager die Änderungen anzeigt. Sie sollten mit dem nächsten Punkt erst fortfahren, wenn die Änderungen korrekt angezeigt werden.
Sollten Sie in Ihrem Storage Pool eine Hot Spare definiert haben, so fügen Sie die letzte SSD nicht als „Automatisch“ sondern als „Hot Spare“ hinzu. -
Jetzt noch die Clusterknoten der Reihe nach neu starten
Damit ist das Firmwareupdate der SSDs abgeschlossen.
Zum Abschluss kann mit folgendem PowerShell Befehl kontrolliert werden, ob wirklich alle SSDs dieselbe Firmwareversion habenGet-PhysicalDisk | Where-Object MediaType -eq „SSD“ | ft FriendlyName,MediaType,FirmwareVersion
Viel Erfolg