VMDK, nvram, vmsd und Co: Diese Dateien braucht eine virtuelle VMware-Maschine

VMware-VMs bestehen aus vielen Dateien, die wir in diesem Beitrag vorstellen. So erhalten Sie ein besseres Verständnis Ihrer virtuellen Maschine.

VMware-Administratoren sollten die Komponenten ihrer virtuellen Maschinen (VM) kennen. Das kann bei der Verwaltung der Server, aber auch bei Backup und Recovery eine wichtige Rolle spielen. Genauere Informationen zu den Dateien, die zu einer virtuellen Maschine gehören, können zudem helfen, Systeme zu bereinigen und zu pflegen. 

Admins können auf dieser Basis entscheiden, welche Dateien unnötig sind und gelöscht werden können. Andere Dateien sind wiederum wichtig und müssen gesichert oder zumindest im Auge behalten werden. Das Verständnis um diese Dateien kann die Verwaltung also enorm erleichtern.

Interessant  sind hier die verschiedenen VMware-Dateitypen, die einer VM zugeordnet sind und sich im Verzeichnis der VM auf dem Host befinden. VMware VM-Dateien sind im Virtual Machine File System (VMFS) organisiert. Wenn Sie sich die Liste der Dateien ansehen, die mit einer VM verbunden sind, zum Beispiel mit einem SCP-basierten Tool oder auf Basis der Empfehlungen von VMware, werden Sie feststellen, dass die meisten Dateien mit dem tatsächlichen Namen der VM beginnen. 

Weitere Bestandteile des Namens der Dateien sind die verschiedenen Dateierweiterungen, die den Dateityp bezeichnen. Standardmäßig zeigt dir nicht alle möglichen Dateitypen des VMFS an. Außerdem ist auch der Zustand VM für die Anzeige der Dateien wichtig.  

So ist zum Beispiel die .vswp-Datei nur dann vorhanden, wenn die virtuelle Maschine eingeschaltet ist. Dagegen ist die VMSS-Datei nur vorhanden, wenn eine VM pausiert (suspended) wird. Nachfolgend sehen Sie eine typische VM-Verzeichnisliste, die mit WinSCP angezeigt wird.

Hier stellt sich also die Frage: Was sind alle diese VMware-Dateitypen, und für was werden Sie verwendet? Nachfolgend finden Sie jeden Dateityp im Detail.

Die .nvram-Datei: Diese kleine Datei enthält das BIOS, das verwendet wird, wenn die VM startet. Der Vorgang ist ähnlich wie bei einem physischen Server, der einen BIOS-Chip nutzt. Hier können Sie die Hardware-Konfigurationsoptionen ändern. 

Eine VM hat zusätzlich noch ein virtuelles BIOS, welches ebenfalls in der NVRAM-Datei enthalten ist. Auf das BIOS kann zugegriffen werden, wenn eine VM zum ersten Mal startet. Dazu müssen Sie während des Hochfahrens die Taste F2 drücken. 

Änderungen, die Sie an der Hardwarekonfiguration der VM vornehmen, werden in der .nvram-Datei gespeichert. Diese Datei liegt im binären Format vor und kann automatisch neu erstellt werden, wenn eine virtuelle Maschine eingeschaltet wird.

Die .vmx-Datei: Diese Datei enthält alle Konfigurationsinformationen und Hardwareeinstellungen der virtuellen Maschine. Immer wenn Sie die Einstellungen einer virtuellen Maschine bearbeiten, werden alle diese Informationen im Textformat in dieser Datei gespeichert. 

Diese Datei enthält eine Vielzahl von Informationen über die VM, einschließlich der Hardwarekonfiguration wie RAM, Netzwerkkarte, Festplatte, serieller/Parallel-Port, erweiterte Leistung und Ressourceneinstellungen. Auch die VMware-Tools-Optionen, Power-Management-Einstellungen und weitere Informationen sind in dieser Datei enthalten. 

Sie können diese Datei grundsätzlich direkt bearbeiten, um Änderungen an einer VM-Konfiguration vornehmen. Im Gegensatz zur .nvram-Datei, die binär vorliegt, lässt sich die .vmx-Datei auch mit einem Editor bearbeiten. Dieses Vorgehen ist allerdings nicht empfohlen, es sei denn, Sie wissen ganz genau, was Sie tun. Wenn Sie Änderungen direkt in dieser Datei vornehmen, sollten Sie in jedem Fall vorher eine Sicherungskopie der Datei erstellen.

