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
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
Ü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.
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.
Eine Fehlermeldung vom Überwachungsscript. Detaillierte Informationen werden direkt aus storcli ausgelesen und ermöglichen ein schnelles Handeln.
Recent Blogs
New HPC / AI servers based on the AMD Instinct MI300 series
Posted onWith the MI300X Series, a new player has appeared on the GPU market that will reshuffle the cards in the AI sector. AMD Instinct™ MI300X…
We have moved – With our own new building, we are ready for the future
Posted onAfter nine months of construction, we were able to move into our new company building at the beginning of July. Our customers can now find…
Datacenter SSDs für den absoluten Performance-Boost
Posted onNoch keine Enterprise SSDs im Datacenter im Einsatz? Worauf warten Sie noch? Im Consumer Bereich haben SSDs längst Einzug gehalten. Und wer heute die Ladezeiten…