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.