Aryan - stock.adobe.com

VM-Steuerung mit den wichtigsten Befehlen für VMware ESXi

Diese Befehle für die VMware-ESXi-Befehlszeile sind ein wichtiges Tool, um virtuelle Maschinen zu konfigurieren und die Steuerung schneller und effizienter zu gestalten.

VMware vCenter Server ist seit langem der zentrale Kontrollpunkt für VMware ESXi-Umgebungen. Obwohl es von großem Vorteil ist, Änderungen und Modifikationen über vCenter Server durchzuführen, kommt in der Karriere eines jeden VMware-Administrators der Zeitpunkt, an dem vCenter einfach nicht verfügbar ist. Eine direkte Verbindung zu einem Host mit dem vSphere-Client kann helfen, wenn vCenter nicht verfügbar ist, aber es gibt viele Dinge, die Sie mit dieser Methode einfach nicht tun können.

Sich in der Befehlszeile zurechtzufinden, ist bei der ESXi-Fehlersuche von entscheidender Bedeutung, und es ist immer gut, einige der gängigsten Linux- und ESXi-Befehle zu kennen, die man in seinem Lebenslauf aufführen kann.

Linux-Shell-Befehle

Werfen wir zunächst einen Blick auf einige Linux-Shell-Befehle. Diese sind nicht nur für ESXi spezifisch – viele, wenn nicht sogar alle, dieser Befehle finden Sie auch in den meisten heutigen Linux-Distributionen.

1. find/cat/grep: Diese drei Befehle sind wichtig, wenn Sie versuchen, bestimmte Dateien oder Text in einer Datei zu finden. Der find-Befehl sucht eine bestimmte Datei, entweder anhand eines Dateinamens oder eines Musters. cat wird verwendet, um den Inhalt einer Datei anzuzeigen, während grep verwendet werden kann, um nach einem bestimmten Text innerhalb einer einzelnen Datei oder einer Gruppe von Dateien zu suchen.

find /path/to/vm/folder –iname "*delta*" listet alle Delta-Datenträger einer VM auf.

cat hostd.log | grep error sucht nach error-Fehlermeldungen in der hostd.log.

2. head/tail: Diese beiden Befehle können nützlich sein, um den Inhalt einer Datei zu betrachten. Während sich der Befehl cat dazu eignet, den gesamten Inhalt einer Datei anzuzeigen, können head und tail verwendet werden, um entweder nur den Anfang oder das Ende der Datei anzuzeigen, wobei der Inhalt in der Mitte übersprungen wird. tail kann beim Troubleshooting äußerst nützlich sein, vor allem, wenn man das Flag -f angibt, um Protokolldateien in Echtzeit zu überwachen.

tail -f /var/log/vmkernel.log überwacht das vmkernel-Protokoll in Echtzeit.

3. less: Der Befehl less wird verwendet, wenn Sie den Inhalt großer Dateien anzeigen wollen. Indem Sie Ihre cat-Ausgabe über die Pipeline (|) an less weiterleiten, können Sie das System veranlassen, die Ausgabe auszulagern, so dass wir durch die Ausgabe scrollen können, sowohl nach oben als auch nach unten durch die Datei.

cat /var/log/vpxa.log | less gibt die Datei vpxa-log auf dem Bildschirm aus und blättert dabei.

4. df/vdf: Mit diesen beiden Befehlen werden Informationen über den freien Speicherplatz in Dateisystemen angezeigt. Der Befehl df, der jetzt VMFS-Datenspeicher anzeigt, zeigt die Größe, den belegten und den verfügbaren Speicherplatz sowohl in unserem Dateisystem als auch in unseren Dateispeichern an. Um die Nutzung der verschiedenen RAM-Disks innerhalb eines ESXi-Hosts anzuzeigen, müssen Sie den Befehl vdf verwenden. Beide Befehle eignen sich zur Erkennung von Problemen, die durch zu wenig freien Speicherplatz verursacht werden können.

5. ps/kill: Mit diesen Befehlen können Sie die im ESXi-Host laufenden Dienste ermitteln und zwangsweise beenden. Der ps-Befehl enthält viele Befehlszeilenoptionen, wird aber am häufigsten verwendet, um die laufende World ID eines Prozesses abzurufen, um sie an den kill-Befehl zu senden. Der kill-Befehl beendet den Prozess dann entsprechend.