VMDK-Dateien: Alle virtuellen Laufwerke Ihrer VMs bestehen aus zwei Dateien. Die große Datei entspricht der Größe der virtuellen Festplatte, bei der zweiten handelt es sich um eine kleine Textdatei. Diese beschreibt die Größe und Geometrie der virtuellen Festplattendatei.

Die Beschreibungsdatei enthält auch einen Zeiger auf die große Datendatei, sowie Informationen zu den virtuellen Festplatten wie Sektoren, Köpfe, Zylinder-und Festplattenadaptertyp. In den meisten Fällen haben diese Dateien den gleichen Namen wie die Datendatei, zum Beispiel myvm_1.vmdk und myvm_1-flat.vmdk. Sie können die Beschreibungsdatei mit der Datendatei vergleichen, indem Sie die Beschreibung ansehen. Hier sehen Sie welche -flat, -rdm, oder -delta-Datei mit der Beschreibungsdatei verknüpft ist.  

Die verschiedenen Arten von virtuellen Festplatten-Datendateien, die mit virtuellen VMware Maschinen verwendet werden können, sind folgende:

  • flat.vmdk-Dateien: Dies ist standardmäßig die große virtuelle Festplatten-Datendatei. Diese wird erstellt, wenn Sie eine virtuelle Festplatte mit Ihrer VM verbinden und es sich dabei nicht um eine RDM handelt. Beim Einsatz großer Platten wird diese Datei in etwa die gleiche Größe haben, wie die von Ihnen angegebene Größe beim Erstellen der virtuellen Festplatte. Jeweils eine dieser Dateien wird für jede virtuelle Festplatte, die Sie in einer VM konfiguriert haben, erstellt. Sie sehen in der nächsten Abbildung die Struktur einer solchen virtuellen Festplatte.

  • delta.vmdk –Dateien: Diese virtuellen Festplatten-Dateien werden nur verwendet, wenn Sie auch VMware-Snapshots einsetzen. Wenn ein Snapshot erstellt wird, werden alle Schreibvorgänge in der Original flat.vmdk angehalten. Die Dateien werden nur noch gelesen. Änderungen an der virtuellen Festplatte werden ab diesem Moment in  Delta-Dateien geschrieben.
    Die anfängliche Größe dieser Dateien beträgt 16 Megabyte. Ist es notwendig, dass diese größer werden, wachsen die Dateien in 16 Megabyte-Schritten weiter.

    Weil diese Dateien ein Bitmap der Änderungen einer virtuellen Festplatte sind, kann eine einzelne delta.vmdk-Datei die Größe der ursprünglichen flat.vmdk nicht überschreiten. Eine delta-Datei wird für jeden Snapshot, den Sie für eine VM durchführen, erstellt. Die Dateinamen dieser Dateien werden dabei numerisch erhöht, zum Beispiel MyVm-000001-delta.vmdk, MyVm-000002-delta.vmdk.

    Wenn der Snapshot gelöscht wird, werden diese Dateien, nachdem sie wieder in die ursprüngliche Datei zusammengeführt wurden, also mit der flat.vmdk verbunden sind, ebenfalls gelöscht. Die Dateien werden dann nicht mehr benötigt, da es den Snapshot nicht mehr gibt und die ursprünglichen Dateien des Snapshots bereits in die flat.vmdk-Datei geschrieben wurden.

  • rdm.vmdk-Dateien: Dies ist die Mapping-Datei für das Raw Device Mapping (RDM)-Format, das Mapping-Daten für die RDM-Gerät verwaltet. Die Mapping-Datei wird auf dem ESX-Host als eine gewöhnliche Festplattendatei für die üblichen Dateisystemoperationen zur Verfügung gestellt.
    In der VM wiederum stellt die Speichervirtualisierungsschicht das zugeordnete Gerät als virtuelles SCSI-Gerät dar. Die Metadaten in der Zuordnungsdatei enthalten die Position des zugeordneten Geräts (Namensauflösung) und den Verriegelungszustand des zugeordneten Geräts.

    Wenn Sie eine Verzeichnisliste anzeigen, können Sie sehen, dass diese Dateien mit der tatsächlichen Größe der LUN erscheint, die Sie abbildet.  Es handelt sich dabei also um die gleiche Menge an Speicherplatz auf dem VMFS-Volume. In Wirklichkeit erscheinen die Dateien aber nur so groß. Ihre echte Größe ist sehr klein. Einer dieser Dateien wird für jede RDM, die auf einer VM angelegt wird, erstellt.

