Die effektivsten Möglichkeiten, Dateien von einer VM auf einen Host zu übertragen

Virtuelle Maschinen bieten viele Vorteile wie Flexibilität, rationalen Ressourceneinsatz und Ausführung in isolierten Umgebungen. Eine häufige Aufgabe in virtuellen Umgebungen ist das Kopieren von Dateien zwischen VMs und Hosts. Lesen Sie weiter, um zu erfahren, wie Sie Dateien von einem Host auf eine virtuelle Maschine kopieren, wie Sie Dateien von einer VM auf einen Host übertragen und wie Sie Dateien zwischen VMs kopieren.

Die Komponenten unserer Umgebung

Fangen wir damit an, die Terminologie zu überprüfen:

  • A host is a physical machine on which a hypervisor is installed.
  • A hypervisor is virtualization software to run virtual machines on the host. There are two types of hypervisors:
    • Typ 1: Verwendung eines ESXi-Servers, der die Hostmaschine ist
    • Typ 2: Verwendung von VMware Workstation, wobei Windows und Linux die Betriebssysteme der Hostmaschine sein können

In diesem Durchgang besteht die Umgebung, die verwendet wird, um zu erklären, wie Dateien von einer VM auf einen Host übertragen werden, aus den folgenden Komponenten:

  • ESXi-Host 1: 192.168.101.201
  • ESXi-Host 2: 192.168.101.202
  • Ubuntu Linux-Maschine: 192.168.101.210
  • Windows-Host mit installierter VMware Workstation
  • Netzwerk: 192.168.101.0/24
  • ESXi-VMs und VMware Workstation-VMs sind mit demselben Netzwerk verbunden

Wir verwenden die folgenden Technologien, um Dateien zwischen VMs und Hosts zu kopieren:

  • Freigegebene Ordner
  • Gemeinsame Zwischenablage und Drag & Drop
  • USB-Speichergerät
  • PowerCLI
  • SSH und SCP
  • NFS-Freigabe
  • Dateien in einer VMware-Web-Schnittstelle herunterladen/hochladen
  • ISO-Dateien

Verwenden von freigegebenen Ordnern zum Übertragen einer VM-Datei auf den Host

Gemeinsame Ordner ist eine praktische Funktion in VMware Workstation, um Dateien zwischen einem Windows- oder Linux-Physischrechner, auf dem VMware Workstation installiert ist, und VMs, die auf VMware Workstation ausgeführt werden, zu übertragen. Für macOS ist VMware Fusion das Äquivalent von VMware Workstation und unterstützt ähnliche Funktionen.

Lassen Sie uns nun die Schritte zur Übertragung von Dateien von VM auf Host und umgekehrt unter Verwendung von VMware Shared Folders durchgehen.

Hinweis: Damit diese Funktion funktioniert, muss VMware Tools in einer VM installiert sein. Daten zwischen Host und VM werden über die Interaktion über VMware Tools zwischen dem Host- und Gastbetriebssystem übertragen, ohne ein Netzwerk zu verwenden.

  1. Wählen Sie eine VM aus, für die Sie die VMware-Dateifreigabe konfigurieren möchten. Wir wählen eine unserer Windows-VMs aus.
  2. Klicken Sie im VMware Workstation-GUI auf VM >Einstellungen (Virtuelle Maschineneinstellungen bearbeiten).
  3. In dem Fenster Virtuelle Maschineneinstellungen wählen Sie den Optionen Tab und klicken auf Gemeinsame Ordner. Wählen Sie im Bereich Ordnerfreigabe die Option Immer aktiviert. Optional können Sie einen freigegebenen Ordner als Netzlaufwerk in Windows-Gästen für mehr Komfort mappen, indem Sie das Kontrollkästchen auswählen.
  4. Klicken Sie auf Hinzufügen, um einen Ordner auszuwählen, der als freigegebener Ordner verwendet werden soll.

  5. Geben Sie den Pfad zum Ordner auf dem Host freigeben oder klicken Sie auf Durchsuchen und wählen Sie den benötigten Ordner aus. Wir wählen C:\temp\share-VM

    Geben Sie einen Namen für den freigegebenen Ordner ein, zum Beispiel share-VM

    Klicken Sie auf Weiter.

  6. Wählen Sie Diese Freigabe aktivieren. Wenn Sie möchten, dass VMs auf den freigegebenen Ordner im Nur-Lese-Modus zugreifen können, aktivieren Sie das Kontrollkästchen Nur lesen. Klicken Sie auf Fertig stellen.

  7. Der neue freigegebene Ordner wird jetzt in der Liste der freigegebenen Ordner im Optionen-Tab des Fensters für die Einstellungen der virtuellen Maschine angezeigt. Ein freigegebener Ordner ist aktiviert, wenn das entsprechende Kontrollkästchen neben dem Dateinamen ausgewählt ist.

    Klicken Sie auf OK, um die Einstellungen zu speichern.

  8. Öffnen Sie die Benutzeroberfläche der Windows-VM, mit der der Ordner über die Freigegebene Ordner-Funktion freigegeben wird.
  9. Klicken Sie auf Netzwerk (Arbeitsplatz) in Mein Computer (Dieser PC) oder im Windows-Explorer, um verfügbare Computer im Netzwerk anzuzeigen.
  10. Wählen Sie vmware-host als Computernamen aus, auf dem der freigegebene Ordner konfiguriert ist. Dieser Name wird standardmäßig festgelegt und ist Ihrem physischen Computer (Host) mit dem freigegebenen Ordner zugeordnet.

  11. Klicken Sie auf Freigegebene Ordner und wählen Sie den benötigten freigegebenen Ordner (share-VM in unserem Beispiel) aus. Der vollständige Pfad zum freigegebenen Ordner lautet in unserem Fall

    \\vmware-host\Shared Folders\share-VM\

Sie können Dateien von einem Host zu einer virtuellen Maschine und von einer virtuellen Maschine zu einem Host kopieren. In unserem Beispiel haben wir Test01.txt von einem Windows-Host zu einem Windows-Gast mit der VMware-Dateifreigabe in VMware Workstation kopiert.

Für Linux-Gäste können Sie alle VMware-Freigabefolder mit dem Befehl wie unten gezeigt einbinden:

  • In Linux mit einem Kernel vor 4.0:

    mount -t vmhgfs .host:/ /home/user1/shares

  • In Linux mit Kernel 4.0 oder neuer:

    /usr/bin/vmhgfs-fuse .host:/ /home/user1/shares -o subtype=vmhgfs-fuse,allow_other

Wenn Sie möchten, dass ein gemeinsam genutzter Ordner nach dem Neustart der virtuellen Maschine eingebunden bleibt, fügen Sie die entsprechenden Zeilen mit dem Kommentar und der Konfiguration in /etc/fstab hinzu, zum Beispiel:

# VMware-Freigabefolder zum Übertragen von Dateien zwischen VMware-Gast und Host

.host:/ /mnt/hgfs/ fuse.vmhgfs-fuse defaults,allow_other,uid=1000 0 0

Bevor wir zum nächsten Abschnitt übergehen, beachten Sie, dass die Funktion für freigegebene Ordner nur in VMware Workstation (und VMware Fusion auf macOS) verfügbar ist und nicht für VMs, die auf ESXi-Hosts ausgeführt werden. Für ESXi-Hosts können Sie einen Ordner manuell freigeben und ein Netzwerk verwenden, um Dateien zwischen Windows-Maschinen zu kopieren. Um Dateien von einer VM auf einen ESXi-Host zu kopieren, sollten Sie ein zusätzliches Tool verwenden oder das Kopieren von Dateien aus einem manuell freigegebenen Ordner mit einer der unten erklärten Methoden kombinieren.

Es gibt andere Methoden zum Freigeben eines Ordners in Windows 10 und Windows Server 2019. Sie können auch mehr über das SMB-Dateifreigabeprotokoll erfahren.

Wenn Sie über ein Windows-Konto mit administrativen Rechten verfügen und eine Sicherheitsrichtlinie den Zugriff auf standardmäßig verfügbare versteckte administrative Freigaben zulässt, können Sie auf lokale Laufwerke der Windows-Maschine über den Pfad zur Freigabe wie folgt zugreifen:

\\IP-Adresse\c$

Wo:

IP-Adresse eine IP-Adresse oder ein Hostname einer entfernten Windows-Maschine ist.

C$ is the needed disk drive letter on a remote Windows machine which is a hidden system share.

Nutzung der gemeinsamen Zwischenablage zum Übertragen von Dateien auf VMs vom Host

