Stellen Sie sich das vor.

Stellen Sie sich das vor.

Welche Firmware-Version ist die „richtige“ und „funktionsfĂ€hige“? Wenn ein SAN eine Ausfallsicherheit von 99,9999 % garantiert, bedeutet das dann, dass es auch ohne Software-Updates unterbrechungsfrei funktioniert? Oder muss im Gegenteil fĂŒr maximale Ausfallsicherheit immer die neueste Firmware installiert werden? Wir werden versuchen, diese Fragen basierend auf unserer Erfahrung zu beantworten.

Eine kleine EinfĂŒhrung

Wir alle verstehen, dass jede Version von Software, sei es ein Betriebssystem oder ein Treiber fĂŒr ein bestimmtes GerĂ€t, oft MĂ€ngel / Bugs und andere „Besonderheiten“ enthĂ€lt, die sowohl bis zum Ende der Lebensdauer der Hardware nicht „auftreten“ können als auch nur unter bestimmten Bedingungen „sichtbar“ werden. Die Anzahl und Bedeutung solcher Nuancen hĂ€ngt von der KomplexitĂ€t (FunktionalitĂ€t) der Software und von der QualitĂ€t der Tests wĂ€hrend ihrer Entwicklung ab. 

HĂ€ufig bleiben die Nutzer bei der „Werksversion“ (das berĂŒhmte „funktioniert, also nicht draufgehen“) oder installieren immer die neueste Version (in ihrem VerstĂ€ndnis ist die letzte die funktionsfĂ€higste). Wir verfolgen jedoch einen anderen Ansatz – wir schauen uns die Release-Notizen fĂŒr alle verwendeten in der Cloud mClouds GerĂ€te an und wĂ€hlen sorgfĂ€ltig die geeignete Firmware fĂŒr jedes einzelne GerĂ€t.

Zu dieser Erkenntnis sind wir, sozusagen, aus Erfahrung gekommen. Anhand unserer eigenen Nutzung werden wir erklĂ€ren, warum die versprochenen 99,9999 % ZuverlĂ€ssigkeit des SANs nichts bedeuten, wenn Sie nicht rechtzeitig auf die Aktualisierungen und Beschreibungen der Software achten. Unser Fall eignet sich fĂŒr Nutzer von SANs jedes Anbieters, da eine solche Situation mit der Hardware jedes Herstellers auftreten kann.

Auswahl eines neuen Speichersystems

Ende des letzten Jahres kam eine interessante Speichersystem zu unserer Infrastruktur hinzu: das Einstiegsmodell der IBM FlashSystem 5000-Serie, das zum Zeitpunkt des Kaufs den Namen Storwize V5010e trug. Heute wird es unter dem Namen FlashSystem 5010 verkauft, aber tatsÀchlich handelt es sich um dasselbe Hardware-Basis mit demselben Spectrum Virtualize im Inneren. 

Das Vorhandensein eines einheitlichen Verwaltungssystems ist ĂŒbrigens das Hauptmerkmal des IBM FlashSystem. Bei den Modellen der unteren Serie unterscheidet sich dies praktisch nicht von den leistungsfĂ€higeren Modellen. Die Wahl eines bestimmten Modells bietet lediglich die entsprechende Hardwarebasis, deren Eigenschaften es ermöglichen, den einen oder anderen Funktionsumfang zu nutzen oder ein höheres Maß an Skalierbarkeit zu gewĂ€hrleisten. Die Software identifiziert dabei die Hardware und stellt die notwendige und ausreichende FunktionalitĂ€t fĂŒr diese Plattform zur VerfĂŒgung.

Stellen Sie sich das vor.IBM FlashSystem 5010

Kurze Informationen zu unserem Modell 5010. Dies ist ein Blockspeichersystem der Einstiegsklasse mit zwei Controllern. Es unterstĂŒtzt die Installation von NLSAS-, SAS- und SSD-Laufwerken. NVMe-UnterstĂŒtzung ist nicht verfĂŒgbar, da dieses Modell als Lösung fĂŒr Aufgaben positioniert ist, die keine NVMe-Leistung erfordern.

Das Speichersystem wurde fĂŒr die Speicherung von Archivinformationen oder Daten angeschafft, auf die nicht hĂ€ufig zugegriffen wird. Daher war uns das Standardfunktionsset ausreichend: Tiering (Easy Tier) und Thin Provisioning. Die Leistung der NLSAS-Laufwerke im Bereich von 1000-2000 IOPS war fĂŒr uns ebenfalls ausreichend.

Unsere Erfahrung — wie wir die Firmware nicht rechtzeitig aktualisiert haben

Nun zur eigentlichen Softwareaktualisierung. Zum Zeitpunkt des Erwerbs hatte das System bereits eine etwas veraltete Version der Software Spectrum Virtualize, nÀmlich 8.2.1.3.

. Wir haben die Firmwarebeschreibungen studiert und ein Update auf 8.2.1.9geplant. HĂ€tten wir uns etwas schneller bewegt, gĂ€be es diesen Artikel nicht — mit einer neueren Firmware wĂ€re dieser Fehler nicht aufgetreten. Aus bestimmten GrĂŒnden wurde das Update dieses Systems jedoch verschoben.