.vwsp- Dateien: Beim Einschalten einer VM wird eine Speicher Swap-Datei erstellt. Diese wird an Stelle des physischen Host-Speichers verwendet, wenn ein ESX-Host seinen physischen Speicher vollständig verbraucht hat, er also überlastet ist. 

Diese Dateien werden in der entsprechenden Größe der Speichermenge, die einer VM zugeordnet ist, erstellt. Abgezogen wird der reservierte Speicher (Standard ist 0), den eine VM gesetzt hat. Wenn Sie zum Beispiel eine 4 Gigabyte VM mit einer 1 Gigabyte-Reservierung nutzen, wird eine 3 GB .vswp-Datei erstellt. 

Diese Dateien werden immer für virtuelle Maschinen erstellt. Verwendet werden diese aber nur, wenn ein Host seinen physischen Speicher komplett verbraucht hat und ansonsten seinen Betrieb einstellen würde. Natürlich ist der virtuelle Speicher, der auf die Festplatte geschrieben und gelesen wird, nicht so schnell wie physischer Arbeitsspeicher des Hosts. 

Daher werden  Sie mit Leistungseinbußen in der VM rechnen müssen, wenn Sie mit dieser Datei arbeiten müssen. Diese Dateien können auf Ihrem VMFS-Volume eine recht große Menge an Speicherplatz einnehmen, so dass Sie genügend Platz für sie zur Verfügung stellen sollten. 

VMs lassen sich nicht einschalten, wenn nicht genug Platz vorhanden ist, um diese Dateien zu erstellen. Diese Dateien werden gelöscht, wenn eine VM ausgeschaltet oder pausiert wird. Virtuelle Maschinen sperren die .vswp-, flat.vmdk-, delta.vmdk- sowie .vmx und .Log-Dateien während der Laufzeit der VM.

.vmss-Dateiein: Diese Datei wird verwendet, wenn virtuelle Maschinen abgestürzt sind oder sich aufgehängt haben. Sie werden verwendet, um den Speicherinhalt der VM zu bewahren, wenn eine Maschine ausgeschaltet und neu gestartet wird. 

Diese Datei wird in etwa die gleiche Größe haben, wie die Menge an RAM, den Sie einer VM zugeordnet haben. Dabei wird auch der leere Speicherinhalt geschrieben. Schalten Sie eine VM aus einem Suspend-Zustand (pausiert) wieder aktiv, wird der Inhalt dieser Datei wieder in den physischen Speicher von einem Host-Server geschrieben. 

Dabei wird die Datei aber nicht automatisch gelöscht. Das geschieht erst dann, wenn eine VM ausgeschaltet wird. Ein Neustart des Betriebssystems in der VM reicht dabei nicht aus. 

Wenn die Datei eines vorherigen Pause-Vorgangs existiert oder eine VM nochmals pausiert wird, wird diese Datei wieder verwendet, anstatt gelöscht und neu erstellt zu werden. Wenn diese Datei gelöscht wird, während die VM ausgesetzt wird, dann wird sich in der Regel die VM nicht mehr aktiv schalten lassen.

.vmsd-Datei: Diese Datei wird zusammen mit Snapshots dazu verwendet, Metadaten und andere Informationen über die einzelnen Snapshots zu speichern. Die Datei enthält Informationen zu allen Snapshots, die auf einer VM aktiv sind. Diese Textdatei wird zunächst in einer Größe von 0 Byte erstellt, bis ein Snapshot erstellt wird. 

Eine .vmsd-Datei aktualisiert sich automatisch, sobald Sie einen Snapshot erstellen. Für jede VM existiert immer nur eine dieser Dateien, unabhängig von der Anzahl der Schnappschüsse, die Sie für eine VM erstellt haben. Die Datei wird also bei jedem Snapshot aktualisiert. 

Die Snapshot-Informationen in einer .vmsd-Datei bestehen aus dem Namen der VMDK-Datei und den verwendeten .vmss-Dateien jedes Snapshots. Ebenfalls Bestandteil sind der Anzeigename und die Beschreibung, sowie die UID der Momentaufnahme. 

Wenn die Schnappschüsse einer VM gelöscht werden, behält die Datei alte Snapshot-Informationen  und erhöht den Snapshot-UID, den neue Schnappschüsse verwenden. VMware benennt auch den ersten Snapshot auf Consolidate Helper. Das liegt daran, dass das System diesen für ein konsolidiertes Backup nutzen kann.