Der gemeinsame Zwischenspeicher ist eine Funktion, die es ermöglicht, Inhalte wie Text und ganze Dateien von einer virtuellen Maschine auf eine Host-Maschine zu kopieren und einzufügen, auf der VMware Workstation installiert ist. Der Vorgang ähnelt dem Vorgang beim Kopieren und Einfügen von Inhalten zwischen verschiedenen Anwendungsfenstern in Windows oder Linux mit der grafischen Benutzeroberfläche.

Der volle Funktionsumfang steht in VMware Workstation zur Verfügung, mit dem Sie Dateien von einem Host zu einer virtuellen Maschine und von einer virtuellen Maschine zu einem Host übertragen können. Als Alternative zum Kopieren und Einfügen können Sie Dateien per Drag & Drop verschieben.

Gemeinsamer Zwischenspeicher in VMware Workstation

Im Folgenden wird erläutert, wie Sie Dateien mit einem gemeinsamen Zwischenspeicher und per Drag & Drop auf VMware Workstation-VMs übertragen können. In unserem Beispiel ist VMware Workstation auf einem Windows-Host installiert.

  1. Wählen Sie Ihre VM im linken Bereich aus, in dem die VMs aufgelistet sind.
  2. Klicken Sie auf Virtuelle Maschineneinstellungen bearbeiten (VM > Einstellungen).

  3. Wählen Sie den Optionen-Tab und klicken Sie auf Gast Isolation.

    Wählen Sie zwei Kontrollkästchen:

    • Aktivieren Sie Drag & Drop
    • Aktivieren Sie Kopieren und Einfügen

    Klicken Sie auf OK, um die Einstellungen zu speichern und das Fenster zu schließen.

Gemeinsamer Zwischenablage in VMware ESXi

Für VMs, die auf VMware ESXi ausgeführt werden, können Sie keine Datei per Drag & Drop oder über die gemeinsame Zwischenablage zwischen einer VM auf einem ESXi-Host und einem anderen Computer kopieren. Die einzige Option besteht darin, Text zwischen einer VM, die auf ESXi läuft, und Ihrem lokalen Computer (auf dem VMware Workstation oder VMware Remote Console installiert ist), zu kopieren und einzufügen. Kopieren und Einfügen sowie Drag & Drop für Dateien werden aus Sicherheitsgründen nicht unterstützt.

Wenn Sie beispielsweise eine Konfigurationsdatei nicht kopieren können, können Sie den Textinhalt der Datei mithilfe einer gemeinsamen Zwischenablage kopieren. Standardmäßig ist die gemeinsame Zwischenablage in der ESXi-VM-Konfiguration deaktiviert. Führen Sie auf einem ESXi-Host folgende Schritte aus, um eine gemeinsame Zwischenablage zum Kopieren und Einfügen von Textdaten zu aktivieren:

  1. Die VM muss ausgeschaltet sein, wenn die VM-Konfiguration bearbeitet wird. Fahren Sie die VM herunter, falls sie läuft.
  2. Öffnen Sie die VM-Einstellungen. Sie können den VMware Host-Client und den VMware vSphere-Client verwenden. Wählen Sie eine VM aus, klicken Sie auf VM-Einstellungen bearbeiten und wählen Sie den VM-Optionen-Tab aus.

    Erweitern Sie den Erweiterte Einstellungen-Abschnitt und klicken Sie auf Konfiguration bearbeiten.

  3. Sie müssen drei Konfigurationsparameter zur VM-Konfiguration hinzufügen (die im VM-Konfigurations-VMX-Datei geschrieben werden). Klicken Sie auf Parameter hinzufügen.

  4. Fügen Sie diese drei Parameter hinzu:

    isolation.tools.copy.disable FALSE

    isolation.tools.paste.disable FALSE

    isolation.tools.setGUIOptions.enable TRUE

  5. Klicken Sie auf OK und speichern Sie die Einstellungen.

Alternativ können Sie eine VMX-Datei mit der VM-Konfiguration manuell bearbeiten, die sich in einem ESXi-Datenspeicher im VM-Verzeichnis befindet.

  1. Melden Sie sich lokal am ESXi-Shell oder über SSH an.
  2. Wechseln Sie zum VM-Verzeichnis (ein Verzeichnis, in dem VM-Dateien auf einem Datenspeicher gespeichert sind). In unserem Fall gehen wir in dieses Verzeichnis:

    cd /vmfs/volumes/datastore10a/Windows-VM/

  3. Bearbeiten Sie die VMX-Konfigurationsdatei. In unserem Fall ist die Datei Windows-VM.vmx

    vi Windows-VM.vmx

  4. Fügen Sie die oben gezeigten drei Parameter am Ende dieser Konfigurationsdatei hinzu.
  5. Speichern Sie die Änderungen und schließen Sie die Datei (beenden Sie den Texteditor).

Jetzt können wir Text zwischen unserer lokalen Maschine und einem Remote-VM, der auf einem ESXi-Host läuft, kopieren und einfügen, indem wir VMware Remote Console und VMware Workstation verwenden, um eine Verbindung zu einer VM herzustellen.

Verwendung eines USB-Speichergeräts

VMware ESXi und VMware Workstation unterstützen die USB-Durchleitungsfunktion, mit der Sie ein USB-Gerät in eine Hostmaschine einstecken und dieses USB-Gerät mit einer virtuellen Maschine verbinden können, die auf diesem Host läuft. Sie können sequenziell ein USB-Speichergerät an eine Hostmaschine und eine virtuelle Maschine anschließen, um Dateien zwischen diesen Maschinen in beide Richtungen zu kopieren.

Hinweis: VMware Tools müssen auf dem Betriebssystem (OS) des VM-Gasts installiert sein, um die USB-Durchleitungsfunktion zu verwenden.

Kopieren von Dateien zwischen VMware Workstation-VMs und dem Host

Führen Sie die folgenden Schritte aus, um Dateien von der VM auf den Host in VMware Workstation zu übertragen, die auf Windows- und Linux-Hosts installiert ist (die Benutzeroberfläche ist einheitlich):

  1. Schalten Sie die virtuelle Maschine ein.
  2. Legen Sie ein USB-Speichergerät, wie z. B. eine USB-Festplatte (Hard Disk Drive) oder einen USB-Flash-Laufwerk, in einen physischen Computer ein, der eine Hostmaschine ist.
  3. Das Fenster Neues USB-Gerät erkannt öffnet sich in VMware Workstation. Wählen Sie, wo Sie Ihr USB-Gerät anschließen möchten:
    • Mit dem Host verbinden
    • Mit einer virtuellen Maschine verbinden

    Lassen Sie uns die zweite Option auswählen und unseren USB-Flash-Laufwerk mit der virtuellen Maschine verbinden. In diesem Beispiel führen wir eine Windows-VM aus. Wenn mehrere VMs in VMware Workstation ausgeführt werden, müssen Sie die benötigte VM in der Liste auswählen. Ein USB-Gerät kann nur mit einer VM gleichzeitig verbunden werden. Klicken Sie auf OK, um fortzufahren.

    Wenn Ihr USB-Speichergerät bereits in den USB-Anschluss des physischen Host-Computers eingesteckt wurde, auf dem VMware Workstation installiert ist, wird das Popup-Fenster mit den USB-Weiterleitungs-Optionen nicht automatisch angezeigt. Sie können ein USB-Gerät mit einer VM verbinden (von einem Host trennen) im Menü:

    Gehen Sie zu VM > Wechselbare Geräte > Name Ihres USB-Speichergeräts > Verbinden (Vom Host trennen).

    In unserem Beispiel lautet der Name des USB-Flash-Laufwerks Kingston DataTraveler 2.0.

  4. Jetzt können wir das USB-Flash-Laufwerk in der Liste der Laufwerke von „Mein Computer“ (Windows Explorer) verbunden mit der Windows 7 VM sehen. Um das USB-Speichergerät zu überprüfen:
    • Klicken Sie mit der rechten Maustaste auf Mein Computer und wählen Sie Verwalten.
    • Wechseln Sie zu Computerverwaltung > Geräte-Manager und Computerverwaltung > Datenträgerverwaltung im entsprechenden Snap-In, nachdem Sie mit der rechten Maustaste geklickt haben.

    Wenn kein Laufwerksbuchstabe automatisch zugewiesen wurde, weisen Sie den Buchstaben manuell im Datenträgerverwaltung-Snap-In zu.

    Der Ablauf für Linux-Gäste ist identisch. In einigen Linux-Distributionen müssen Sie ein angeschlossenes USB-Speichergerät wie ein Flash-Laufwerk manuell im Linux-Betriebssystem mounten.

  5. Nachdem das USB-Speichergerät an die VM angeschlossen und vom Gastbetriebssystem erkannt wurde, kopieren Sie die benötigten Dateien von der VM auf ein USB-Speichergerät. Das Kopieren von Dateien vom USB-Speichergerät zur VM funktioniert jetzt auch.

  6. Nachdem alle benötigten Dateien von der VM auf das USB-Flash-Laufwerk kopiert wurden, trennen Sie das USB-Flash-Laufwerk von der VM und verbinden Sie dieses USB-Gerät mit dem Host:

    Klicken Sie auf VM > Abnehmbare Geräte > Ihr USB-Speichergerätename > Trennen (Verbindung mit Host herstellen).

  7. A USB storage device is now connected to a host machine (a Windows machine on which VMware Workstation is running in our case). We can transfer the files that were copied from the VM to the USB flash drive to your host machine.