Infolgedessen fĂŒhrte eine kleine Verzögerung bei der Aktualisierung zu einem Ă€ußerst unangenehmen Bild, wie in der Beschreibung im Link: https://www.ibm.com/support/pages/node/6172341. 

Ja, in der Firmware dieser Version war gerade der sogenannte APAR (Authorized Program Analysis Report) HU02104 relevant. Er Ă€ußert sich wie folgt: Unter Last beginnt der Cache unter bestimmten UmstĂ€nden zu ĂŒberlaufen, wonach das System in den Schutzmodus wechselt, in dem der Ein- und Ausgabe fĂŒr den Pool deaktiviert wird. In unserem Fall bedeutete das die Deaktivierung von 3 Laufwerken fĂŒr eine RAID-Gruppe im RAID 6-Modus. Die Deaktivierung dauert 6 Minuten. Danach wird der Zugriff auf die Volumes im Pool wiederhergestellt.

Falls jemand mit der Struktur und der Benennung der logischen EntitĂ€ten im Kontext von IBM Spectrum Virtualize nicht vertraut ist, werde ich jetzt kurz darĂŒber berichten.

Stellen Sie sich das vor.Struktur der logischen Elemente von SAN

Die Festplatten werden in Gruppen zusammengestellt, die als MDisk (Managed Disk) bezeichnet werden. Eine MDisk kann ein klassisches RAID (0, 1, 10, 5, 6) oder ein virtualisiertes RAID – DRAID (Distributed RAID) sein. Der Einsatz von DRAID ermöglicht eine Steigerung der Array-Leistung, da alle Festplatten der Gruppe verwendet werden, und reduziert die Rebuild-Zeit, da nur bestimmte Blöcke und nicht alle Daten von der ausgefallenen Festplatte wiederhergestellt werden mĂŒssen.

Stellen Sie sich das vor.Verteilung der Datenblöcke auf Festplatten bei Verwendung von Distributed RAID (DRAID) im RAID-5-Modus.

Dieses Diagramm zeigt die Logik des DRAID-Rebuilds im Falle eines Ausfalls einer Festplatte:

Stellen Sie sich das vor.Logik des DRAID-Rebuilds bei Ausfall einer Festplatte

Ein oder mehrere MDisk bilden einen sogenannten Pool. Innerhalb eines Pools wird nicht empfohlen, MDisk mit unterschiedlichen RAID- oder DRAID-Niveaus auf Festplatten desselben Typs zu verwenden. Wir möchten hier nicht zu sehr ins Detail gehen, da wir dies in einem der nĂ€chsten Artikel behandeln wollen. Der Pool wird in Volumes unterteilt, die ĂŒber einen bestimmten Blockzugriffsprotokoll an die Hosts prĂ€sentiert werden.

Nun, aufgrund der in APAR HU02104, beschriebenen logischen Ausfalls von drei Festplatten, wurde die MDisk, die wiederum zum Ausfall des Pools und der entsprechenden Volumes fĂŒhrte, unbrauchbar.

Da diese Systeme recht "intelligent" sind, können sie mit dem Cloud-Monitoring-System IBM Storage Insights verbunden werden, das automatisch bei einem Fehler eine Wartungsanfrage an den IBM-Support sendet. Es wird ein Ticket erstellt und die Spezialisten von IBM fĂŒhren remote eine Diagnose durch und kontaktieren den Benutzer des Systems. 

Dank dessen wurde das Problem recht zĂŒgig gelöst, und wir erhielten von dem Support-Team eine schnelle Empfehlung, unser System auf die bereits zuvor von uns ausgewĂ€hlte Firmware 8.2.1.9 zu aktualisieren, in der dieser Fehler bereits behoben war. Das bestĂ€tigt die entsprechende Release Note.

Fazit und unsere Empfehlungen

Wie man sagt: „Gut ist, was gut endet“. Der Fehler in der Software fĂŒhrte nicht zu ernsthaften Problemen – die Serveroperationen wurden schnell wiederhergestellt, ohne dass Daten verloren gingen. Bei einigen Kunden musste die virtuellen Maschinen neu gestartet werden, aber insgesamt waren wir auf negativere Folgen vorbereitet, da wir tĂ€glich Backups aller Infrastruktur- und Kundenmaschinen durchfĂŒhren. 

