Warum Speichersysteme überwachen?


Jemand wird bald fallen

Weil SHD das Allerheiligste speichert - Daten. Wenn keine Daten mehr verfügbar sind, riechen sie sehr bald gebraten. Oder wenn der Ort plötzlich vorbei ist - auch eine unangenehme Überraschung. Daher sollte die Überwachung obligatorisch sein und Speichersysteme abdecken.

Es gibt zwei Hauptansätze zur Überwachung der Speicherung . Verwenden Sie entweder ein universelles Überwachungssystem wie Nagios, Icinga, das Informationen über SNMP sammelt, oder kaufen Sie hochspezialisierte Software von den Herstellern der Speichersysteme selbst. Natürlich bietet die zweite Option eine eingehendere Analyse des Eisenzustands und zeigt bestimmte Dinge wie den Zustand des Caches, den Iops, die Trefferquote, das Laden des Controllers usw. Diese Option wird am häufigsten von unseren Kunden gewählt, die große und teure Arrays im Einsatz haben. .

Übrigens ist mit kommerzieller Überwachungssoftware nicht alles so reibungslos. Im Detail werde ich weiter erzählen. Es wird sozusagen Erfahrung aus erster Hand sein. Zu einer Zeit, fast 2 Jahre lang, habe ich ein solches System für viele tausend grüne Papierstücke eines berühmten Anbieters fertiggestellt. Und er nahm es auf, so dass sogar die Unterstützung des Verkäufers anfing, sich mit mir zu beraten. Aber einige Softwareprobleme wurden durch andere ersetzt, genauso wie einige Indianer aus dem Support durch neue Indianer ersetzt wurden - und dann kam mir die Idee, wenn überhaupt nicht radikal zu handeln ... Im Allgemeinen fing alles damit an.

Was ist falsch an der Software des Anbieters?


Wie gesagt, die Überwachung durch den Hersteller überwacht die Speichersysteme desselben Herstellers perfekt. Dies ist der Hauptvorteil. Von hier aus wachsen die Nachteile: Arrays anderer Hersteller werden nur eingeschränkt oder gar nicht unterstützt. Es stellt sich heraus, dass Sie mehrere verschiedene Überwachungstools benötigen, wenn Sie mehrere verschiedene Arrays in der Farm haben. Ja, und vergessen Sie nicht, welche von was und wann Sie es das nächste Mal ansehen müssen. Idealerweise im Allgemeinen von admin für jedes Array.

Es ist kein Geheimnis, dass Werkzeuge von Herstellerherstellern Geld kosten und ziemlich groß sind. Und die Verlängerung des Supports kostet dann auch einen hübschen Cent. Und einige Anbieter haben einen neuen Fokus gemeistert: Sie kündigen das Ende des Lebenszyklus ihrer Software an und bieten einfach an, ein anderes Produkt ohne Migration von Lizenzen zu kaufen. Es war ein solches Setup, das erst vor ein paar Monaten bei einem unserer Kunden stattgefunden hat. Es gibt keine Optionen: Wenn Sie die Hardware weiterhin überwachen möchten, tätigen Sie einen Neukauf.

Wenn Sie die Software des Anbieters vertiefen, werden andere unangenehme Funktionen angezeigt. Beispielsweise können Sie in einer Reihe von Produkten das aktuelle Statusbild sehen, aber Sie können den Verlauf für den vorherigen Zeitraum nicht sehen. Oder die Geschichte ist begrenzt: Das Protokoll wird alle 3 Tage neu geschrieben. Es besteht einfach keine Notwendigkeit, über die Anhäufung von Statistiken zu sprechen. Und häufig wird die Ereignishistorie für Prognosen benötigt, z. B. für den Kauf von Ersatzteilen, für die Berichterstattung und für die Untersuchung von Vorfällen. Zum Beispiel können die Bremsen in einem Geschäftssystem auf das Speichersystem geschoben werden, und wenn es keine tatsächlichen Daten gibt, gibt es nichts, hinter dem man sich verstecken könnte.

Und schließlich kann man sich nur über die Geschwindigkeit von Updates und Änderungen in der Anbietersoftware beschweren. Oh, wie oft bin ich wegen meiner langen Praxis auf dieses Problem gestoßen! Neue Modelle von Arrays kommen heraus, neue Firmwares kommen heraus, neue Einstellungen erscheinen. All dies unterbricht leicht die Arbeitsüberwachung: Entweder werden keine Informationen mehr gesammelt, oder die Arrays fallen im Allgemeinen ab. In einem neuen Mikrocode hat ein Hersteller die Unterstützung für alte SSL-Versionen deaktiviert, und die Überwachungssoftware hat das TLS-Protokoll noch nicht unterstützt. Und zuerst konnte niemand einen Grund finden. Nach meiner eigenen Untersuchung habe ich diese Eingaben an den Hersteller gesendet und sie haben bereits die alten Bibliotheken aktualisiert. Diese Bürokratie dauerte jedoch unbegrenzt.