USB-Passthrough von VMware Workstation zu ESXi-VMs

Sie können einen USB-Flash-Laufwerk, das in einem ESXi-Server eingesteckt ist, auch mit Ihrem lokalen Windows- oder Linux-Rechner (mit installierter VMware Workstation oder VMware Remote Console (VMRC)), den Sie zur Fernverwaltung eines ESXi-Hosts verwenden, mit einer ESXi-VM verbinden. Im ersten Fall wird der mit dem Host verbundene USB-Passthrough verwendet, im zweiten Fall der mit dem Client verbundene USB-Passthrough.

Lassen Sie uns ein USB-Flash-Laufwerk, das in unseren lokalen physischen Windows 10-Rechner eingesteckt ist, mit einer Windows XP-VM, die auf einem ESXi-Host v7.0 läuft (unter Verwendung der mit dem Client verbundenen USB-Passthrough-Funktion), verbinden. VMware Workstation ist auf unserem physischen Windows-Rechner installiert und über das Netzwerk (192.168.101.0/24) mit dem ESXi-Host verbunden.

Um dies zu tun:

  1. A VM must be powered off to edit the VM settings.
  2. Stellen Sie sicher, dass ein USB-Controller in der Liste der virtuellen Hardware der VM vorhanden ist. Sie können die VM-Konfiguration im VMware Host Client überprüfen. Wählen Sie Ihre VM (Windows-VM in unserem Fall) aus, klicken Sie auf Einstellungen bearbeiten und wählen Sie den Tab Virtuelle Hardware aus.

  3. Lassen Sie uns zurück zu VMware Workstation auf unserem lokalen (physischen) Windows 10 Rechner gehen. Klicken Sie auf Datei > Mit einem Server verbinden in VMware Workstation, um eine Verbindung zu einem entfernten ESXi-Host herzustellen.

  4. Geben Sie den ESXi-Servernamen oder die IP-Adresse, den Benutzernamen und das Passwort ein. Klicken Sie auf Verbinden.

  5. Erweitern Sie den ESXi-Host im linken Bereich von VMware Workstation, wo entfernte Hosts, entfernte VMs auf diesen Hosts und lokale VMware Workstation-VMs angezeigt werden.
  6. Wählen Sie eine VM, die auf einem entfernten ESXi-Host läuft. Wir wählen Windows-VM auf 192.168.101.201. Danach können wir eine Benutzeroberfläche des Gastbetriebssystems der ausgewählten VM sehen.
  7. Klicken Sie auf VM > Wechselbare Geräte > Ihr USB-Speichergerät Name > Verbinden (Trennen vom Host).

    Beachten Sie, dass wir ein USB-Gerät auswählen, das mit unserem physischen Windows-Computer verbunden ist, auf dem VMware Workstation installiert ist. Dieses USB-Gerät ist kein Gerät, das mit einem physischen ESXi-Host verbunden ist, zu dem wir remote verbunden haben.

  8. Jetzt können wir unseren USB-Flash-Laufwerk sehen, das mit der unter Windows XP laufenden VM auf dem entfernten ESXi-Host verbunden ist: Start > CMD > compmgmt.msc > Geräte-Manager.

  9. Weisen Sie dem Partition des angeschlossenen USB-Flash-Laufwerks einen Laufwerksbuchstaben zu, wenn kein Laufwerksbuchstabe zugewiesen wurde. Kopieren Sie die benötigten Dateien zwischen der VM und dem USB-Flash-Laufwerk. Sie können Dateien zu einer VM übertragen und von einer VM übertragen.

  10. Nach dem Kopieren der Dateien können Sie das USB-Speichergerät von der VM trennen und dieses Gerät wieder mit dem lokalen physischen Windows 10-Computer verbinden, auf dem VMware Workstation ausgeführt wird. Klicken Sie in der VMware Workstation GUI auf VM > Abnehmbare Geräte > Name Ihres USB-Speichergeräts > Trennen (Mit Host verbinden).

Ein USB-Flash-Laufwerk auf ESXi verbinden

Diese Methode ist in einigen Fällen äußerst nützlich, zum Beispiel, wenn Sie einen Netzwerktreiber auf einem ESXi-Host aktualisieren müssen und das Netzwerk nicht verwenden können. Das Anschließen eines USB-Flash-Laufwerks an ESXi ist komplizierter als das Anschließen an einen Hostcomputer, auf dem VMware Workstation ausgeführt wird.

Es gibt Einschränkungen für ESXi bezüglich der unterstützten Dateisysteme, die an ESXi angeschlossen werden können. USB-Flash-Laufwerke oder USB-Festplatten mit FAT32- und NTFS-Dateisystemen werden nicht unterstützt. Aus diesem Grund müssen wir eine Partition auf unserem USB-Flash-Laufwerk erstellen und diese Partition mit VFAT formatieren (die in Windows als FAT12 erkannt wird). VFAT hat Einschränkungen wie die maximale Partitionsgröße und die maximale Dateigröße. Daher ist diese Methode nicht für große Dateien wie virtuelle Datenträger oder ISO-Images größer als 4 GB anwendbar. Diese Grenzen reichen jedoch aus, um Konfigurationsdateien, Treiber usw. zu übertragen.

Erstellen einer Partition auf einem USB-Flash-Laufwerk

Zunächst erstellen wir eine neue Partition auf unserem USB-Flash-Laufwerk und formatieren diese Partition in VFAT. Dies können wir erreichen, indem wir ein USB-Flash-Laufwerk, das in den ESXi-Server eingefügt ist, an eine VM anschließen (unter Verwendung der Funktion für USB-Durchleitung, die mit dem Host verbunden ist). Alternativ können wir ein USB-Flash-Laufwerk in eine physische Windows- oder Linux-Maschine einlegen.

In diesem Beispiel verwenden wir eine Windows 7-Maschine, um ein USB-Flash-Laufwerk für ESXi vorzubereiten. Die Befehle für Windows Server 2008R2, Windows 10 und andere neuere Windows-Versionen sind die gleichen.

  1. Um sicherzustellen, dass ein USB-Flash-Laufwerk mit Ihrem Windows-Computer verbunden ist, klicken Sie mit der rechten Maustaste auf Mein Computer oder Dieser PC (oder führen Sie diskmgmt.msc von CMD aus), um Datenträgerverwaltung zu öffnen.
  2. Öffnen Sie die Windows-Befehlszeile:

    Start > Ausführen > cmd

  3. Geben Sie diskpart in die Befehlszeile ein und drücken Sie Enter.

    Sie sehen eine diskpart-Eingabeaufforderung:

    Diskpart

  4. Listen Sie die an Ihren Windows-Rechner angeschlossenen Festplatten auf:

    list disk

    Finden Sie Ihren USB-Flash-Laufwerk in der Ausgabeliste und merken Sie sich die Festplattennummer. In unserem Fall ist Disk 1 die Nummer unseres USB-Flash-Laufwerks (siehe Screenshot unten).

  5. Wählen Sie Ihr USB-Flash-Laufwerk aus, indem Sie die entsprechende Festplattennummer angeben, die Sie aus der Ausgabe des oben genannten Befehls erhalten haben (Festplatte 1 in unserem Fall).

    select disk 1

  6. Partitionen auf dem ausgewählten USB-Flashlaufwerk auflisten:

    list partition

    Wir haben eine Partition (Partition 1) auf unserem USB-Flashlaufwerk (siehe den Screenshot unten). Eine Partition auf einem USB-Flashlaufwerk zu haben, ist der häufigste Fall.

    Als nächstes müssen wir Partitionen auf dem USB-Flashlaufwerk löschen.

    Wichtig: Alle Daten auf dem USB-Flashlaufwerk werden gelöscht. Sie können Daten vom Flashlaufwerk kopieren, falls erforderlich, bevor Sie mit den nächsten Schritten fortfahren.

  7. Wählen Sie eine Partition auf dem USB-Flashlaufwerk aus, die gelöscht werden soll:

    select partition 1

  8. Führen Sie den Befehl aus, um die ausgewählte Partition zu löschen:

    delete partition

  9. Wählen Sie erneut einen Datenträger aus, der Ihr USB-Flash-Laufwerk ist:

    select disk 1

  10. Erstellen Sie eine neue Partition mit einem VFAT-Dateisystem. In diesem Beispiel erstellen wir eine 4-GB-Partition auf unserem USB-Flash-Laufwerk. Beachten Sie, dass Sie Dateien, die größer als 4 GB sind, nicht auf VFAT speichern können. Beachten Sie, dass VFAT nur das Dateinamensformat 8.3 unterstützt.

    create partition primary size=4000 id=6

  11. Formatieren Sie die erstellte Partition auf diese Weise, um die Kompatibilität mit ESXi sicherzustellen:

    format fs=fat quick

  12. Beenden Sie das Dienstprogramm Diskpart (führen Sie den Befehl exit aus).

