VMware-Dateien im Überblick: VMDK, VMX, VMEM, VMSN, VMSD, VMSS

    VMX-DateiDer steigende Funktionsumfang von Virtuali­sierungs­software schlägt sich in der Zahl der Dateien nieder, die sie für das Management einer virtuellen Maschine benötigt. Im Normalbetrieb muss man sich darüber nicht viele Gedanken machen. Wenn eine VM aber auf einen anderen Host verschoben oder in ein anderes Format konvertiert werden soll, dann ist es unter Umständen notwendig, über das Speicherformat einer VM Bescheid zu wissen.

    Unter den für eine VM erforderlichen Dateien bekommen jene für virtuelle Datenträger die meiste Aufmerksamkeit, schließlich enthalten sie die gesamte Installation des Gast-Systems. Dafür existiert zwar eine ganze Reihe von Formaten, faktisch sind aufgrund der Marktentwicklung nur noch VMDK (VMware) und VHD (Microsoft) von Bedeutung. Die Konvertierung zwischen den beiden Typen virtueller Datenträger ist dank zahlreicher kostenloser Tools kein großes Problem.

    Wenn bei Formaten für VMs von Standards wie OVF die Rede ist, dann geht es um die Metadaten für virtuelle Maschinen, also in erster Linie um ihre Konfiguration. Die einzelnen Anbieter verwenden auch hier ihre eigenen, in der Regel textbasierten Formate, OVF ist nur für den Austausch zwischen den verschiedenen Systemen gedacht. VMware nutzt hier Dateien des Typs .vmx, Microsoft verwendet in .vmc bzw. .vmcx ein XML-Format.

    Zu den Dateien für virtuelle Datenträger und für die Speicherung der Konfiguration kommen noch einige weitere dazu, die eine VM unübersichtlich erscheinen lassen und sich auf ihre Portierbarkeit auswirken.

    VMDK: virtuelle Disks

    Das Format von VMware zur Speicherung virtueller Datenträger gibt es in der Ausprägung als dynamische Disk, die mit steigendem Datenvolumen mitwächst, und als Datei mit fester Größe. Letztere nimmt von Anfang an den ihr zugeteilten Platz vollständig in Anspruch, unabhängig von der Menge der darin gespeicherten Daten.

    Neben der eigentlichen Installation des Gastsystems verwendet VMware separate VMDKs auch dazu, alle Änderungen einer Disk nach dem Anlegen eines Snapshots zu speichern. Die Snapshot-VMDKs erkennt man an den für sie typischen Dateinamen nach dem Muster [name-der-disk]-[Delta als 6-stellige Zahl].vmdk. Beim Löschen eines Snapshots werden alle Änderungen, die in [name-der-disk]-[n].vmdk enthalten sind, in die Datei [name-der-disk]-[n-1].vmdk bzw. jene mit der nächstniedrigen Nummer übernommen.

    VMX, VMXF, VMTM: Konfigurationsdaten

    Dateien mit der Endung .vmx enthalten alle wesentlichen Konfigurationsdaten für eine virtuelle Maschine. Dazu zählen unter anderem Angaben zur virtuellen Hardware (Zahl der CPUs, verfügbares RAM), zur Art der Netzwerkanbindung (NAT, bridged, etc) oder zu den VMware Tools. Es handelt sich dabei um eine Textdatei in einem Format ähnlich jenem von INI-Files, allerdings ohne die Unterteilung in Sektionen.

    Die .vmxf- und .vmtm-Dateien dienen bei der VMware Workstation dazu, zusätzliche Konfigurationsdaten für VMs zu speichern, die Mitglied eines Teams sind. Erstere bleiben auch dann erhalten, wenn eine VM aus einem Team entfernt wird.

    NVRAM: BIOS für die VM

    Die Dateien mit der Endung .nvram enthalten jene Informationen, die bei einem physikalischen Rechner das BIOS verwaltet. Dazu zählen etwa die Zahl der angeschlossenen Plattenlaufwerke oder der verfügbare Arbeitsspeicher.

    VMSN, VMSD: Snapshot-Daten

    Wenn man mit der Workstation oder unter ESX(i) einen Snapshot einer VM anlegt, dann speichert die Software unter anderem auch ein Speicherabbild der virtuellen Maschine, um sie beim Zurücksetzen auf den Snapshot exakt im ursprünglichen Zustand restaurieren zu können. Diesem Zweck dienen die Dateien des Typs .vmsn, eine solche wird für jeden Snapshot erstellt. Das Schema für die Benennung der Dateien folgt dem Muster der VMDKs für Snapshots, wobei für das Delta statt einer 6-stelligen Zahl der Namensbestandteil Snapshot[n] verwendet wird, beispielsweise Windows 7 x86-Snapshot3.vmsn.

    Für die Verwaltung aller Snapshots nutzt VMware eine Datei mit der Endung .vmsd. Dabei handelt es sich ebenfalls um eine Klartextdatei, die Informationen über die einem Snapshot zugeordnete .vmsn- und .vmdk-Datei sowie die vom Benutzer angegebene Beschreibung des Snapshot enthält. Außerdem verwaltet diese Datei die Abhängigkeiten von Snapshots untereinander, also welcher von welchem abstammt. Das manuelle Löschen von Snapshot-Dateien würde diese Zusammenhänge zerstören.

    VMEM: Auslagerungsdatei einer VM

    VMware Workstation und Player verfügen über einen Paging-Mechanismus ähnlich jenem von Windows, der bei Bedarf Daten aus dem RAM in eine Swap-Datei auslagert. Diese hat die Namensendung .vmem und existiert nicht nur für die Parent-VM, sondern auch für jeden davon abgeleiteten Snapshot. Ihr Name bildet sich aus der Bezeichung der VM plus .vmem, bei Snapshots folgt auf den Namen der VM wie bei den .vmsn-Dateien -Snapshot[Delta] plus .vmem.

    In diversen Foren kursiert der Tipp, dass sich das Paging durch den Eintrag

    mainMem.useNamedFile = "FALSE"

    in die vmx-Datei der VM abstellen und sich damit eine bessere Performance erzielen ließe. Tatsächlich legt VMware dann keine .vmem-Dateien mehr an, lagert Daten aber weiterhin auf Platte aus. Läuft die Workstation auf einem Windows-Host, dann nutzt sie die pagefile.sys der Betriebssystems, unter Linux schreibt sie in das /tmp-Verzeichnis. Performance-Vorteile lassen sich dann erzielen, wenn die Auslagerungsdatei bzw. das tmp-Verzeichnis auf einem schnellen separaten Laufwerk liegen.

    VMSS: Zwischenspeicher für den Suspend-Modus

    VMware Workstation und ESX(i) nutzen Dateien mit der Endung .vmss, um den Zustand einer angehaltenen VM zu speichern. Sie wird beim Aufwecken aus dem Suspend-Modus benötigt, um die VM wiederherzustellen.

    Keine Kommentare