6. vi: Wer mit vi nicht vertraut ist, wird mit Sicherheit Schwierigkeiten haben, es zu erlernen. Der vi-Befehl ist ein Texteditor, mit dem der Inhalt einer Datei geändert werden kann – eine unverzichtbare Fähigkeit für jeden vSphere-Administrator, der die Fehlerbehebung über die Befehlsshell durchführt.

ESXi-spezifische Befehle

Als nächstes wollen wir uns einige der häufigsten Aufgaben ansehen, die in der ESXi-Befehlsshell ausgeführt werden. Diese ESXi-Befehle unterstützen Sie nicht nur beim Troubleshooting, sondern auch bei der täglichen Wartung und Leistungsüberwachung.

7. services.sh: Während Linux-Dienste normalerweise mit dem Befehl services verwaltet werden, werden ESXi-Dienste auf die gleiche Weise mit dem Befehl services.sh gemanagt. services.sh kann mit dem stop-, start- oder restart-Flag übergeben werden, um die entsprechende Operation für alle ESXi-Dienste durchzuführen.

services.sh restart startet alle ESXi-Dienste neu.

8. /etc/init.d: Die Skripte in /etc/init.d können verwendet werden, um die jeweiligen Dienste nacheinander zu starten/stoppen. Wenn Sie nur den vCenter Server Agent (auch bekannt als vpxa-Dienst) neu starten möchten, können Sie /etc/init./vpxa restart ausführen, um ihn neu zu starten. Andererseits würde services.sh restart alle Dienste neu starten.

/etc/init.d/vpxa restart startet den vCenter Agent auf dem Host neu.

cat /etc/chkconfig.db zeigt den aktuellen Status aller ESXi-Dienste an.

9. vmkping: Wir sind alle mit der Funktionalität des Befehls ping vertraut. Aber vmkping geht noch einen Schritt weiter und ermöglicht es Ihnen, den IP-Stack des VMkernel zu verwenden, um ICMP-Pakete (Internet Control Message Protocol) über bestimmte Schnittstellen zu senden. Das bedeutet, dass Sie ein Ping-Paket über das vMotion-Netzwerk und nicht über das Managementnetzwerk senden können.

vmkping –I vmk1 10.10.10.1 sendet eine ICMP-Anfrage an 10.10.10.1 über die Schnittstelle vmk1.

10. nc: In Verbindung mit vmkping kann der nc-Befehl (netcat) nützlich sein, um die Netzwerkkonnektivität zu einer bestimmten IP von einem ESXi-Host zu bestätigen. Während vmkping die Kommunikation über ICMP bestätigt, gibt es Fälle, in denen wir die Verbindung über einen bestimmten TCP-Port bestätigen wollen (zum Beispiel iSCSI-Verbindungen über Port 3260).

nc –z 10.10.10.10 3260 testet die Konnektivität zu 10.10.10.10 auf Port 3260.

11. vmkfstools: Wenn Sie jemals VMFS-Volumes und virtuelle Festplatten über die Befehlszeile verwalten müssen, dann ist vmkfstools der richtige Befehl für Sie. Mit dem Befehl vmkfstools können Sie VMDK-Dateien erstellen, klonen, erweitern, umbenennen und löschen. Zusätzlich zu den Optionen für virtuelle Festplatten können Sie mit vmkfstools auch Blöcke in unseren Dateisystemen erstellen, erweitern, vergrößern und zurückfordern.

vmkfstools –i test.vmdk testclone.vmdk klont test.vmdk zu testclone.vmdk.

12. esxtop: Wenn es um die Leistungsüberwachung und Fehlerbehebung auf einem ESXi-Host geht, können Ihnen nur wenige Tools so viele Informationen liefern wie esxtop. Mit ähnlicher Funktionalität wie der Linux-Befehl top geht esxtop noch einen Schritt weiter, indem es VMware-spezifische Metriken im Vergleich zu CPU, Interrupt, Memory, Network, Disk Adapter, Disk Device, Disk VM und Power Management sammelt.