A USB flash drive is ready to be recognized by ESXi and copy files. After some additional ESXi configuration steps, you can attach a USB flash drive to a VM and copy the needed file(s) to the USB flash drive.

Angenommen, wir müssen ein ZIP-Archiv mit Treibern kopieren. Wir haben in unserem Beispiel die Datei net-tulip.zip auf ein USB-Flash-Laufwerk kopiert. Als nächstes müssen wir eine Partition eines USB-Flash-Laufwerks, das in einem ESXi-Server eingesteckt ist, in der ESXi-Befehlszeile einbinden.

Konfigurieren eines ESXi-Hosts zur Verwendung eines USB-Flash-Laufwerks

Wir müssen ein ZIP-Archiv mit einem Treiber von einem USB-Flash-Laufwerk auf einen ESXi-Datenspeicher kopieren und dann eine VM-Konfigurationsdatei von einem ESXi-Datenspeicher auf ein USB-Flash-Laufwerk kopieren. Der Dateiname in unserem Beispiel ist net-tulip.zip. Führen Sie auf dem ESXi-Host Folgendes aus, um Dateien auf VMware ESXi von einem USB-Flash-Laufwerk zu übertragen und umgekehrt:

  1. Die Konfiguration erfolgt in der Befehlszeilenschnittstelle. Aus diesem Grund müssen Sie den SSH-Zugriff auf einen ESXi-Host aktivieren.
    • Um den Remote-SSH-Zugriff im DCUI zu aktivieren, gehen Sie zu Fehlerbehebungsoptionen > SSH aktivieren.
    • Um den Remote-SSH-Zugriff und den SSH-Server auf ESXi im VMware Host Client zu aktivieren, gehen Sie zu Host > Verwalten und wählen Sie den Dienste-Tab aus. Klicken Sie mit der rechten Maustaste auf TSM-SSH und wählen Sie Start, um den Dienst zu starten. Sie können diesen Dienst dauerhaft aktivieren.

  2. Verbinden Sie sich über SSH mit dem ESXi-Host, um die Befehlszeile zu verwenden. Sie können Ihren bevorzugten SSH-Client verwenden.
  3. Stoppen Sie den USB-Arbitrator-Dienst:

    /etc/init.d/usbarbitrator stop

    Der USB-Arbitrator aktiviert automatisch die USB-Weiterleitungsfunktion für virtuelle Maschinen, die auf einem ESXi-Host ausgeführt werden (Sie müssen nur ein USB-Flash-Laufwerk in den VM-Einstellungen der entsprechenden VM auswählen, um diese Funktion zu verwenden).

  • Wenn Sie den USB-Arbitrator-Dienst nach dem Neustart von ESXi deaktivieren möchten (dauerhaft), können Sie den Befehl verwenden:

    chkconfig usbarbitrator off

    Um den USB-Arbitrator-Dienst zu aktivieren, verwenden Sie den entsprechenden Befehl:

    /etc/init.d/usbarbitrator start

    chkconfig usbarbitrator on

  1. Optionale Befehle zum Überprüfen der an einen ESXi-Host angeschlossenen USB-Geräte:

    lsusb

    esxcli storage core device list | grep -i usb

    esxcli storage filesystem list

    Sie können /var/log/usb.log überprüfen, um den Status eines USB-Geräts zu überprüfen.

  2. Sie müssen möglicherweise ein USB-Speichergerät nach dem Anhalten des USB-Arbitrator-Dienstes trennen und erneut anschließen.
  3. Listen Sie die Blockdisk-Geräte auf, um den angeschlossenen USB-Flashlaufwerk (oder USB-Festplatte) zu finden/zu identifizieren.

    ls -ltrh /vmfs/devices/disks/

    Unser USB-Flash-Laufwerk ist mpx.vmhba32:C0:T0:L0: (siehe Screenshot unten).

    Daher lautet die vollständige Festplattenadresse/-position:

    /dev/disks/mpx.vmhba32:C0:T0:L0:

  4. Überprüfen Sie die Partitionnummer des USB-Geräts, um sicherzustellen, dass Sie das richtige Festplattengerät identifiziert haben:

    ls /dev/disks/mpx.vmhba32:C0:T0:L0:*

    Gemäß der Ausgabe ist die vollständige Geräte-ID unter Berücksichtigung der Partitionnummer in unserem Fall:

    /dev/disks/mpx.vmhba32:C0:T0:L0:1

  5. Suchen Sie den Stammordner eines USB-Flash-Laufwerks, um den Quell-/Zielpfad zum Kopieren von Dateien festzulegen. Führen Sie den folgenden Befehl aus und drücken Sie Tab, um die verfügbaren Elemente im Verzeichnis „volumes“ anzuzeigen. Das Verzeichnis /volumes/ des ESXi-Dateisystems ist ein Verzeichnis, in das Partitionen mit Dateisystemen eingehängt werden.

    ls -al /vmfs/volumes/ [Tab drücken]

    Das Volume auf einem USB-Flash-Laufwerk heißt NO NAME

  6. Überprüfen Sie den Inhalt des Stammverzeichnisses des USB-Flash-Laufwerks

    ls -al /vmfs/volumes/NO\ NAME/

    Unser ZIP-Archiv befindet sich im Volumen des USB-Flash-Laufwerks.

  7. Wir haben das install Verzeichnis auf dem ESXi-Datenspeicher (datastore10a) mit den folgenden Befehlen erstellt:

    cd /vmfs/volumes/datastore10a

    mkdir install

    In dem untenstehenden Screenshot sehen Sie auch das Verzeichnis der virtuellen Maschine, deren Konfigurationsdatei wir später vom ESXi-Datenspeicher auf ein USB-Flash-Laufwerk kopieren werden.

  8. Kopieren Sie das ZIP-Archiv vom USB-Flash-Laufwerk in den install-Ordner auf unserem ESXi-Host (auf datastore10a).

    cp /vmfs/volumes/NO\ NAME/net-tulip.zip /vmfs/volumes/datastore10a/install/

  9. Überprüfen Sie, ob die Datei kopiert wurde:

    ls -al /vmfs/volumes/datastore10a/install/

    Die Datei wurde erfolgreich kopiert.

Ebenso können Sie Dateien in die entgegengesetzte Richtung kopieren – Dateien von ESXi auf ein USB-Flash-Laufwerk kopieren und dann die benötigte Datei von diesem USB-Flash-Laufwerk auf eine VM oder auf einen anderen Computer kopieren.

  1. Überprüfen Sie den Inhalt des VM-Ordners:

    ls -al /vmfs/volumes/datastore10a/Windows-VM/

  2. Kopieren Sie die Konfigurationsdatei Windows-VM.vmx von einem ESXi-Datenspeicher auf ein USB-Flash-Laufwerk:

    cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx /vmfs/volumes/NO\ NAME/

  3. Überprüfen Sie, ob die Datei auf den USB-Flash-Laufwerk kopiert wurde:

    ls -al /vmfs/volumes/NO\ NAME/

Nach Abschluss des Kopierens von Dateien auf dem ESXi-Host können Sie das USB-Flash-Laufwerk auswerfen und den USB-Arbitrator-Dienst auf dem ESXi-Host starten. Anschließend können Sie das USB-Flash-Laufwerk einlegen und die Funktion zur USB-Weiterleitung, die mit dem Host verbunden ist, verwenden, um das USB-Flash-Laufwerk an die virtuelle Maschine anzuhängen.

