I/O Load generieren und auswerten mit VMware I/O Analyzer Appliance

Mit diesem Post möchte ich ein Tool vorstellen, mit dem man mit Hilfe von einer fertigen VMware Appliance IOps aus einem VMware Guest, sowie auf ESXi-Ebene in Richtung Storage Array generieren und auswerten kann.
Der I/O-Analyzer ist eine kostenfreie, fertige OVF-Appliance von VMware, die man sehr einfach und ohne großen Aufwand in seine vSphere Umgebung importieren kann.

01. Was kann die Appliance?

Grundlegend all das, was IOMeter auch kann. Es gibt aber ein paar „Advanced“ Funktionen wie z.B. Load von mehreren ESXi-Hosts gleichzeitig simulieren, esxtop-Informationen mit auswerten uvm.
Konfiguration und Auswertung werden komplett per Webfrontend vorgenommen.
Nähere Infos findet man im User Guide (Bestandteil des eigentlichen VMWare Downloads, siehe 02.)

02. Wie implementiere ich die Appliance?

  • Download der virtuellen Appliance inkl. dem o.g. User-Guide über http://labs.vmware.com/flings/io-analyzer (auf dieser Seite sind auch die Infos zu den System Requirements)
  • Entpacken der Zip-Datei
  • Import der OVF-Appliance über den VI-Client

01_deploy_OVF

  • Passenden Datastore wählen und die Disks im „Thick“ anlegen lassen

(WICHTIG: es wird standardmäßig eine 2. Disk mit einer Größe von 100MB an die VM angehängt. Auf dieser Disk werden die IO-Messungen gefahren. Die VM sollte also auf dem Datastore platziert werden, von dem IO-Messungen gemacht werden sollen. Die „Messungsdisks“ können jederzeit im Nachhinein angepasst werden)

02_thick_provisioned

  • nach Abschluss der Konfiguration wird die Maschine importiert

03_import_task

  • Die VM nach erfolgreichem Import starten und über „Configure Network“ die Netzwerkeinstellungen konfigurieren

(WICHTIG: Wer von mehreren Hosts gleichzeitig Load generieren möchte, muss auf jedem Host eine Appliance
deployen und mit IPs versehen. Ich empfehle keinen DHCP, machte bei mir im Testsetup Probleme)

04_configure_network

  • nach erfolgreicher Netzwerkkonfiguration an der Appliance mit User: root und Passwort: vmware einloggen (das MUSS getan werden, bevor man per Webbrowser IOMeter-Tests konfigurieren kann)

05_login_appliance

  • Was verbirgt sich denn eigentlich technisch hinter dieser Appliance?

06_xterm_session
07_what_it_is

  • Here it is…. Die Appliance basiert auf einem Ubuntu 8.0.4 OS und einem mit Wine anzustartendem IOMeter
  • Nachdem wir nun wissen, was sich dahinter verbirgt, wechseln wir in unseren Firefox oder Chrome (siehe auch System Requirements) und wählen uns auf die IP der Appliance auf

08_iometer_test

  • Über IOMETER TESTS können wir eine Konfiguration erstellen

09_iometer_configuration

  • unter „Hostname“ den Namen oder die IP-Adresse eingeben, auf dem die Appliance läuft. Das entsprechende Kennwort mitgeben (Achtung evt. Probleme mit Sonderzeichen wie #\ o.ä.) und mit „Add Host“ hinzufügen
  •  in der 2. Zeile im Feld „Host Name“ den vSphere Host auswählen
  • unter „Select VM“ die IO-Meter Appliance
  • unter „Workload Spec“ den Workload auswählen, den man generieren möchte (z.B. 4k, 50% read – dadurch automatisch 50% write – und 100% random)
  • unter „VM IP address“ die IP-Adresse der IO-Meter Appliance eingeben, die man unter „Select VM“ angegeben hat
  • alles mit „Add Worker“ bestätigen
  • WICHTIG: Wenn von mehreren Hosts IO-Load generiert werden soll, dann alle ESX-Hosts angeben, eine Appliance nach der anderen mit einem Load-Muster versehen und über „Add Worker“ hinzufügen
  • jetzt noch die „Run Duration“ angeben, wie lange das laufen soll und mit „Run“ kann losgehen

10_iometer_start

  • was passiert denn eigtl.? Wer hätte es gedacht… Im Hintergrund startet IOMeter in der Appliance…

11_what_is_happening_behind

  • wenn der „Run“ abgeschlossen ist, kann man auf die „RESULTS“ Page wechseln

12_iometer_end

  • den entsprechenden Bericht auswählen und über „VIEW SUMMARY“ die Ergebnisse anzeigen lassen

13_show_results

  • hier ein Beispiel (die esxtop-Performanceverlaufs-Grafiken sind im Screenshot abgeschnitten )

14_example_result

And that’s it…

– I wish I could be a Virtual Machine –

Benjamin Ulsamer

Advertisements