13. vscsiStats: Wenn Sie bei der Leistungsüberwachung von Storage-I/O noch einen Schritt weiter gehen wollen, kann vscsiStats eine Hilfe sein. Mit dem Befehl vscsiStats können Sie eine Reihe von Daten und Metriken sammeln, die sich auf die Festplatten-I/O-Auslastung einer VM beziehen. Am Ende erhalten Sie ein Beispiel, das Ihnen hilft, die häufigsten Durchschnittswerte für I/O-Größe und Latenz zu ermitteln. Die Verwendung von vscsiStats kann sich auch bei der Kapazitätsplanung oder Migration Ihres Backend Storage als unschätzbar wertvoll erweisen.

14. vim-cmd: vim-cmd ist ein Befehlsfeld, das über dem hostd-Prozess aufgebaut ist und es dem Endbenutzer ermöglicht, Skripte und Befehle für fast jede vSphere-API zu erstellen. vim-cmd verfügt über eine Reihe von ESXi-Unterbefehlen, die sich mit verschiedenen Teilen der virtuellen Infrastruktur befassen, und ist im Vergleich zu seinem Gegenstück vimsh sehr einfach zu benutzen.

15. dcui: Die VMware Direct User Console Interface (DCUI) ist die menübasierte Optionsliste, die Sie sehen, wenn Sie sich zum ersten Mal bei einem ESXi-Host anmelden. Über die DCUI stehen Ihnen viele verschiedene Optionen zur Verfügung, zum Beispiel Wartung des Root-Passworts, Netzwerk und Wartung. Manchmal haben Sie vielleicht nur SSH-Zugriff auf den Host, aber glücklicherweise können Sie das menübasierte DCUI-System trotzdem erreichen, indem Sie einfach dcui von der Befehlszeile aus ausführen.

16. vm-support: Wollten Sie schon immer mal ein komplettes Paket mit allen Support- und Protokollinformationen Ihres ESXi-Hosts abrufen? Das ist genau das, was vm-support tut. Dieses Tool ist von unschätzbarem Wert und wenn Sie schon einmal einen Support-Call mit VMware hatten, haben Sie es wahrscheinlich schon benutzt.

Ein Blick auf den Befehl esxcli

Der Befehl esxcli ist so umfangreich, dass wir ihn nicht einfach als einen einzigen Befehl klassifizieren können. esxcli enthält viele verschiedene Namensräume, mit denen Sie praktisch alles steuern können, was ESXi bietet. Im Folgenden sind einige (aber sicherlich nicht alle) der häufig verwendeten Namensräume aufgeführt:

17. esxcli hardware: Der Hardwarenamensraum von esxcli kann sich als äußerst nützlich erweisen, wenn Sie Informationen über die aktuelle Hardware und das Setup Ihres ESXi-Hosts abrufen möchten.

esxcli hardware cpu list ruft CPU-Informationen (Familie, Modell und Cache) ab.

esxcli hardware memory get ruft Informationen über das Memory ab (verfügbarer und uneinheitlicher Memory-Zugriff).

18. esxcli iscsi: Der iscsi-Namensraum kann zur Überwachung und Verwaltung von Hardware- und Software-iSCSI-Setups verwendet werden.

esxcli iscsi software kann verwendet werden, um den Software-iSCSI-Initiator zu aktivieren/deaktivieren.

esxcli iscsi adapter kann verwendet werden, um Discovery, CHAP und andere Einstellungen für Ihre Hardware- und Software-iSCSI-Adapter einzurichten.

esxcli iscsi sessions kann verwendet werden, um eingerichtete iSCSI-Sitzungen auf dem Host aufzulisten.

19. esxcli network: Der Netzwerknamensraum von esxcli ist äußerst wertvoll, wenn es darum geht, alles zu überwachen und zu ändern, was mit dem vSphere-Netzwerk zu tun hat, einschließlich virtueller Switches, VMKernel-Netzwerkschnittstellen, Firewalls und physischer Netzwerkschnittstellenkarten (NICs).

esxcli network nic listet NIC-Informationen wie zum Beispiel Name, Wake on LAN und Geschwindigkeiten auf, die sich darüber auch ändern lassen.