Erfahren Sie mehr über USB-Weiterleitung für ESXi und das Anschließen eines USB-Speichergeräts, das in einen ESXi-Host eingefügt ist, an eine auf dem ESXi-Host befindliche VM.

Verwenden von PowerCLI zum Übertragen von Dateien auf VMware-VMs

Eine weitere Methode zum Übertragen von Dateien von einer VM zum Host ist die Verwendung von PowerCLI-Befehlen (Cmdlets). VMware Tools müssen in einem Gastbetriebssystem innerhalb einer VM installiert sein. Diese PowerShell-Cmdlets verwenden VMware Tools, um Dateien zwischen VMs zu kopieren, die auf einem ESXi-Host befinden. Sie benötigen daher kein Netzwerk, wenn Sie Befehle innerhalb einer VM ausführen, die auf dem Quell-/Ziel-ESXi-Host befindet.

Um Dateien zwischen VMs zu kopieren, können Sie ein Copy-VMGuestFile-Cmdlet und andere Cmdlets in vSphere PowerCLI verwenden.

  1. Verbinden Sie mit einem ESXi-Host oder vCenter Server. Wir verbinden uns in diesem Beispiel mit einem ESXi-Host.

    Connect-VIServer 192.168.101.201

  • Um die Zertifikatwarnung zu vermeiden, führen Sie den Befehl aus:

    Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

Datei von Gast-VM kopieren (Lokal > ESXi-VM)

Verwenden Sie den folgenden Befehl, um eine Datei von einer lokalen Maschine (einer Maschine, auf der PowerCLI ausgeführt wird) auf eine entfernte VM auf einem ESXi-Host zu kopieren:

Copy-VMGuestFile -Source "c:\temp\test.txt" -LocalToGuest -VM Windows-VM -Destination "c:\temp-VM" -GuestUser user1 -GuestPassword Password

Wo:

c:\temp\test.txt is the source file that we want to copy from the local machine

-LocalToGuest ist die Richtung (von lokaler Maschine zu Gastbetriebssystem auf einer Ziel-VM, die auf ESXi ausgeführt wird)

-VM Windows-VM ist die Definition des Ziel-VM-Namens

c:\temp-VM is the destination folder on the destination VM (where we want to store a file copy)

Benutzer1 ist der Benutzername im Gastbetriebssystem (OS) auf der Ziel-VM. Dieser Benutzer muss Zugriff auf den definierten Zielordner haben.

Passwort ist das Passwort für diesen Benutzer.

Wir ignorieren die Warnung bezüglich der VMware Tools-Version und überprüfen, ob unsere text.txt-Datei kopiert wurde.

Wir können sehen, dass unsere test.txt-Datei mit einer Größe von 29 Byte erfolgreich auf die unter einem ESXi-Host laufende Windows-XP-VM kopiert wurde.

Kopieren von VM-Gastdateien (ESXi-VM > Lokal)

Jetzt kopieren wir eine Datei vom Gastbetriebssystem der VM in ein lokales Verzeichnis des Rechners, auf dem der Befehl ausgeführt wird:

Kopieren-VMGastdatei -Quelle "c:\temp-VM\test2.txt" -GastNachLokal -Ziel "c:\temp" -VM Windows-VM -GastBenutzer Benutzer1 -GastPasswort Passwort

Wo:

-Quelle „c:\temp-VM\test2.txt“ ist der Pfad zur Quelldatei auf der VM, die unter ESXi läuft

-GastNachLokal ist die Richtung (vom Gastbetriebssystem der ESXi-VM zum lokalen Rechner, auf dem der Befehl ausgeführt wird)

„c:\temp“ ist der Pfad zum Zielordner auf einem lokalen Rechner

Benutzer1 ist der Benutzername im Gastbetriebssystem auf der Ziel-VM. Dieser Benutzer muss Zugriff auf den definierten Zielordner haben.

Passwort ist das Passwort für diesen Benutzer im Gastbetriebssystem

Sie können Beispiele für die Verwendung des Kopieren-VMGastdatei-Cmdlets mit dem Befehl anzeigen:

get-help Kopieren-VMGastdatei -Beispiele

Mit dem Copy-DatastoreItem

cmdlet von PowerShell können Dateien von und zu einem ESXi-Datenspeicher kopiert werden. Es gibt 2 Ansätze für die Verwendung dieses cmdlets zum Kopieren von Dateien auf den VMware ESXi-Datenspeicher:

  • Wenn PowerCLI auf einem Windows-Gast innerhalb der VM installiert ist, können Sie einen Befehl ausführen, um eine Datei direkt von einem ESXi-Datenspeicher zu einer VM und umgekehrt zu kopieren.
  • Wenn Sie PowerCLI nicht auf einer virtuellen Maschine installieren können, die sich auf einem ESXi-Host befindet, können Sie PowerCLI-Befehle von Ihrem lokalen Windows-Computer ausführen, Dateien von einem ESXi-Datenspeicher auf Ihren lokalen Computer mit dem Copy-VMGuestFile-Befehl kopieren und diese Dateien dann von Ihrem lokalen Computer zu einer VM mit dem Copy-VMGuestFile kopieren.

Sie müssen mit einem ESXi-Server oder vCenter Server verbunden sein. Dies können Sie mit dem Befehl:

ViConnect <server_name_or_IP>

Wir sind direkt mit dem ESXi-Host verbunden.

Kopieren wir eine VM-Konfigurationsdatei vom Datenspeicher auf den aktuellen Windows-Computer (der Computer, auf dem wir diese Befehle ausführen – es kann auch eine VM auf einem ESXi-Host sein):

  1. Informationen zum Datenspeicher abrufen:

    Get-Datastore "datastore10a"

  2. Ein ESXi-Datenspeicherobjekt abrufen:

    $datastore = Get-Datastore "datastore10a"

  3. Erstellen Sie ein neues PowerShell-Laufwerk mit dem Namen ds:, das auf $datastore abbildet:

    New-PSDrive -Location $datastore -Name ds -PSProvider VimDatastore -Root "\"

  4. Setzen Sie Ihren Datastore als den aktuellen Speicherort:

    Set-Location ds:\

  5. Um Dateien und Verzeichnisse im ausgewählten Verzeichnis aufzulisten, verwenden Sie den Befehl:

    Get-ChildItem

  6. Sie können das VM-Verzeichnis als neuen Speicherort festlegen. In unserem Fall ist dieses Verzeichnis Windows-VM

    Set-Location "Windows-VM"

  7. Der Befehl zum Kopieren der VM-Datei, also der VM-Konfigurations-VMX-Datei, vom definierten ESXi-Datenspeicher in den temporären Ordner auf dem aktuellen Rechner lautet:

    Copy-DatastoreItem -Item ds:\Windows-VM\Windows-VM.vmx -Destination c:\temp

    Wo:

    ds:\Windows-VM\Windows-VM.vmx ist der Pfad zu einer Datei, die kopiert werden muss, und ds:\ ist die definierte Abkürzung für einen Datenspeicher (datstore10a in diesem Fall).

  • Wenn Sie mit vCenter verbunden sind (nicht mit einem bestimmten ESXi-Host, wie wir es in diesem Beispiel gemacht haben), können Sie den folgenden Befehl verwenden, um eine Datei vom ESXi-Datenspeicher in einen Ordner auf einem lokalen Rechner zu kopieren:

    Copy-DatastoreItem vmstore:\Datacenter1\datastore10a\Windows-VM\Windows-VM.vmx c:\temp\

  • Um eine Datei in die entgegengesetzte Richtung zu kopieren (indem Sie sich mit einem ESXi-Host verbinden), verwenden Sie den Befehl:

    Copy-DatastoreItem -Item c:\temp\darwin.iso -Destination ds:\install\

    Wir kopieren darwin.iso (das ist ein Bild mit VMware Tools für macOS) von einer Windows-Maschine in das Installationsverzeichnis auf einem ESXi-Datenspeicher.

  • Wenn Sie mit vCenter verbunden sind, können Sie diesen Befehl verwenden, um eine Datei von einer lokalen Windows-Maschine auf einen Datenspeicher auf einem entfernten ESXi-Host zu kopieren:

    Copy-DatastoreItem c:\temp\darwin.iso -Destination vmstore:\Datacenter1\datastore10a\install\

Sie können diese PowerCLI-Cmdlets verwenden und PowerShell-Skripte erstellen, um Dateien von VM auf Host und umgekehrt zu übertragen.

Befehle zum Kopieren von Dateien von einer VM auf einen Host in VMware Workstation

