> Storage Monitoring mit storcli bei einem hyperkonvergenten Proxmox-Host
  • Weltweite Lieferung & Support
  • Bis zu 6 Jahre Garantie
  • 24/7 Hotline +49 (0) 4181 235770

Storage Monitoring eines hyper-konvergenten Proxmox-Systems mit storcli – mit Beispielen und Script-Downloads

29/12/2016 -
  • Server & Storage
  • |

Klassische Virtualisierungslösungen arbeiten in der Regel mit einer Trennung von Hypervisor und Storage. Die Überwachung des Storages stellt in dieser Konfiguration meist kein großes Problem dar, da im Prinzip alle Speicher-Lösungen über bereits integrierte, oder leicht zu implementierende Monitoring-Tools verfügen.
Gleiches gilt für rein kommerzielle Hyper-Converged-Lösungen: Man muss sich über Monitoring keine Gedanken machen, da dies bereits die Entwickler getan haben.

Die beliebte Open-Source Virtualisierungslösung Proxmox ist kostenlos, bietet KVM- und Container-basierte Virtualisierung und verwaltet VMs, Container, Storage und virtuelle Netzwerke über eine intuitive Web-GUI. In der Web-Oberfläche ist allerdings keine Überwachung für integriertes Storage vorhanden, und da ein Proxmox-Node selbst über keine grafische Benutzeroberfläche verfügt, ist die Installation eines Storage-Managers nicht ohne weiteres möglich.

Als Lösung bieten sich CLI-basierende Werkzeuge an, die sich relativ einfach in umfassende und komfortable Scripte einbinden lassen. Aufgrund der hohen Verbreitung von Broadcom RAID-Controllern (ehemals LSI) befassen wir uns in diesem Artikel zunächst mit dem CLI-Werkzeug storcli. Broadcom stellt mit storcli ein außerordentlich leistungsfähiges Tool zur Verfügung, das nahezu alle Funktionen des Broadcom Storage Managers auf Kommandozeilen-Ebene abbildet.

Installation und Anwendung von storcli unter Proxmox VE

Vorbereitung

Für die hier beschriebenen Arbeitsschritte empfiehlt sich die Verwendung eines Arbeitsrechners mit SSH-Verbindung zum Proxmox-Node. Einzelne Befehle (und auch das abschließend zur Verfügung gestellte komplette Script) lassen sich auf diese Weise unkompliziert in das geöffnete Terminal kopieren.

ZIP-Datei herunterladen

Wir rufen zunächst auf unserem Arbeitsrechner die Broadcom-Webseite auf und suchen nach dem im Node eingesetzten RAID-Controller. Da storcli für alle Controller identisch ist, kann man notfalls auch einen anderen Controller aufrufen. Unter dem Reiter ›Downloads‹ im Unterpunkt ›Management und Software Tools‹ findet man einen Link zur aktuellen storcli-Version. Der Einfachheit halber lädt man die ZIP-Datei nun auf den Arbeitsrechner, denn Broadcom hat vor den Download ein Licence Agreement geschaltet, daher kann man den Link nicht direkt mit wget benutzen. Nach erfolgtem Download hat man den eigentlichen Link in der Browser-History und kann ihn nun im SSH-Terminal verwenden, um die Datei mit Hilfe von wget zu laden:

wget

Installation

Zunächst müssen wir unzip installieren:

apt-get update
apt-get install unzip

Nun können wir das Archiv entpacken:

unzip versionsnummer_StorCli.zip

Proxmox ist bekanntlich Debian-basierend, im Archiv findet sich aber kein direktes Debian-Paket. Allerdings gibt es einen Ubuntu-Unterordner, der ein deb-Paket enthält, das wir verwenden können. Nach Wechsel in diesen Ordner installieren wir das Paket mit:

dpkg -i storcli_versionsnummer_all.deb

Anwendung

storcli ist nun einsatzbereit, der Pfad zum Programm lautet:
/opt/MegaRAID/storcli/storcli64
Die Funktionalität lässt sich mit einem Standard-Kommando überprüfen:
/opt/MegaRAID/storcli/storcli64 show ctrlcount
Ausgegeben wird hier die Anzahl der im Node vorhandenen Broadcom RAID-Controller.

StorCli-Scripte zur freien Benutzung

Initialisierungs-Script für Konfigurationen mit CacheVault

Storage Monitoring eines hyper-konvergenten Proxmox-Systems mit storcli - mit Beispielen und Script-Downloads
Das eigentliche Überwachungsscript prüft unter anderem auch das Vorhandensein und die fehlerlose Funktion von CacheVault-Modulen. Da es auch Konfigurationen ohne CacheVault gibt, muss vor der ersten Ausführung des Scriptes die korrekte Konfiguration definiert werden. Dazu muss dieses Initialisierungs-Script einmalig im Arbeitsverzeichnis des Überwachungsscripts ausgeführt werden. Es erzeugt eine Konfigurationsdatei für die zum Zeitpunkt der Ausführung vorhandene CacheVault-Konfiguration. Falls das System zu einem späteren Zeitpunkt modifiziert wird und sich die CacheVault-Konfiguration ändert, muss dieses Sript erneut ausgeführt werden, um eine aktualisierte Konfigurationsdatei zu erzeugen.

Das Script zur Initialisierung können Sie problemlos mittels wget laden:

wget https://www.happyware.com/blog/wp-content/uploads/scripts/storcli/cachevault-initialisierung.sh

[toggle style=“closed“ title=“Initialisierungsscript für Konfigurationen mit CacheVault – Quelltext“]

[/toggle]

Überwachungsscript

Dieses Script sollte per cronjob zeitgesteuert ausgeführt werden. Bitte beachten: Eine Controller-Abfrage unterbricht den Controller bei seiner eigentlichen Aufgabe. Eine zu häufige Ausführung des Scriptes verringert die Performance und führt unter Umständen zu unerwünschtem Verhalten. Der empfohlene Intervall für die Ausführung des Scriptes liegt bei minimal 30 Minuten. Im Produktivbetrieb liegt man damit problemlos innerhalb üblicher Reaktionszeiten. Für Testzwecke sind natürlich auch kürzere Abfrageintervalle möglich.

[toggle style=“closed“ title=“Überwachungsscript für Broadcom Controller – Quelltext“]

[/toggle]

Auch dieses Script können Sie bequem via wget beziehen:
wget https://www.happyware.com/blog/wp-content/uploads/scripts/storcli/storcli-monitoring.sh

Eine eventuelle Fehler-Meldung vom Script würde dann wie im Bild dargestellt ausschauen und ermöglicht ein zeitnahes Eingreifen.

Storage Monitoring eines hyper-konvergenten Proxmox-Systems mit storcli - mit Beispielen und Script-Downloads

Eine Fehlermeldung vom Überwachungsscript. Detaillierte Informationen werden direkt aus storcli ausgelesen und ermöglichen ein schnelles Handeln.

About the Author

[avatar]

Holger