Tags: vSphere, Storage, Performance
HCIBench soll die maximal mögliche vSAN-Leistung anhand eines synthetischen Benchmarks ermitteln. Das kostenlose Tool stellt die Test-VMs bereit, koordiniert die Workload-Läufe, aggregiert die Testergebnisse der Leistungsanalyse und die erfasst die für die Fehlerbehebung erforderlichen Daten.
Bei dieser Software handelt es sich im Wesentlichen um einen Wrapper für die bewährten Open-Source-Benchmark-Tools Oracle Vdbench und Fio, mit denen das Testen in einem HCI-Cluster recht einfach automatisiert werden kann.
Was macht HCIBench?
Die Leistungsbewertung ist ein wichtiger Bestandteil bei der Prüfung von Speicherlösungen. Leider ist es oft schwierig bis unmöglich, direkt vergleichbare Leistungsergebnisse aus öffentlich zugänglichen Informationen zu erhalten. Es gibt unendlich viele mögliche Testszenarien, und viele Anbieter raten aus Marketing- und Wettbewerbsgründen vom Publizieren der Benchmarks ab.
IT-Admins müssen daher in der Regel eigene Tests durchführen und die Ergebnisse interpretieren. Allerdings stellen hyperkonvergente Speicherlösungen wie VMware vSAN bei der Evaluierung gänzlich andere Anforderungen als externe Speicher-Arrays.
In einer hyperkonvergenten Architektur soll ja jeder Server möglichst viele Anwendungs-VMs unterstützen und gleichzeitig zum Speicher-Pool beitragen. Um einen ausgelasteten Cluster zu simulieren, muss man daher Dutzende Test-VMs modellieren, von denen jede auf mehrere gespeicherte VMDKs zugreift.
Leider unterstützen gängige Tools zum Testen der Speicherleistung ein solches Setup meist nicht direkt. Um ein ausgelastetes Produktions-Cluster nachzubilden, ist viel Aufwand erforderlich, etwa um die Lastgenerierung, Überwachung und Datenerfassung nachträglich zu automatisieren. Diese Schritte verschlingen meist nicht nur mehr Zeit und Aufwand als die eigentlichen Tests, sie können sogar Fehler in den Prozess einbringen.
Um dieser Situation entgegenzuwirken, hat VMware für Speicherleistungstests das Automatisierungs-Tool HCIBench auf Basis von Vdbench und Fio entwickelt. Benutzer geben einfach die Testparameter an, die sie ausführen möchten, und HCIBench weist diese Workload-Generatoren an, was auf jedem Cluster-Knoten zu tun ist.
Komponenten von HCIBench
Auch HCIBench wird in Form einer Open Virtualization Appliance (OVA) ausgeliefert. Diese Controller-VM besteht aus der Ruby vSphere Console (RVC), einem Graphite- und einem Grafana-Container, dem RVC-basierten vSAN Observer, einem Automation-Bundle, einer Reihe von Konfigurationsdateien, dem Fio-Binary und einem Linux-Test-VM-Template.
Die Komponenten sind auf der Controller-VM bereits installiert, wobei RVC den Kern repräsentiert, der die Gast-VMs erzeugt, Vdbench- oder Fio-Läufe startet, die Ergebnisse erfasst und vSAN mithilfe von vSAN-Observer überwacht.
Das Automatisierungspaket liest benutzerdefinierte Konfigurationsinformationen zur Testumgebung und zum Workload-Profil ein und kommuniziert dann bei Bedarf mit RVC für folgende Aufgaben:
- Herstellen einer Verbindung zur vSphere-Umgebung. Das Tool selbst kann in einer separaten vSphere-Installation bereitgestellt werden, muss jedoch Zugriff auf den getesteten Ziel-Cluster erhalten.
- Bereitstellen von Linux-Test-VMs im Ziel-Cluster auf Basis der Benutzereingaben (Anzahl der Gast-VMs und virtuellen Festplatten pro VM).
- Optional kann der Nutzer jedes virtuelle Laufwerk vorbereiten, um den Storage zu initialisieren, ähnlich wie bei Thick Provisioning Eager Zero oder beim sequentiellen Schreiben in den Speicher, um vor dem Benchmarking die so genannte First-Write-Penalty zu vermeiden.
- Übertragen der Parameterdatei auf jede Gast-VM. Sie enthält die Ziel-Workload- und Laufzeitspezifikation.
- Starten des vSAN-Observers vor dem Testen und Generieren der vSAN-Statistiken nach Abschluss des Tests.
- Starten der Vdbench- oder Fio-Instanzen für jede virtuelle Festplatte auf jeder Gast-VM und Ausführen der Workloads für die festgelegte Dauer.
Was die Anforderungen betrifft, benötigt die Photon-basierte Controller-VM 8 vCPUs, 8 GB RAM und eine 216 GB Disk (2,5 GB Thin-provsioned). Jede Photon-basierte Guest VM veranschlagt 4 vCPUs, 8GB RAM und eine 16 GB Disk.
Installation
Die Controller-VM verfügt über zwei virtuelle Netzwerkkarten. Hier ordnet man das Management-Netzwerk dem Netzwerk zu, über das man auf HCIBench zugreift. Wenn das für Gast-VMs vorbereitete Netzwerk nicht über den DHCP-Dienst verfügt, kann man das VM-Netzwerk demselben Netzwerk zuweisen. Andernfalls ignoriert man das VM-Netzwerk.
Auf der Customize template-Seite legt man dann die gewünschte IP-Konfiguration und das gewünschte root-Passwort fest.
Nach erfolgreicher Bereitstellung des OVA kann man das HCIBench-Webinterface unter https://<IP-HCIBench>:8443 aufrufen, um die Konfiguration und anschließend den Test zu starten. Dazu muss man der Benutzer root und das eben vergebene Passwort zur Authentifizierung verwenden.
Für die initiale Konfiguration sind auf der Seite Configuration die vier Bereiche vSphere environment, Benchmarking tool, Guest vm configuration und Testing configuration zuständig.
Bei vSphere environment sind alle nicht als Optional gekennzeichneten Felder auszufüllen, einschließlich der vCenter-IP-Adresse, der vCenter-Credentials, des Namens des Datencenters, des Namens des Ziel-Clusters oder des Datastores.
Im Abschnitt Benchmark configuration richtet man Fio oder Vdbench als Performance-Workload-Generator ein. Bei Vdbench muss man die Vdbench-Zip-Datei von Oracle herunter- und auf HCIBench hochladen, wozu man zunächst auf Download Vdbench klickt. Nach erfolgreichem Download lädt man die Zip-Datei auf den Sever hoch, der diese automatisch unter /opt/output/vdbench-source ablegt.
Dieser Schritt ist eine einmalige Aktion, somit ist der abgebildete Dialog nur sichtbar, solange die Vdbench-Datei noch nicht erfolgreich hochgeladen wurde.
Der Abschnitt Guest VM-Configuration erwartet als einzigen Parameter die Anzahl der für den Test gewünschten Gast-VMs. Bei Angabe mehrerer Datastores werden diese VMs gleichmäßig in den Datenspeichern bereitgestellt. Die übrigen Parameter sind optional und in der guten Dokumentation ausreichend beschrieben.
Im Abschnitt Testing Configuration geht es um die Konfiguration des eigentlichen Test-Szenarios. Hier legt man zunächst bei Testname einen Namen fest.
Bei Workload-Parameter File lässt sich eine zuvor in die Controller-VM hochgeladene Parameterdatei für Vdbench oder Fio per Dropdown-Liste auswählen.
Prinzipiell gibt es also immer zwei Möglichkeiten, die Parameterdatei zur Dropdown-Liste hinzuzufügen: Entweder der Nutzer generiert selbst eine, indem er hier auf Hinzufügen klickt. Nach dem jeweiligen Klick auf Submit muss man die Dropdown-Liste mit Refresh aktualisieren.
Die zweite Möglichkeit besteht, wie oben erwähnt, darin, eine selbstdefinierte Parameterdatei hochzuladen. Auch hier klickt man nach dem erfolgreichen Upload auf Refreh, um die hochgeladene Datei in der Dropdown-Liste anzuzeigen. Ausreichende Informationen zum Vdbench- oder Fio-Parameterdateiformat finden sich im Fio-Benutzerhandbuch.
Test starten
Nach dem Sichern der Testkonfiguration kann der gewünschte Benchmark gestartet werden. Da das Testen in der Regel sehr zeitaufwändig ist, kann der Nutzer die Leistung von den in Grafana angezeigten Gast-VMs live beobachten, indem er auf Here to monitor klickt. Das Diagramm ist nur verfügbar, während der Test ausgeführt wird.
Nach Abschluss des Vdbench- oder Fio-Tests werden die Testergebnisse von allen Gast-VMs gesammelt. Die Ergebnisse kann man unter https://<IP-HCIBench>/results im Browser abrufen oder alternativ direkt auf die Registerkarte Results klicken.
Jedes der Unterverzeichnisse unter /opt/output/results/<TestName> verwendet den Namen der benutzerdefinierten Parameterdatei und enthält alle ursprünglichen Ergebnisse, die von jeder Vdbench- oder Fio-Instanz sowie von vSAN Observer-Daten erstellt wurden.
Das aggregierte Ergebnis eines Testlaufs wird in der Textdatei mit dem Namen "<DIR_NAME>-res.txt" abgelegt. Sie enthält den Namen des Datastores und vier Statistiken: number of VMs used for testing, IOPS, throughput, latency details und host resource consumption. Wenn vSAN aktiviert ist, wird auch die von vSAN verwendete CPU berechnet.
Zusätzlich zu den Textdateien gibt es ein weiteres Unterverzeichnis namens "~iotest-hcibench/fio-<VM#>vm". Dies ist das von vSAN-Observer generierte Statistikverzeichnis. Außerdem sollten folgende Dateien existieren: die Datei HCIBench-VERSION-logs.tar.gz enthält die HCIBench-Vorvalidierungs- und Testprotokolle, hcibench.cfg beherbergt die Konfigurationsparameter und in vdbench.cfg / fio.cfg stecken die Parameterprofile von Vdbench bzw. Fio.
Die Datei performance_diag_result.html schließlich wird nur generiert, wenn man die Tests mit vSAN 6.6U1 oder höher und HCIBench 1.6.6 oder höher bei aktivem CEIP (Customer Experience Improvement Program) sowie aktivierten vSAN Performance Services durchführt.
In diesem Fall werden bei jedem HCIBench-Lauf die Testergebnisse sowie die Konfiguration an VMware Cloud gesendet, um den Benutzer bei der Analyse potenzieller Probleme zu unterstützen. Über den in dieser Datei enthaltenen Hyperlink können Benutzer auf die jeweilige vCenter-Seite und den KB-Artikel zu potenziellen Problemen zugreifen.VMware vSAN testen mit Hyper-Converged Infrastructure Benchmark (HCIBench).
Täglich Know-how für IT-Pros mit unserem Newsletter
Thomas Drilling arbeitet ist seit fast 30 Jahren selbständig in der IT-Welt sowohl als Consultant, als auch als Redakteur, Buchautor und Journalist für viele ehemalige und aktuelle IT-Magazine sowie Blogs.
Aktuell bestätigt sich Thomas schwerpunktmäßig als IT-Trainer für Cloud-Computing in den Bereichen Microsoft Azure, Amazon Web Services und VMware.
Thomas ist zertifizierter Microsoft-Trainer für nahe das gesamte Portfolio an Microsoft Azure Trainings. Thomas ist außerdem zertifizierter Microsoft Azure Solutions Architect Expert sowie VMware Certified Professional und wurde von VMware in den Jahren 2016 bis 2022 mit dem Blogger-Status vExpert ausgezeichnet.
Thomas führt aktuell jeden Monat zwei selbstkonziperte 4-tägigen Grundlagenkurse in Cloud Computing mit Azure durch, die sich inhaltlich bewusst von den Microsft-Kursen abheben und vorzuweise als Bootcamp in eine besonderen Lokation stattfinden. Optional kann aber aber auch remote via Microsoft Teams teilgenommen werden.
Das aktuelle Trainingsprogramm findet sich unter Azure-Trainings. Weitere Informationen und Anmeldung über sein Azure-Blog.
Verwandte Beiträge
- Leistung von vSphere-Speicher überprüfen mit VMware Storage Performance Tester
- Virtuelle Disk-Controller für VMs auf VMware ESXi: LSI-Logic SAS oder VMware Paravirtual?
- Leistung von VMware vSAN mit dem kostenlosen Performance Monitor auswerten
- Integrität und Leistung von VMware vSAN mit vRealize Operations Manager prüfen
- Performance und Health von VMware vSAN mit Bordmitteln überwachen
Weitere Links