Wenn Sie VMware Workstation (einen Typ-2-Hypervisor) auf Ihrem Windows- oder Linux-Host (oder VMware Fusion auf macOS) verwenden, können Sie auch die Befehlszeilenschnittstelle verwenden, um Dateien von der VM zum Host und umgekehrt zu kopieren. Sie können das Befehlszeilentool vmrun verwenden, um mit virtuellen Maschinen zu arbeiten. Die Syntax der Befehle ist für Windows, Linux und macOS (VMware Fusion) gleich. In diesem Tutorial verwenden wir VMware Workstation 15 unter Windows 10.

  1. Gehen Sie zum VMware Workstation-Verzeichnis:

    cd "C:\Program Files (x86)\VMware\VMware Workstation\"

  2. Verwenden Sie den Befehl wie folgt, um eine Datei vom Gastbetriebssystem innerhalb der VM zum lokalen Windows-Host zu kopieren:

    CopyFileFromHostToGuest <Pfad zur vmx-Datei> <Pfad im Gast> <Pfad auf dem Host>

    In unserem Fall ist der genaue Befehl:

    vmrun copyFileFromGuestToHost d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test.txt" "c:\temp\copied\"

  3. Wo:

    d:\virtual\WinServer2019\WinServer2019.vmx ist eine virtuelle Festplatte der VM, von der wir die Datei kopieren.

    c:\temp\test.txt ist eine Datei, die auf der virtuellen Festplatte einer VM gespeichert ist; dies ist eine Datei, die wir kopieren.

    c:\temp\copied\ ist ein Verzeichnis, in dem eine Dateikopie auf einem Hostrechner gespeichert wird.

    Vergewissern Sie sich, dass Sie das Backslash \ Zeichen verwenden, wenn Sie einen Pfad festlegen. Wir haben test.txt kopiert, das eine Textdatei von einer VM zum Host ist.

    Alternativ können Sie einen Befehl ausführen, indem Sie Anmeldeinformationen im Befehl definieren:

    vmrun -T ws -gu Administrator -gp Password000 copyFileFromGuestToHost d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test.txt" "c:\temp\copied\"

Um eine Datei in umgekehrter Richtung zu kopieren (von einer Host-Maschine zu einer VM), verwenden Sie den Befehl wie folgt:

KopiereDateiVonHostNachGast <Pfad zur vmx-Datei> <Pfad auf Host> <Pfad im Gast>

Unser spezieller Befehl in diesem Beispiel lautet:

vmrun kopiereDateiVonHostNachGast d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test3.txt" "c:\temp\test3-copy.txt"

Wie man Dateien über SSH und SCP überträgt

SSH (Secure Shell) ist ein gängiges Protokoll zur sicheren Verwaltung entfernter Hosts, das auf Verschlüsselung basiert. SCP ist ein Protokoll, das auf SSH zur sicheren Kopie von Dateien über das Netzwerk angewiesen ist. Sie können SCP verwenden, um Dateien von VM zu Host zu übertragen, insbesondere wenn Linux auf der VM läuft. Ein SCP- und SSH-Server kann auf Linux-Maschinen und ESXi in wenigen Schritten aktiviert werden.

So aktivieren Sie einen SSH-Server in ESXi

Ein SSH-Serverdienst muss auf einem ESXi-Host aktiviert sein, um diese Methode zu verwenden und Dateien auf VMware ESXi und von ESXi zu übertragen.

  1. Um einen SSH-Server im VMware-Host-Client zu aktivieren, gehen Sie zu Host > Verwalten > Dienste und starten Sie den Dienst TSM-SSH.
  2. SSH muss in der ESXi-Firewall zugelassen sein, um den SCP-Verkehr für die Übertragung von Dateien von einem ESXi-Host sowie für die Verbindung zu anderen Maschinen über SCP von diesem ESXi-Host zu ermöglichen:
    • Gehen Sie zum Netzwerk im Navigator-Bereich, wählen Sie den Firewall-Regeln-Tab und wählen Sie SSH-Client aus.
    • Klicken Sie auf Aktionen > Aktivieren, um die Firewall-Regel zu aktivieren.

  3. Um die SSH-Verbindung zwischen Hosts zu überprüfen, können Sie diesen Befehl auf einem ESXi-Host ausführen:

    nc -z 192.168.101.202 22

    Wo:

    192.168.101.202 ist eine IP-Adresse eines entfernten Hosts.

    22 ist die Portnummer für die SSH-Verbindung (22 ist die Standardportnummer).

Die allgemeine Syntax des scp-Befehls zum Kopieren von Dateien über SCP über das Netzwerk:

scp [OPTION] [Benutzer]@[SRC_HOST]:Pfad_zur_Datei1 [Benutzer]@[ZIEL_HOST]:Pfad_zur_Datei2

[Benutzer]@[SRC_HOST]:Pfad_zur_Datei1 – eine Quelldatei

[Benutzer]@[ZIEL_HOST]:Pfad_zur_Datei2 – eine Zieldatei

-P gibt einen Port für die SSH-Verbindung an (verwenden Sie diesen Parameter, wenn die Portnummer nicht 22 ist).

Im Folgenden erläutern wir spezielle Beispiele in der Praxis.

Wie man eine lokale Datei über SCP auf eine entfernte Maschine kopiert

Um eine lokale Datei über SCP auf eine entfernte Maschine zu kopieren, verwenden Sie den Befehl wie folgt:

scp datei.txt remote_benutzername@remote_host_ip:/remote/verzeichnis

Von Linux

Kopieren wir die Datei LinuxDir.txt von einer lokalen Ubuntu-Linux-Maschine (die auch eine VM sein kann) zu einem ESXi-Host über das Netzwerk mit SCP. Der Zielspeicherort auf dem entfernten ESXi-Host ist das install-Verzeichnis auf dem datastore10a-Datenspeicher. Die IP-Adresse des entfernten ESXi-Hosts lautet 192.168.101.201.

Der Befehl zum Kopieren der Datei von der lokalen Linux-Maschine auf den entfernten ESXi-Host in unserem Fall lautet:

scp LinuxDir.txt [email protected]:/vmfs/volumes/datastore10a/install/

Sie können die kopierte Datei auf der Ziemaschine mit einem neuen Dateinamen speichern:

scp LinuxDir.txt [email protected]:/vmfs/volumes/datastore10a/install/LinuxDir-copy.txt

Verwenden Sie den -r-Parameter, um ein Verzeichnis mit allen enthaltenen Dateien zu kopieren:

scp -r /lokales/verzeichnis [email protected]:/remote/verzeichnis

Von ESXi

Sie können auf einem ESXi-Host scp-Befehle verwenden. Die scp-Syntax in der Befehlszeile ist für Linux und ESXi gleich. Auf der Remote-Maschine muss ein SSH-Server konfiguriert sein.

Lassen Sie uns am ESXi-Host (192.168.101.201) anmelden und das Verzeichnis install mit allen enthaltenen Dateien in das Heimatverzeichnis von user1 auf der entfernten Linux-Maschine (192.168.101.210) kopieren.

scp -r /vmfs/volumes/datastore10a/install/ [email protected]:/home/user1/

Wenn der SSH-Server auf einem anderen Port als 22 hört, verwenden Sie den -P-Parameter; zum Beispiel, wenn die SSH-Portnummer 8022 lautet, lautet der Befehl:

scp -P 8022 -r /vmfs/volumes/datastore10a/install/ [email protected]:/home/user1/

Wie man eine Datei von einer entfernten auf eine lokale Maschine über SCP kopiert

SCP ist praktisch zum Kopieren von Dateien von einer entfernten Maschine auf die lokale Maschine, was es Ihnen auch ermöglicht, Dateien von VM auf Host zu übertragen. Unten erklären wir, wie Sie die entsprechenden Befehle in Linux und ESXi ausführen.

Kopieren von Dateien auf eine lokale Linux-Maschine

Wir werden eine Datei vom entfernten ESXi-Host auf die aktuelle Linux-Maschine mithilfe von SCP kopieren. Verwenden Sie dazu den Befehl wie folgt:

scp remote_benutzername@remote_ip_adresse:/remote/datei.txt /lokales/verzeichnis

Lassen Sie uns eine darwin.iso Datei vom entfernten ESXi-Server in das definierte Heimatverzeichnis auf dem Linux-Rechner kopieren:

scp [email protected]:/vmfs/volumes/datastore10a/install/winPreVista.iso /home/user1/

Dateien auf einem lokalen ESXi-Host kopieren

