Woody - Fotolia

Schritt-für-Schritt-Anleitung zum manuellen Editieren von VMX-Dateien

Manchmal können VM-Änderungen nicht im vSphere Client vorgenommen werden. Diese Anleitung zeigt, wie man VMX-Dateien sicher manuell editiert.

Im Alltagsgeschäft begibt sich kaum ein Administrator hinab in die Niederungen der vSphere-Umgebung, um das Verhalten einer virtuellen Maschine (VM) zu verändern. Üblicherweise bedient man sich einfach des vSphere Web Clients. Trotzdem gibt es Fälle, in denen ein manuelles Editieren für die Optimierung Ihrer virtuellen Umgebung unerlässlich ist.

Anhand der nachfolgenden Anleitung können Administratoren die erforderlichen Änderungen in der VMX-Datei einer VM vornehmen, wie etwa das Hinzufügen von Werten oder neuer Parameter, das sich nicht einfach vom vSphere Desktop oder Web Client aus bewerkstelligen lässt.

Zwei mögliche Einsatzfälle für das manuelle Editieren von VMX-Dateien

Aus welchen Gründen würde jemand eine VMX-Datei direkt editieren wollen?

Nehmen wir beispielsweise an, ein Kunde hätte seine gesamte Umgebung auf vSphere 5.5 umgestellt und alle VMs auf die Hardware-Kompatibilitätsebene 10 gebracht. Was geschieht nun, wenn der vSphere Web Client, der als einziger eine solche VM bearbeiten kann, nicht mehr verfügbar ist, die VM aber bearbeitet werden muss?

Oder sagen wir, die VM-Portgruppe muss in ein anderes Netzwerk verlegt werden. Ein hierfür geeignetes Tool wäre die PowerShell, allerdings sind nicht alle Administratoren mit PowerCLI-Scripting vertraut.

In einem weiteren Szenario mag ein Administrator beispielsweise erweiterte VM-Konfigurationsmöglichkeiten nutzen wollen, die über den Web Client schlicht nicht zugänglich sind. Beispielsweise die Festlegung eines vom Standard abweichenden Arbeitsverzeichnisses, in dem die virtuelle Maschine Snapshot-Dateien ablegt (vgl. Knowlegde-Base-Artikel KB1002929).

Aufbau und manuelles Editieren einer VMX-Datei

Die Konfiguration einer virtuellen Maschine wird in einer Datei mit der Endung.VMX im VM-Verzeichnis eines Datastores abgelegt. Es handelt sich dabei um eine Textdatei mit einer einfachen Struktur. Hier ein Beispiel weniger Zeilen aus einer Konfigurationsdatei:

 

virtualHW.version = "10"

displayName = "Win2008Main"

memSize = "4096"

scsi0.virtualDev = "pvscsi"

scsi0.present = "TRUE"

ethernet0.virtualDev = "vmxnet3"

ethernet0.networkName = "VM Network"

 

Für das Editieren der Konfigurationsdatei gibt es zwei nachfolgend beschriebene Methoden, die sich aber in den zunächst dargestellten Vorbereitungsschritten gleichen:

Schritt 1: Ablageort der VM finden

Die VMX-Datei befindet sich im Datastore Ihres ESXi-Hosts ebenfalls dort, wo die VM abgelegt ist. Diesen Ablageort herauszufinden bedarf nicht mehr als eines Blickes in die VM-Zusammenfassung (siehe Abbildung 1), wo sich die gesuchte Angabe in der Sektion Storage des Fensters Related Objects findet.


Abbildung 1: Auf dem Übersichtsbildschirm dieser virtuellen Maschine findet sich der Datastore-Ablageort in der Sektion Related Objects.

Die Information der nachfolgenden Abbildung muss nicht in jedem Fall vollständig korrekt sein. Es können durchaus mehrere Datastores aufgeführt werden, da die Konfiguration an einem anderen Ort liegen kann als die virtuellen Laufwerksdateien. Auch kann die VM umbenannt werden, wodurch sich zwar ihr Anzeigename ändert, nicht aber die Pfadnamen für die Verzeichnisse und Dateien der VM. Um ganz sicher zu sein, sollten Sie in den VM-Optionen den Ort des VM Config File zu Rate ziehen (vgl. Abbildung 2).

Abbildung 2: Das Feld VM Config File verweist auf den Ort, an dem die VMX-Datei liegt.

Schritt 2: VM ausschalten

Sie können das Gast-Betriebssystem herunterfahren oder das Ausschalten der virtuellen Maschine einfach erzwingen, falls diese die VMware-Tools nicht enthält.

Schritt 3: VM aus dem vCenter Inventory abmelden

Dies bewerkstelligen Sie im vSphere Web Client oder vSphere Windows Client durch einen rechten Mausklick auf die VM und die Auswahl der Option Remove from Inventory. Die VM wird dann nicht länger aufgeführt, bleibt aber auf dem Laufwerk bestehen.

Im weiteren Vorgehen unterscheiden sich die beiden Methoden zum manuellen Editieren der VMX-Datei.