.vmsn-Dateien: Diese Datei wird zusammen mit Snapshots gespeichert, um wiederum den Zustand einer virtuellen Maschine zu speichern, wenn ein Schnappschuss gemacht wird. VMware erstellt eine separate .vmsn-Datei für jede Momentaufnahme, die für eine VM erstellt wird. 

Diese Dateien werden automatisch gelöscht, wenn Sie den dazu gehörigen Snapshot löschen. Die Größe dieser Datei hängt davon ab, ob Sie den VM-Speicherzustand im Snapshot mitspeichern lassen. Wenn Sie den Speicherzustand integrieren, wird diese Datei etwas größer als die Menge an RAM, die der VM zugewiesen ist. 

Schließlich muss der gesamte Speicherinhalt, einschließlich des leeren Speichers, in diese Datei kopiert werden. Wenn Sie den Speicherzustand des Snapshots nicht mitintegrieren, dann wird diese Datei recht klein (unter 32 Kilobyte). Diese Datei ist generell ähnlich zu .vmss-Dateien, die dazu verwendet werden, um VMs pausieren zu lassen.

.log-Dateien: Log-Dateien werden erstellt, um Informationen über die virtuelle Maschinen zu sammeln. Diese Dateien werden vor allem zur Fehlersuche verwendet. In den meisten Umgebungen sind immer eine Reihe dieser Dateien im Verzeichnis einer VM vorhanden. 

Die aktuelle Protokolldatei trägt immer die Bezeichnung vmware.log. Zusätzlich gibt es bis zu sechs ältere Log-Dateien, mit einer Zahl am Ende ihres Namens, zum Beispiel vmware-2.log.

Eine neue Protokolldatei wird erstellt, wenn Sie eine VM aus-und einschalten. Wenn eine Protokolldatei Ihre maximale Größenbeschränkung erreicht, wird ebenfalls eine neue Datei erstellt. Die Menge an Log-Dateien, die beibehalten werden, und die maximale Größe, werden als Grenzwert für die VM über erweiterte Konfigurationsparameter log.rotateSize und log.keepOld konfiguriert.

.vmxf-Dateien: Diese Datei ist eine zusätzliche Konfigurationsdatei, die nicht mit ESX verwendet wird, aber aus Kompatibilitätsgründen mit VMware Workstation erhalten bleibt. Die Datei liegt im Textformat vor und wird von VMware Workstation für eine Kooperation zwischen VMs verwendet. Sie können mit VMware Workstation mehrere VMs zu einem Team zusammenfassen und gemeinsam ein-oder ausschalten. Die VMs werden im Team wie ein einzelnes Objekt behandelt.  

.ctk-Dateien: VMware-.ctk-Dateien enthalten eine Liste der Änderungen einer VM zwischen den Backups. Diese Datei beschreibt die VMDK-Blöcke und wächst proportional mit der Anzahl der VMDK-Blöcke an. Es gibt eine .ctk-Datei pro VMDK. 

Änderungsverfolgungs-Dateien stammen von der VMware Changed Block Tracking (CBT)-Technologie für inkrementelle Backups. Die .ctk-Datei speichert Informationen darüber, was sich in VM-Informationsblöcken geändert hat. Das soll unnötige Block-Backups verhindern. VMware-Snapshots nutzen ebenfalls .ctk -Dateien, genauso wie .log- und .nvram-Dateien sind .ctk-Dateien sehr klein.

Andere, weniger häufig vorhandene Dateitypen sind die .vmem-virtuellen-Maschine-Auslagerungsdatei und die .vmtm-Konfigurationsdatei für Team-Daten. Wie die .vmsn-Dateien sichern die .vmem-Dateien den Speicher der virtuellen Maschine. Sie existieren, wenn die VM läuft oder wenn eine VM abstürzt. .vmtm-Dateien unterstützen VM-Teams, besagte Funktion in VMware Workstation.

Diese Liste enthält alle Dateien, die mit einer VMware-VM verbunden sind. Durch diesen Überblick sollten Sie jetzt ein besseres Verständnis der Anatomie von VMs in VMware haben. Schauen Sie sich auch einmal die VMs auf Ihren eigenen VMware-Hosts genau an, um die verschiedenen Dateien, die diese virtuellen Maschinen ausmachen, zu verstehen.

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

Erfahren Sie mehr über Containervirtualisierung

ComputerWeekly.de
Close