Wenn wir uns auf einem ESXi-Host anmelden, können wir den Befehl ausführen, um eine VM-Datei von einem entfernten Linux-Rechner in ein Datastore auf dem lokalen ESXi-Host zu kopieren. Lassen Sie uns VM_file.txt vom Linux-Rechner in das Verzeichnis des ESXi-Datastores über das Netzwerk mit SCP kopieren:

scp [email protected]:/home/user1/VM_file.txt /vmfs/volumes/datastore10a/install/

Wie man Dateien zwischen zwei entfernten Maschinen kopiert

Es gibt SCP-Befehle, um Dateien von einer entfernten Maschine auf eine andere entfernte Maschine mit und ohne Kopieren von Daten durch die aktuelle lokale Maschine zu kopieren. Die Befehlssyntax lautet wie folgt:

scp [email protected]://directory/file.txt [email protected]://directory/

Die Daten werden direkt von einem entfernten Host auf einen anderen übertragen (ohne auf unsere aktuelle lokale Maschine kopiert zu werden) mit dem obigen Befehl. Wenn Sie den Datenverkehr über Ihre lokale Maschine leiten möchten, auf der Sie den Befehl ausführen, verwenden Sie die -3 Flagge.

Hinweis: Verwenden Sie diesen Befehl, wenn die Anmeldeinformationen auf beiden entfernten Hosts identisch sind.

Ein Beispiel für den Befehl, der auf einem lokalen Linux-Rechner ausgeführt werden soll, um eine Datei (vim.v00) von einem entfernten ESXi-Host (192.168.101.202) auf einen lokalen ESXi-Host (192.168.101.201) zu kopieren:

scp [email protected]://vmfs/volumes/BOOTBANK1/vim.v00 [email protected]://vmfs/volumes/datastore10a/install/

Wenn Sie den Fehler „Host key verification failed“ sehen, bedeutet dies, dass der Hostschlüssel nicht auf einem der Hosts gespeichert ist. Wenn der Fehler durch das Ändern des Hostschlüssels auf dem entfernten Server verursacht wird, löschen Sie den alten Hostschlüssel für den aktuellen Remote-Host, der in ~/.ssh/known_hosts gespeichert ist.

Der Befehl zum Löschen eines alten Hostschlüssels lautet:

ssh-keygen -R hostname_oder_IP-Adresse

Zum Beispiel führen Sie den Befehl auf 192.168.101.202 aus, um den alten Hostschlüssel für den Remote-Host 192.168.101.201 zu entfernen:

ssh-keygen -R 192.168.101.201

Ein Beispiel für die Verwendung von -3 im Befehl zum Kopieren von Dateien über den lokalen Rechner:

scp -3 [email protected]://vmfs/volumes/BOOTBANK1/vim.v00 [email protected]://vmfs/volumes/datastore10a/install/

Der alternative Befehl für diesen Zweck lautet:

scp -o "ForwardAgent yes" [email protected]://vmfs/volumes/BOOTBANK1/vim.v00 [email protected]://vmfs/volumes/datastore10a/install/

Wie man Dateien über SCP von Windows kopiert

Sie können auch Dateien auf virtuelle Maschinen oder ESXi-Hosts in Windows kopieren. Dafür müssen Sie einen SCP-Client wie WinSCP verwenden, der eine benutzerfreundliche und praktische grafische Benutzeroberfläche bietet. Sie können WinSCP hier kostenlos herunterladen.

  1. Führen Sie WinSCP aus.
    • Wählen Sie ein Protokoll, zum Beispiel SFTP.
    • Geben Sie einen Hostnamen und eine Portnummer eines entfernten Hosts ein, wie z. B. eines ESXi-Hosts oder einer Linux-Maschine.
    • Geben Sie einen Benutzernamen und ein Passwort für eine entfernte Maschine ein.
    • Klicken Sie auf Anmelden.

    In diesem Beispiel verbinden wir uns mit einem entfernten ESXi-Host.

  2. A notification message is displayed:

    Verbindung zu einem unbekannten Server fortsetzen und seinen Hostschlüssel dem Cache hinzufügen?

    Klicken Sie auf Ja, um fortzufahren.

  3. Nach der Verbindung sehen Sie das Fenster im Commander-Stil mit zwei Panelen. Ein Panel repräsentiert das Verzeichnis auf der lokalen Maschine und ein weiteres Panel repräsentiert das Verzeichnis auf der entfernten Maschine. Sie können Dateien zwischen dem lokalen Host und dem entfernten Host kopieren, indem Sie Dateien zwischen diesen beiden Panelen kopieren.

Sie können Dateien von einem Datenspeicher eines entfernten ESXi-Hosts, mit dem Sie über WinSCP verbunden sind, auf eine entfernte Windows-VM oder physische Maschine über einen SMB-Freigabe auf dieser Windows-Maschine kopieren.

Sie können jedoch den direkten Freigabepfad nicht in einem WinSCP-Panel eingeben (zum Beispiel \\192.168.101.117\c$). Sie können nur einen Laufwerksbuchstaben auswählen. Um diese Einschränkung zu umgehen, verbinden Sie sich mit der Dateifreigabe in Windows Explorer und ordnen Sie diese Dateifreigabe als Netzlaufwerk zu. Weisen Sie einen Laufwerksbuchstaben zu, zum Beispiel S:, wie in diesem Beispiel, um den freigegebenen Ordner auf 192.168.101.211 zu verbinden.

Jetzt können wir S: als Netzlaufwerk im Dropdown-Menü im linken Bereich von WinSCP auswählen, die benötigten Dateien oder Verzeichnisse auf dem Datenspeicher des entfernten ESXi-Servers auswählen und Dateien in beide Richtungen kopieren.

Verwendung einer NFS-Freigabe

Sie können eine NFS-Freigabe verwenden, um Dateien zwischen VMs von einem ESXi-Datenspeicher und in die andere Richtung zu übertragen. ESXi unterstützt keine SMB-Freigaben (nativ für Windows). Es unterstützt NFS-Freigaben (nativ für Linux) und das Anhängen einer NFS-Freigabe als Datenspeicher. Mit diesem Feature können Sie eine dieser Methoden verwenden, um Dateien zwischen ESXi und Linux-Maschinen zu übertragen:

Ansatz 1:

  • Konfigurieren Sie einen NFS-Server und eine NFS-Freigabe auf einer Linux-VM
  • Hängen Sie die NFS-Freigabe als Datenspeicher an ESXi an
  • Kopieren Sie Dateien von einer VM auf einen ESXi-Datenspeicher und umgekehrt

Ansatz 2:

  • Konfigurieren Sie einen NFS-Server auf einem physischen Linux-Rechner oder NAS.
  • Hänge das NFS-Share als Datenspeicher an ESXi
  • Verbinde dich mit dem NFS-Share auf einer Linux-VM
  • Kopiere Dateien von einer Linux-VM auf ein NFS-Share und dann diese Dateien auf einen ESXi-Host. Kopiere Dateien vom ESXi-Host auf das NFS-Share und kopiere diese Dateien vom NFS-Share auf die Linux-VM.

Lies den NFS vs SMB-Vergleich, um mehr über diese Dateifreigabeprotokolle zu erfahren.

Konfigurieren eines NFS-Share auf Linux