Methode A: Herunterladen, Editieren und Hochladen der VMX-Datei

Diese Methode ist die einfachste. Greifen Sie vom vSphere Web Client oder vSphere Windows Client aus auf den Datastore zu, der die VM enthält, und öffnen Sie dessen Inhaltsauflistung. Arbeiten Sie sich durch bis zum VM-Verzeichnis und wählen Sie dann die VMX-Datei (vgl. Abbildung 3).

Abbildung 3: Nutzen Sie den vSphere Web Client zum Durchsuchen des VM-Datastores und wählen Sie nach einem Rechtsklick die Download-Option.

Nach dem Herunterladen der Datei auf Ihren Computer sollten Sie zuerst eine Sicherheitskopie der Datei anfertigen, bevor Sie diese verändern.

Sie können die Datei auf Ihrem Computer mit einem Editor wie Windows Wordpad oder einen beliebigen anderen Texteditor ändern. Achten Sie darauf, dass einige Editoren Zeilenumbrüche und Zeilenvorschübe abweichend behandeln, so etwa Notepad. Ein Editor, der diese Zeichen nicht ordnungsgemäß interpretiert, präsentiert sämtliche Dateiinhalte in einer einzigen Zeile, statt korrekterweise in mehreren.

Nach den notwendigen Änderungen an der Datei laden Sie diese wieder an denselben Ort hoch. In einem letzten Schritt registrieren Sie die VM wieder im vCenter per Rechtsklick und Auswahl der Menüoption Register VM.

Methode B: Modifizieren der VMX-Datei direkt von der Kommandozeile aus

Für diese Vorgehensweise sollten Administratoren mit der Arbeit in der Kommandozeilenschnittstelle vertraut sein. Öffnen Sie zunächst eine Kommandozeilensitzung zu Ihrem Host – entweder in der lokalen Konsole (nachdem Sie diese über das Direct Console User Interface aktiviert haben) oder über SSH

Weitere Artikel zum Management virtueller Maschinen:

Wann lohnt sich eigentlich die Investition in vSphere-Management-Tools?

VMware DRS und HA: Mit diesen Regeln erreichen Sie eine höhere Verfügbarkeit

Diese fünf Tipps geben Einblick in das richtige VM-Provisioning

Falls Sie hierfür Unterstützung benötigen, finden Sie eine hilfreiche englischsprachige Dokumentation von VMware unter Getting Started with vSphere Command-Line Interfaces.

Wechseln Sie mit dem Befehl cd in das VM-Verzeichnis unter /vmfs/volumes/your datastore/vm directory. Mithilfe des Kommandos ls –l können Sie die Dateien auflisten (vgl. Abbildung 4).

Noch ein Hinweis: Machen Sie sich das Leben etwas einfacher und sparen Sie sich Tippfehler mithilfe der Tab-Vervollständigung. Nach dem Kommando cd und nachfolgendem Leerzeichen tippen Sie nur den ersten Buchstaben des Verzeichnisnamens ein und betätigen Sie die Tabulator-Taste, um den Verzeichnisnamen zu komplettieren.

Gibt es an diesem Ort mehr als einen Verzeichnisnamen mit diesem Anfangsbuchstaben, blättern Sie mit weiteren Betätigungen der Tabulator-Taste durch diese hindurch, bis Sie das gewünschte Verzeichnis gefunden haben.

Abbildung 4: Nutzen Sie die ESXi-Shell für die Navigation zum VM-Datastore und listen Sie die Dateien auf.

Nach Ermittlung des Ablageorts der VMX-Datei können Sie diese mit einem Editor ändern. Vergessen Sie auch hier nicht die vorherige Sicherheitskopie. Nutzen Sie das Kommando cp zum Erstellen einer Kopie. Ich selber verwende in der Regel .BAK als Dateinamenserweiterung, um den Backup-Charakter der Zieldatei herauszustellen.

Auf nahezu allen Systemen mit einer Kommandozeile steht als Editor vi zur Verfügung. Daher ist es durchaus sinnvoll, wenn Sie sich mit diesem Werkzeug vertraut machen. Im Knowledge Base-Artikel KB1020302 wird erklärt, wie Sie mit vi eine Datei bearbeiten.

Nach Abschluss Ihrer Änderungen an der Datei registrieren Sie die VM in vCenter von der Kommandozeile aus mittels des nachfolgenden Befehls:

vim-cmd solo/registervm pfad_zur_vmx_datei

Die nachfolgende Abbildung 5 zeigt, wie als Reaktion auf diesen Befehl „139“ ausgegeben wird. Diese Zahl ist die Objektnummer im Inventory und weist darauf hin, dass die VM erfolgreich registriert wurde.

Abbildung 5: Nach dem erfolgreichen Registrieren einer VM von der Kommandozeile aus wird in unserem Beispiel die Zahl 139 ausgegeben, die der Objektnummer im Inventory entspricht.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+ und Facebook!

Erfahren Sie mehr über Containervirtualisierung