Und einmal haben wir den Piloten beim Kunden gescheitert. Es wurde vorgeschlagen, Anbietersoftware zu verwenden, und dem Kunden gefiel alles in Bezug auf Funktionalität und Benutzeroberfläche. Leider wurden ihre wichtigsten Produktivsysteme nicht unterstützt. Sie waren sogar bereit, ein oder zwei Monate zu warten, aber der Anbieter sagte, dass es keine Pläne gibt, diese Systeme in naher Zukunft in den Support aufzunehmen (und dies war nur ein Update der Hitachi AMS-Linie auf HUS).

Im Allgemeinen ziemlich viele Unannehmlichkeiten und aus irgendeinem Grund für viel Geld.

Vor langer Zeit habe ich keine Steine ​​abgeholt ...


Frustriert von diesem Zustand habe ich oft darüber nachgedacht, wie ich meine eigene Überwachung für die Speicherung implementieren kann. Wenn Sie das Array gut kennen und dessen CLI besitzen, können Sie schnell die Informationen abrufen, die Sie über den Status benötigen, oder den Problemen auf den Grund gehen. Zuvor ist es natürlich notwendig, viele Docks, Rauchforen und Wissensdatenbanken von Anbietern zu schaufeln und stückweise verschiedene Informationen zu erhalten. Aber wenn Sie wissen, welchen Befehl Sie mit welchem ​​Schlüssel eingeben müssen und was jede Ausgabespalte bedeutet, sind Sie bereits ein Guru. Es blieb, dieses Wissen in eine bequeme Oberfläche zu integrieren, die weiterhin alles für Sie tun wird.

Ich gebe zu, dass ich zuerst geplant hatte, die Benutzeroberfläche auch von Grund auf neu zu schreiben, aber dann bin ich auf Zabbix gestoßen - ein ausgereiftes Tool mit einer großen Community, das auch leicht zu erweitern ist. Es hatte alles, was ich brauchte: eine Schnittstelle, ein Vorbild, Benachrichtigungen, ein Triggersystem, Proxy-Client-Agenten. Es blieb nur für diesen Mähdrescher, Informationen über Speichersysteme und Schwellenwerte verschiedener Parameter korrekt bereitzustellen. Der Fall begann zu kochen. Wir haben ein Team von Spezialisten für Arrays. Natürlich ist es unmöglich, alle Arrays von einer Person zu kennen, daher sind wir nach Modell und Hersteller unterteilt.

Eine weitere Schwierigkeit bei der Entwicklung Ihrer eigenen Überwachung ist die Möglichkeit, auf die Eisenstücke selbst zuzugreifen, sodass sie immer noch keine Angst haben, alle Arten von Experimenten zu laden, zu brechen und durchzuführen. Glücklicherweise haben die Ressourcen unseres Labors all dies ermöglicht.

Als erstes muss der Zustand aller Hardwarekomponenten überwacht werden. Etwas kann über SNMP übernommen werden, aber in den meisten Fällen handelt es sich um eine Umfrage unter Verwendung eines speziellen Protokolls (SMI-S, REST-API, SOAP-API und andere). Ich muss sagen, dass Sie mit den Arrays selbst Benachrichtigungen über Ausfälle konfigurieren können. Und alle Kunden nutzen dies zumindest. Aber was passiert, wenn die Benachrichtigung selbst auf dem Array unterbrochen wird? Dies geschah mehr als einmal, als das Array wochenlang still war und es allen so schien, als sei alles in Ordnung, es war still. Und dann wurde plötzlich klar, dass eine kritische Anzahl von Festplatten darauf flog, aber es war bereits zu spät.

Der zweite wichtige Punkt, der überwacht werden muss, ist die Leistung. Denn wenn eine Leistung auf einem Speichersystem mit einer Aufzeichnungsverzögerung von einigen Sekunden basiert, kann Oracle einfach auf und ab gehen. Keine Ahnung. Die Leistung in großen Infrastrukturen mit vielen Speichersystemen wird am schlechtesten gesteuert. Und Zabbix verfügt über eine äußerst praktische Vorhersageanalyse: Basierend auf der Prognose können Sie den Wert der Metrik festlegen, der in Zukunft verwendet wird. Zum Beispiel haben wir einen Auslöser erstellt, der funktioniert, wenn prognostiziert wird, dass nur noch 3 Monate für die aktuelle Entsorgung übrig sind. Oder zum Beispiel, dass die Reaktionszeit gemäß der Prognose in 2 Wochen um 50 Millisekunden länger sein wird. Durch die Überwachung haben wir Zeit, uns vorab über anstehende Probleme zu informieren und bereits etwas zu tun.