Wir verwenden Linux Ubuntu 20.04 in diesem Tutorial. Wir haben uns in Linux als regulärer Benutzer angemeldet und verwenden sudo, wenn Root-Berechtigungen benötigt werden, um den Befehl auszuführen. Führe die folgenden Schritte aus, um einen NFS-Server zu installieren und einen NFS-Share zu konfigurieren.

  1. Aktualisiere den Repository-Baum in Linux:

    sudo apt-get update

  2. Installiere das NFS-Server-Paket auf Linux:

    sudo apt-get install nfs-kernel-server -y

  3. Erstelle ein Verzeichnis (das Exportverzeichnis), das auf dem NFS-Server freigegeben wird:

    sudo mkdir -p /srv/nfs/share1/

  4. Legen Sie den Besitzer und die Berechtigungen für das erstellte Verzeichnis fest:

    sudo chown -R nobody:nogroup /srv/nfs/share1/

    sudo chmod 0777 /srv/nfs/share1/

    Der nobody ist ein Pseudobenutzer, der den Benutzer mit den geringsten Berechtigungen ohne Shell-Zugriff repräsentiert. Der Zweck der Gruppe nogroup ist ähnlich wie beim Benutzer nobody.

  5. Konfigurieren Sie die Exportsdatei, um das erstellte Verzeichnis freizugeben.

    sudo nano /etc/exports

    oder

    sudo vim /etc/exports

  6. Fügen Sie die Zeile am Ende der Konfigurationsdatei hinzu:

    /srv/nfs/share1/ CLIENT_IP(rw,sync,no_subtree_check)

    In unserem Fall lautet die Zeile mit der erlaubten IP-Adresse unseres ESXi-Hosts:

    /srv/nfs/share1/ 192.168.101.201(rw,sync,no_subtree_check)

    Sie können den Zugriff für alle Hosts des Subnetzes zulassen, indem Sie die Zeile hinzufügen:

    /srv/nfs/share1/ 192.168.101.0/24(rw,sync,no_subtree_check)

    Sie können die nächste Zeile hinzufügen, um den Zugriff für einen weiteren Host (IP-Adresse) zu ermöglichen.

    Speichern Sie die Änderungen an der Konfigurationsdatei und beenden Sie den Texteditor.

  7. Um zu überprüfen, ob die Daten in die Datei geschrieben wurden, können Sie den Befehl verwenden:

    cat /etc/exports

  8. Wenden Sie die neue Konfiguration mit dem Befehl an:

    sudo exportfs -a

  9. Stellen Sie sicher, dass die Firewall auf dem Linux-Rechner mit dem NFS-Server den Zugriff erlaubt. Sie können den Zugriff auf die bestimmte IP-Adresse mit dem Befehl wie folgt gewähren:

    sudo ufw allow from IP to any port nfs

    In unserem Fall:

    sudo ufw allow from 192.168.101.201 to any port nfs

    Um den Zugriff auf Hosts aus dem gesamten Subnetz zu erlauben:

    sudo ufw allow from SUBNET to any port nfs

    In unserem Fall wäre der Befehl:

    sudo ufw allow from 192.168.101.0/24 to any port nfs

  10. Sie können den Status der Firewall mit dem Befehl überprüfen:

    sudo ufw status

  11. Starten Sie den NFS-Server neu, um die Konfigurationsänderungen wirksam zu machen:

    sudo systemctl restart nfs-kernel-server

  12. Der NFS-Share wurde in Linux konfiguriert.
  13. Kopieren Sie eine Datei aus einem beliebigen Verzeichnis des Linux-Rechners in das über NFS freigegebene Verzeichnis. Wir kopieren VM_file.txt in unsere NFS-Freigabe und überprüfen anschließend den Inhalt des Verzeichnisses:

    cp VM_file.txt /srv/nfs/share1/

    ls -al /srv/nfs/share1/

Ein NFS-Datenspeicher in ESXi einbinden

Sie müssen den NFS-Datenspeicher in ESXi hinzufügen, nachdem Sie die NFS-Freigabe konfiguriert haben. In diesem Beispiel verwenden wir den VMware Host Client, um dies zu tun.

Gehen Sie zu Speicher > Datenspeicher und klicken Sie auf Neuer Datenspeicher.

Der Neuer Datenspeicher-Assistent ist geöffnet.

  1. Wählen Sie NFS-Datenspeicher einbinden. Klicken Sie auf Weiter, um fortzufahren.

  2. Geben Sie NFS-Montagedetails an:
    • Name: NFS-Freigabe (der Name, der als Datastore-Name angezeigt wird)
    • NFS-Server: 192.168.101.210
    • NFS-Freigabe: /srv/nfs/share1/
    • NFS-Version: NFS4<>/li

    Ein Benutzername und ein Passwort sind für NFS4 optional. Wir lassen diese beiden Felder leer.

  3. Bereit zum Abschließen. Überprüfen Sie Ihre Konfiguration und klicken Sie auf Beenden, wenn alles korrekt ist.

Kopieren von Dateien von einer VM zum Host

Der NFS-Datastore ist erfolgreich eingebunden. Sie können dies unter Speicher> Datastores überprüfen.

Jetzt können wir Dateien von der in der NFS-Freigabe gespeicherten VM auf einen lokalen ESXi-Datastore kopieren (Dateien von VM auf Host übertragen).

  1. Klicken Sie auf Datastore-Browser.

  2. Wählen Sie Ihren NFS-Datenspeicher im Datenspeicherbrowser (NFS-Freigabe in unserem Fall) aus. Durchsuchen Sie die benötigte Datei im NFS-Datenspeicher. Wählen Sie die benötigte Datei aus und klicken Sie auf Kopieren.

  3. Wählen Sie das Ziel aus. Wählen Sie den benötigten Speicherort im Ziel-Datenspeicher aus, wo Sie die kopierte Datei speichern möchten (datastore10b in unserem Fall). Klicken Sie auf Kopieren.

    Alternativ können Sie die benötigte Datei über die Befehlszeile auf dem ESXi-Server kopieren:

    cp /vmfs/volumes/NFS-share/VM_file.txt /vmfs/volumes/datastore10b/VM_file-copy.txt

Verwendung der VMware-Web-Schnittstelle zum Herunterladen/Hochladen von Dateien

Sie können eine Web-Schnittstelle von VMware Host Client oder VMware vSphere Client verwenden, um Dateien auf einen ESXi-Datenspeicher hochzuladen/herunterzuladen. Die Web-Schnittstelle ist von jedem physischen oder virtuellen Gerät aus zugänglich, auf dem ein Webbrowser installiert ist und eine Netzwerkverbindung zum ESXi-Host besteht. Sie können also diese Web-Schnittstelle direkt von einer VM aus öffnen, wenn das Gastbetriebssystem eine grafische Benutzeroberfläche hat, oder ein beliebiges lokales Gerät als Zwischengerät verwenden, um Dateien zwischen der VM und dem Host hin und her zu übertragen.

Es gibt jedoch eine alternative, aber komplexere Methode, um Dateien von VMs auf VMware ESXi zu übertragen:

  1. Laden Sie eine virtuelle Festplatte der VM auf Ihren lokalen Rechner oder ein anderes Gerät herunter.
  2. Extrahieren Sie die benötigten Dateien aus dieser VM-Virtualisierungsplatte (.vmdk und –flat.vmdk) auf Ihren lokalen Rechner. Alternativ können Sie eine virtuelle Festplatte in einem virtuellen Laufwerk einbinden, wenn VMware Workstation installiert ist.
  3. Laden Sie die extrahierten Dateien oder Dateien von der eingebundenen virtuellen Festplatte auf den Datenspeicher des ESXi-Hosts hoch, indem Sie eine der oben erklärten Methoden verwenden (über VMware Host Client, vSphere Client oder SCP-Client usw.).

Lesen Sie den detaillierten Blog-Beitrag darüber, wie man Dateien aus VMDK-Virtualisierungsplatten extrahiert.Verwendung von ISO-Dateien zur Datenübertragung auf eine VM

Verwenden von ISO-Dateien für den Datentransfer zu einer VM

Wenn die Netzwerkverbindung für eine VM nicht verfügbar ist, können Sie Dateien mit ISO-Image-Dateien an VMware-VMs übertragen:

  1. Erstellen Sie ein ISO-Image mit Software wie Ultra ISO für Windows.
  2. Schreiben Sie die benötigten Dateien in das ISO-Image auf Ihrem lokalen Rechner oder einem anderen Rechner. Sie können Dateien von ESXi mit einem der oben genannten Methoden kopieren und sie in das ISO-Image schreiben.
  3. Buchen Sie das ISO-Image auf der VM mit einer virtuellen CD/DVD-Laufwerk der VM (Sie können das ISO-Datei direkt von Ihrem lokalen Rechner oder laden Sie das ISO-Datei zu einem ESXi-Datenspeicher vor diesem). Verwenden Sie VMware Host Client, VMware vSphere Client, VMware Workstation oder VMware Remote Console, um das ISO-Datei auf die ESXi-VM zu montieren.

Diese Methode kann nicht verwendet werden, um Dateien von VM zu Host zu übertragen, weil eine VM mit einem virtuellen CD/DVD-Laufwerk in schreibgeschütztem Modus arbeitet.

Schlussfolgerung

Es gibt mehrere Methoden, um Dateien auf virtuelle Maschinen von einem Host und umgekehrt zu kopieren. Einige von ihnen erfordern eine Netzwerkverbindung und einige von ihnen funktionieren sogar, wenn das Netzwerk nicht verfügbar ist. Sie können die Methode verwenden, die für Sie in Ihrer Szenario geeignet ist und diese Methoden kombinieren. Denken Sie daran, Ihre VMs zu sichern, um Datenverlust zu vermeiden. Mit NAKIVO Backup and Replication können Sie Ihre VMs in VMware vSphere schützen und individuellen Dateien direkt aus einer VM-Sicherung wiederherstellen.

Source:
https://www.nakivo.com/blog/3-simple-ways-to-transfer-files-from-a-vm-to-a-host/