esxcli network vm list listet Netzwerkinformationen über Ihre VMs auf, die einen aktiven Netzwerkport haben.

esxcli network vswitch sind Befehle zum Abrufen und Ändern von Optionen auf VMwares standardmäßig und verteilten virtuellen Switches.

esxcli network ip sind Befehle zur Verwaltung von VMkernel-Ports, einschließlich Management-, vMotion- und Fault-Tolerance-Netzwerken. Es enthält auch die Möglichkeit, den IP-Stack in Bezug auf den Host zu ändern, einschließlich DNS, IPsec und Routing-Informationen.

20. esxcli software: Der Softwarenamensraum kann verwendet werden, um verschiedene Software und Treiber auf Ihrem ESXi-Host abzurufen und zu installieren.

esxcli software vib list listet die Software und Treiber auf, die derzeit auf dem ESXi-Host installiert sind.

21. esxcli storage: Dies ist vielleicht einer der am häufigsten verwendeten Namensräume für esxcli-Befehle und enthält alles, was Sie für die Verwaltung des an vSphere angeschlossenen Core Storage benötigen.

esxcli storage core device list listet die aktuellen Storage-Geräte auf.

esxcli storage core device vaai status get ermittelt den aktuellen Status der VAAI-Unterstützung auf Ihren Storage-Geräten.

22. esxcli system: Mit diesem Befehl können Sie erweiterte ESXi-Optionen steuern, zum Beispiel die Eirnichtung von syslog und die Verwaltung des Host-Status.

esxcli system maintenanceMode set –enabled yes/no versetzt den Host in den Wartungsmodus.

esxcli system settings advanced zeigt die erweiterten ESXi-Einstellungen an; eine Änderung ist möglich. (Tipp: Verwenden Sie esxcli system settings advanced list -d, um die vom Standard abweichenden Einstellungen anzuzeigen.).

esxcli system syslog zeigt die Syslog-Informationen und -Konfigurationen an.

23. esxcli vm: Der VM-Namensraum von ESXi kann verwendet werden, um verschiedene Informationen über die auf dem Host laufenden VMs aufzulisten und sie bei Bedarf zwangsweise herunterzufahren.

esxcli vm process list listet die Prozessinformationen für eingeschaltete VMs auf.

esxcli vm process kill beendet einen laufenden VM-Prozess, das heißt eine VM wird heruntergefahren oder zwangsweise ausgeschaltet.

24. esxcli vsan: Der VSAN-Namensraum von ESXi enthält eine Vielzahl von Befehlen, die sich mit der VSAN-Einrichtung und -Wartung befassen, einschließlich Datenspeicher, Netzwerk, Fault Domain und Richtlinienkonfiguration.

esxcli vsan storage sind Befehle zur Konfiguration von lokalem Storage für die Verwendung mit VSAN, einschließlich des Hinzufügens und Entfernens von physischen Festplatten und der Änderung von Auto-Claim.

esxcli vsan cluster sind Befehle zum Verlassen von/zum Beitritt von VSAN-Clustern auf dem lokalen Host.

25. esxcli esxcli: Der Befehl esxcli hat auch einen Namensraum esxcli. Wenn Sie den esxcli-Namensraums verwenden, können Sie weitere Informationen zu allen Befehlen des esxcli-Dienstprogramms abrufen.

esxcli esxcli command list listet jeden esxcli-Befehl auf dem System zusammen mit den von ihm bereitgestellten Funktionen auf.

Natürlich sind die oben genannten Befehle und Beispiele nicht alles, was ESXi zu bieten hat. Alle diese ESXi-Befehle verfügen über mehrere Schalter und Optionen, die verschiedene Funktionen bereitstellen. Die meisten dieser Optionen können angezeigt werden, indem man ein -h an den ursprünglichen Befehl anhängt, um die Hilfeoptionen aufzurufen.

Die Fehlersuche in ESXi über die Befehlszeile kann eine schwierige Aufgabe sein, aber mit einem soliden Verständnis dieser 25 ESXi-Befehle sind Sie auf dem besten Weg, fast jedes Problem zu lösen, das auftritt.

Erfahren Sie mehr über Server- und Desktop-Virtualisierung