Wir haben die BestĂ€tigung erhalten, dass selbst zuverlĂ€ssige Systeme mit einer versprochenen VerfĂŒgbarkeit von 99,9999 % Aufmerksamkeit und rechtzeitige Wartung erfordern. Angesichts der Situation haben wir eine Reihe von Schlussfolgerungen gezogen und teilen unsere Empfehlungen:

  • Es ist unbedingt erforderlich, die Veröffentlichung von Aktualisierungen zu verfolgen, die Release Notes auf potenziell kritische Korrekturen zu prĂŒfen und geplante Aktualisierungen rechtzeitig durchzufĂŒhren.

    Dies ist ein organisatorischer und sogar recht offensichtlicher Punkt, auf den man eigentlich nicht nĂ€her eingehen sollte. Dennoch kann man an diesem „geraden Punkt“ ziemlich leicht stolpern. Faktisch war es genau dieser Punkt, der die beschriebenen Unannehmlichkeiten verursacht hat. Gehen Sie beim Erstellen der Upgrade-Regelung sehr sorgfĂ€ltig vor und ĂŒberwachen Sie deren Einhaltung ebenfalls aufmerksam. Dieser Punkt bezieht sich stĂ€rker auf das Konzept der „Disziplin“.

  • Es ist immer besser, das System mit der aktuellen Softwareversion zu betreiben. Dabei ist die aktuelle nicht die mit der höchsten Versionsnummer, sondern die, die zeitlich spĂ€ter veröffentlicht wurde. 

    Beispielsweise hĂ€lt IBM fĂŒr seine Datenspeichersysteme mindestens zwei Softwareversionen aktuell. Zum Zeitpunkt des Schreibens dieses Artikels sind das 8.2 und 8.3. Aktualisierungen fĂŒr 8.2 erscheinen frĂŒher. In der Regel folgt dann mit einer kleinen Verzögerung eine entsprechende Aktualisierung fĂŒr 8.3.

    Die Version 8.3 bietet eine Reihe funktionaler Vorteile, zum Beispiel die Erweiterung von MDisk (im DRAID-Modus) durch das HinzufĂŒgen einer oder mehrerer neuer Festplatten (diese Funktion ist seit Version 8.3.1 verfĂŒgbar). Dies ist eine recht grundlegende FunktionalitĂ€t, aber in 8.2 gibt es diese Möglichkeit leider nicht.

  • Wenn ein Upgrade aus irgendeinem Grund nicht möglich ist, empfiehlt der technische Support von IBM fĂŒr die Softwareversionen von Spectrum Virtualize, die vor den Versionen 8.2.1.9 und 8.3.1.0 liegen (in denen der oben beschriebene Fehler relevant ist), die Systemleistung auf Poolebene zu begrenzen, wie im folgenden Bild gezeigt (der Screenshot wurde in der russisch lokalisierten Version der BenutzeroberflĂ€che aufgenommen). Der Wert von 10000 IOPS dient als Beispiel und wird entsprechend den Spezifikationen Ihres Systems gewĂ€hlt.

Stellen Sie sich das vor.Leistungsbegrenzung des IBM Speichersystems

  • Es ist notwendig, die Belastung auf die Speichersysteme richtig zu berechnen und eine Überlastung zu vermeiden. Dazu können Sie entweder den IBM Sizer verwenden (sofern Sie Zugriff darauf haben), die Hilfe von Partnern in Anspruch nehmen oder externe Ressourcen nutzen. Es ist auch wichtig, das Lastprofil des Speichersystems zu verstehen, da die Leistung in MB/s und IOPS erheblich variiert, je nach mindestens den folgenden Parametern:

    • Art der Operation: Lesen oder Schreiben,

    • GrĂ¶ĂŸe des Betriebsblocks,

    • das prozentuale VerhĂ€ltnis von Lese- und Schreiboperationen im gesamten Datenfluss.

    Außerdem beeinflusst die Art und Weise, wie Datenblöcke gelesen werden, die Geschwindigkeit der AusfĂŒhrung von Operationen: sequenziell oder zufĂ€llig. Bei der AusfĂŒhrung mehrerer Datenzugriffsoperationen auf der Anwendungsseite gibt es den Begriff der abhĂ€ngigen Operationen. Auch dies sollte berĂŒcksichtigt werden. All dies kann helfen, die Gesamtheit der Daten von den LeistungszĂ€hlern des Betriebssystems, des Speichersystems, der Server-/Hypervisoren sowie das VerstĂ€ndnis der Besonderheiten der Arbeit von Anwendungen, Datenbankmanagementsystemen und anderen "Nutzern" von DatentrĂ€gerressourcen zu erkennen.

  • Und schließlich ist es unbedingt erforderlich, regelmĂ€ĂŸige Backups in einem aktuellen und funktionsfĂ€higen Zustand zu haben. Der Backup-Zeitplan sollte basierend auf fĂŒr das GeschĂ€ft akzeptablen RPO-Werten konfiguriert werden, und die IntegritĂ€t der Backups sollte regelmĂ€ĂŸig ĂŒberprĂŒft werden (viele Backup-Softwarehersteller haben in ihren Produkten automatisierte ÜberprĂŒfungen implementiert), um ein akzeptables RTO zu gewĂ€hrleisten.

Vielen Dank, dass Sie bis zum Ende gelesen haben.
Wir sind bereit, Ihre Fragen und Anmerkungen in den Kommentaren zu beantworten. Außerdem laden wir Sie ein, unserem Telegram-Kanal zu folgen., in dem wir regelmĂ€ĂŸig Aktionen durchfĂŒhren (Rabatte auf IaaS und Verlosungen von Gutscheincodes bis zu 100% auf VPS), interessante Nachrichten schreiben und neue Artikel im Habr-Blog ankĂŒndigen.

Quelle: habr.com

60GB SSD 8Gb DDR4