Irgendwann haben wir festgestellt, dass es natürlich gut ist, den Speicherstatus zu kennen, aber es ist viel besser zu verstehen, was sonst noch im Netzwerk und auf der Serverseite passiert. Infolgedessen wurde es nach mehrmonatiger Arbeit möglich, sowohl die Server als auch das Netzwerk und die Speichersysteme in einer Schnittstelle zu sehen. Es erschienen nicht nur Plug-Ins und Konnektoren für die Speicherung, sondern auch eine nützliche Bindung in Form von Netzwerktopologiekarten. Bisher berücksichtigt das Plugin natürlich unsere Erfahrung und unsere Bedürfnisse, aber wenn Sie uns sagen, was Sie darin sehen müssen, werden wir es verdrehen.


End-to-End-Topologie für VMware-Cluster: Von der virtuellen Maschine zum Speichervolumen



Leistung

In der Grafik zur Array-Leistung sehen wir, dass das System sehr stark überlastet ist. Eine hohe Auslastung der Festplattengruppen zeigt an, dass die Festplatten überlastet sind. Es gibt viele E / A-Vorgänge an den Speicherports, was bedeutet, dass IT-Systeme das Array für ihren Teil laden. Nun, das charakteristische Diagramm der Reaktionszeit sowie die Verwendung von Prozessoren über den empfohlenen Werten. Urteil - Es wurden zu viele Aufgaben auf das Array gestellt, einige müssen migriert werden.


Storage Network Map: Auffinden von Engpässen

Zusammenfassung


Was haben wir bekommen? Wir haben das beliebte und weit verbreitete Zabbix-Überwachungssystem mit neuen Funktionen ausgestattet, darunter:

  1. Sammlung von Informationen zum Status aller Hardware und logischen Komponenten von Festplatten-Arrays und Switches des Speichernetzwerks.
  2. Leistungsstatistiken für absolut alle Systeme, für die wir Plugins erstellt haben (Anbieter haben diesbezüglich Lücken).
  3. Topologische Zuordnungen eines gemeinsam genutzten Speichernetzwerks und von Ende zu Ende von virtuellen Maschinen zu Volumes auf Speichersystemen (bisher nur für VMware).
  4. Sammlung aller Inventarinformationen.
  5. Die Menge an Speicherplatz.

Mit Zabbix selbst können Sie sehr coole Benachrichtigungen erstellen, Schwellenwerte festlegen und informative Briefe über das Problem senden. Wenn beispielsweise der Port am Switch ausfällt (oder der Datenverkehr am Port sehr groß wird), enthält die Nachricht nicht nur den Namen des Switches mit der Portnummer, sondern auch Informationen zum angeschlossenen Gerät.

Welche Systeme unterstützen wir derzeit? Viele verschiedene:

  1. Alle Hitachi-Arrays (AMS, HUS, VSP, VSP G).
  2. Arrays Dell-EMC CLARiiON, VNX, Unity, ISILON, Compellent.
  3. HPE 3PAR-, P9500- und XP7-Arrays.
  4. Arrays von IBM Storwize, DS5000.
  5. Arrays NetApp FAS (7-Modus, C-Modus).
  6. HPE StoreOnce, EMC DataDomain-Festplattenbibliotheken.
  7. Brocade Silkworm Switches, Cisco MDS.

Wir haben auch Erweiterungen für einige Betriebssysteme (Windows, ESX), mit denen wir Daten über FC HBA sammeln, um in Zukunft topologische Karten zu zeichnen. Aktive Entwicklung von Plugins für OpenStack- und Virtualisierungssysteme.

Bei der Entwicklung von Plug-Ins wird das Fachwissen unserer Ingenieure berücksichtigt, hinter denen es viele Fälle gibt, in denen Probleme auf Arrays gelöst werden können - sowohl Hardware als auch Leistung. Aufgrund der großen Anzahl eigener fertiger Bibliotheken werden auf Anfrage in kurzer Zeit neue Plugins entwickelt.

Einige unserer Kunden konfigurieren das System wie folgt: Benachrichtigungen mit der Vertragsnummer, Kontaktpersonen und allen Parametern der fehlerhaften Komponente werden automatisch an unsere Mail gesendet. Dies reduziert die Reaktionszeit und die Bestellung der erforderlichen Ersatzteile, da der diensthabende Ingenieur auch nachts nicht viele Informationen anrufen und klären muss. Die Anwendung geht sofort an die Arbeit.

Wie lösen Sie die Probleme bei der Überwachung Ihrer Infrastruktur, insbesondere des Speichers? Erzählen Sie uns davon in den Kommentaren oder im Brief an die Mail VRyzhevsky@croc.ru

Source: https://habr.com/ru/post/de413247/


All Articles