Die effektivsten Methoden zum Übertragen von Dateien von einer VM auf einen Host

Virtuelle Maschinen bieten zahlreiche Vorteile, darunter Flexibilität, eine rationelle Ressourcennutzung und den Betrieb 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 virtuellen Maschine auf einen Host übertragen und wie Sie Dateien zwischen VMs kopieren.

NAKIVO für VMware vSphere-Backups

NAKIVO für VMware vSphere-Backups

Umfassende Datensicherheit für VMware vSphere-VMs und Optionen für die sofortige Wiederherstellung. Sichere Backup-Ziele vor Ort, außerhalb des Standorts und in der Cloud. Anti-Ransomware-Funktionen.

Die Komponenten unserer Umgebung

Beginnen wir mit einem Überblick über die Fachbegriffe:

  • Ein Host ist ein physischer Rechner, auf dem ein Hypervisor installiert ist.
  • Ein Hypervisor ist eine Virtualisierungssoftware, mit der Virtuelle Maschinen auf dem Host ausgeführt werden können. Es gibt zwei Arten von Hypervisoren:
    • Typ 1: Verwendung eines ESXi-Servers, der gleichzeitig als Host-Rechner dient
    • Typ 2: Verwendung von VMware Workstation; in diesem Fall können Windows und Linux als Betriebssysteme des Host-Rechners dienen

In dieser Anleitung besteht die Umgebung, anhand derer erklärt wird, wie Dateien von der VM auf den Host übertragen werden, aus den folgenden Komponenten:

  • VMware ESXi-Host 1: 192.168.101.201
  • VMware ESXi-Host 2: 192.168.101.202
  • Ubuntu-Linux-Rechner: 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
  • Herunterladen/Dateien in einer VMware-Weboberfläche hochladen
  • ISO-Dateien

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

Freigegebene Ordner sind eine praktische Funktion in VMware Workstation, um Dateien zwischen einem physischen Windows- oder Linux-Host, auf dem VMware Workstation installiert ist, und auf VMware Workstation ausgeführten VMs zu übertragen. Für macOS ist VMware Fusion das Äquivalent zu VMware Workstation und unterstützt ähnliche Funktionen.

Sehen wir uns nun die Schritte an, um Dateien mithilfe von VMware-Freigabeordnern von der VM zum Host und umgekehrt zu übertragen.

Hinweis: Damit diese Funktion funktioniert, VMware Tools müssen auf einer VM installiert sein. Die Datenübertragung zwischen Host und VM erfolgt über VMware Tools zwischen dem Host- und dem Gastbetriebssystem, ohne dass ein Netzwerk verwendet wird.

  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 in der VMware Workstation-Benutzeroberfläche auf „ VM > Settings “ (Einstellungen der Virtuellen Maschine bearbeiten).
  3. Wählen Sie im Fenster „ Virtual Machine Settings “ die Registerkarte „ Options “ aus und klicken Sie auf „ Shared Folders“. Wählen Sie im Abschnitt „ Folder sharing “ die Option „ Always enabled “ aus. Optional können Sie einen freigegebenen Ordner in Windows-Gästen als Netzlaufwerk zuordnen, um die Bedienung zu vereinfachen. Aktivieren Sie dazu das Kontrollkästchen.
  4. Klicken Sie auf Add , um einen Ordner auszuwählen, der als freigegebener Ordner geteilt werden soll.

    VMware sharing folder – how to enable shared folders in VMware Workstation

  5. Geben Sie den Pfad zu dem Ordner ein, der auf dem Host geteilt werden soll, oder klicken Sie auf Browse und wählen Sie den gewünschten Ordner aus. Wir wählen C:tempshare-VM

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

    Klicken Sie auf Next.

    VMware file sharing – configuring shared folders in VMware Workstation

  6. Wählen Sie Enable this share. Wenn Sie möchten, dass VMs im schreibgeschützten Modus auf den freigegebenen Ordner zugreifen, aktivieren Sie das Kontrollkästchen Read-only . Klicken Sie auf Finish.

    VMware sharing folder in VMware Workstation and enabling this share

  7. Der neue freigegebene Ordner wird nun in der Liste der freigegebenen Ordner auf der Registerkarte Options des Fensters Virtual machine settings angezeigt. Ein freigegebener Ordner ist aktiviert, wenn das entsprechende Kontrollkästchen neben dem Dateinamen aktiviert ist.

    Klicken Sie auf OK , um die Einstellungen zu speichern.

    VMware sharing folder – a shared folder is created

  8. Öffnen Sie die Benutzeroberfläche der Windows-VM, die zum Teilen des Ordners mit der Funktion „ Shared folders “ verwendet wird.
  9. Klicken Sie auf „ Network “ (My Network Places) unter „ My Computer “ (This PC) oder im Windows Explorer, um die im Netzwerk verfügbaren Computer anzuzeigen.
  10. Wählen Sie „ vmware-host “ als Computernamen aus, auf dem der geteilte Ordner konfiguriert ist. Dieser Name ist standardmäßig festgelegt und wird Ihrer physischen Maschine (Host) mit dem geteilten Ordner zugeordnet.

    How to access a shared folder to copy VMware virtual machine files

  11. Klicken Sie auf „ Shared Folders “ und wählen Sie den gewünschten geteilten Ordner aus (in unserem Beispiel „share-VM “). Der vollständige Pfad zum freigegebenen Ordner lautet in unserem Fall

    vmware-hostShared Foldersshare-VM

. Sie können Dateien von einem Host auf eine Virtuelle Maschine und von einer VM auf einen Host kopieren. In unserem Beispiel haben wir mithilfe der VMware-Dateifreigabe in VMware Workstation die Datei Test01.txt von einem Windows-Host auf einen Windows-Gast kopiert.

VMware transfer files from a VMware VM using a shared folder

Für Linux-Gäste können Sie alle freigegebenen VMware-Ordner mit dem unten gezeigten Befehl einbinden:

  • Unter Linux mit einem Kernel vor Version 4.0:

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

  • Unter Linux mit Kernel 4.0 oder neuer:

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

Wenn Sie einen freigegebenen Ordner nach dem Neustart der VM behalten möchten, fügen Sie die entsprechenden Zeilen mit dem Kommentar und der Konfiguration aus /etc/fstab hinzu, zum Beispiel:

#

VMware-Freigabeordner 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 weiteren Abschnitt übergehen, beachten Sie bitte, dass die Funktion für freigegebene Ordner nur in VMware Workstation (und VMware Fusion unter macOS) verfügbar ist und nicht für VMs gilt, die auf VMware ESXi-Hosts laufen. Bei ESXi-Hosts können Sie einen Ordner manuell teilen und Dateien über das Netzwerk zwischen Windows-Rechnern 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 geteilten Ordner mit einer der unten erläuterten Methoden kombinieren.

Es gibt weitere Methoden für Einen Ordner unter Windows 10 teilen und Windows Server 2019. Außerdem können Sie mehr über das Dateifreigabe in KMU -Protokoll erfahren.

Wenn Sie über ein Windows-Konto mit Administratorrechten verfügen und eine Sicherheitsrichtlinie den Zugriff auf standardmäßig verfügbare versteckte Administratorfreigaben zulässt, können Sie auf Dateien auf lokalen Laufwerken eines Windows-Rechners zugreifen, indem Sie den Pfad zur Freigabe wie folgt verwenden:

IP-Addressc$

Dabei ist:

IP-Address die IP-Adresse oder der Hostname eines entfernten Windows-Rechners.

C$ ist der erforderliche Laufwerksbuchstabe auf einem entfernten Windows-Rechner, der eine versteckte Systemfreigabe darstellt.

Verwendung der gemeinsamen Zwischenablage zum Übertragen von Dateien von einem Host auf VMs

Die gemeinsame Zwischenablage ist eine Funktion, mit der Sie Inhalte wie Text und ganze Dateien von einer Virtuellen Maschine auf einen Host-Rechner kopieren und dort einfügen können, auf dem VMware Workstation installiert ist. Der Vorgang ähnelt dem Kopieren und Einfügen von Inhalten zwischen verschiedenen Anwendungsfenstern unter Windows oder Linux über die grafische Benutzeroberfläche.

Der volle Bereich der Funktionen ist unter VMware Workstationverfügbar, wo Sie Dateien von einem Host auf Virtuelle Maschinen und von einer VM auf einen Host übertragen können. Alternativ zum Kopieren und Einfügen können Sie Dateien per Drag & Drop verschieben.

Gemeinsame Zwischenablage in VMware Workstation

Sehen wir uns an, wie Sie Dateien mithilfe einer gemeinsamen Zwischenablage 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 Edit virtual machine settings (VM > Settings).

    Opening virtual machine settings

  3. Wählen Sie die Registerkarte Options und klicken Sie auf Guest Isolation.

    Aktivieren Sie zwei Kontrollkästchen:

    • Enable drag and drop
    • Enable copy and paste

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

    Enabling shared clipboard and drag & drop to transfer files to VMware VMs

Gemeinsame Zwischenablage in VMware ESXi

Bei VMs, die auf VMware ESXi laufen, können Sie keine Dateien per Drag & Drop oder über die gemeinsame Zwischenablage zwischen einer VM auf einem VMware ESXi-Host und einem anderen Rechner kopieren. Die einzige Option besteht darin, Text zwischen einer auf ESXi laufenden VM und Ihrem lokalen Rechner (auf dem VMware Workstation oder VMware-Fernkonsole installiert ist) zu kopieren und einzufügen. Es gibt keinen Support für das Kopieren und Einfügen sowie Drag & Drop für Dateien aus Sicherheitsgründen. Sollten Sie beispielsweise eine Konfigurationsdatei nicht kopieren können, können Sie den Textinhalt der Datei über eine gemeinsame Zwischenablage kopieren. Standardmäßig ist die gemeinsame Zwischenablage in der ESXi-VM-Konfiguration deaktiviert. Führen Sie auf einem ESXi-Host die folgenden Schritte aus, um die gemeinsame Zwischenablage für das Kopieren und Einfügen von Textdaten zu aktivieren:

  1. Die VM muss beim Bearbeiten der VM-Konfiguration ausgeschaltet sein. Fahren Sie die VM herunter, falls sie gerade läuft.
  2. Öffnen Sie VM settings. Sie können dazu den VMware Host Client oder den VMware vSphere Client verwenden. Wählen Sie eine VM aus, klicken Sie auf Edit VM settings und wählen Sie die Registerkarte VM options .

    Erweitern Sie den Abschnitt Advanced Settings und klicken Sie auf Edit Configuration.

    Advanced VM configuration to enable shared clipboard in ESXi

  3. Sie müssen drei Konfigurationsparameter zur VM-Konfiguration hinzufügen (die in die VMX-Konfigurationsdatei der VM geschrieben werden). Klicken Sie auf „ Add parameter“.

    Enabling shared clipboard for a VM on VMware ESXi

  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.

    Configuration parameters to enable shared clipboard are added

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

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

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

    Locating a VMX configuration file of the VM to enable a shared clipboard

  3. Bearbeiten Sie die VMX-Konfigurationsdatei. In unserem Fall lautet der Dateiname Windows-VM.vmx

    vi Windows-VM.vmx

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

    Adding configuration parameters to a VMX file to enable shared clipboard for a VM on an ESXi host

Nun können wir Text zwischen unserem lokalen Rechner und einer auf einem VMware ESXi-Host ausgeführten Remote-VM kopieren und einfügen, indem wir die 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-Passthrough-Funktion, mit der Sie ein USB-Gerät an einen Host-Rechner anschließen und dieses USB-Gerät mit einer auf diesem Host ausgeführten Virtuellen Maschine verbinden können. Sie können ein USB-Speichergerät nacheinander an einen Host-Rechner und eine Virtuelle Maschine verbinden, um Dateien in beide Richtungen zwischen diesen Rechnern zu kopieren.

Hinweis: Um die USB-Passthrough-Funktion nutzen zu können, müssen VMware Tools auf dem Gastbetriebssystem der Virtuellen Maschine installiert sein.

Kopieren von Dateien zwischen VMware Workstation-VMs und dem Host

Gehen Sie wie folgt vor, um Dateien von einer VM auf den Host zu übertragen, wenn VMware Workstation auf Windows- oder Linux-Hosts installiert ist (die Benutzeroberfläche ist einheitlich):

  1. Schalten Sie die Virtuelle Maschine ein.
  2. Schließen Sie ein USB-Speichergerät, z. B. eine USB-Festplatte (HDD) oder einen USB-Stick, an einen physischen Computer an, der als Host-Rechner dient.
  3. Das New USB Device Detected Fenster wird in VMware Workstation geöffnet. Wählen Sie aus, wo Sie Ihr USB-Gerät verbinden möchten:
    • Mit dem Host verbinden
    • Mit einer Virtuellen Maschine verbinden

    Wählen wir die zweite Option und verbinden wir unseren USB-Stick mit der Virtuellen Maschine. In diesem Beispiel läuft eine Windows-VM. Wenn auf VMware Workstation mehrere Virtuelle Maschinen laufen, müssen Sie die gewünschte Maschine aus der Liste auswählen. Ein USB-Gerät kann jeweils nur an eine Maschine angeschlossen werden. Klicken Sie auf „ OK “, um fortzufahren.

    How to transfer files to virtual machines by using a USB storage device

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

    Gehen Sie zu VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from host).

    In unserem Beispiel lautet der Name des USB-Sticks „Kingston DataTraveler 2.0“.

    Connecting a USB flash drive to a VM to copy files between a host and VM

  4. Nun sehen wir den an die Windows 7-VM angeschlossenen USB-Stick in der Liste der Festplatten unter „Arbeitsplatz“ (Windows Explorer). So überprüfen Sie das USB-Speichergerät:
    • Klicken Sie mit der rechten Maustaste auf My Computer und wählen Sie Manage.
    • Wechseln Sie nach dem Rechtsklick im entsprechenden Snap-In zu Computer Management > Device Manager and Computer Management > Disk Management .

    Falls kein Laufwerksbuchstabe automatisch zugewiesen wurde, weisen Sie den Buchstaben manuell im Snap-In Disk Management zu.

    Der Ablauf für Linux-Gäste ist identisch. Bei einigen Linux-Distributionen müssen Sie ein verbundenes USB-Speichergerät wie einen USB-Stick möglicherweise manuell im Linux-Betriebssystem einbinden.

  5. Sobald das USB-Speichergerät an die VM angeschlossen und vom Gastbetriebssystem erkannt wurde, kopieren Sie die benötigten Dateien von der VM auf das USB-Speichergerät. Das Kopieren von Dateien vom USB-Speichergerät auf eine VM funktioniert nun ebenfalls.

    A USB flash drive is connected to a VM

  6. Nach dem Kopieren aller benötigten Dateien von der VM auf den USB-Stick, trennen Sie den USB-Stick von der VM und verbinden Sie dieses Gerät mit dem Host:

    Klicken Sie auf VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host).

    How to transfer files from VM to host – disconnecting a USB flash drive from a VM

  7. Ein USB-Speichergerät ist nun an einen Host-Rechner verbunden (in unserem Fall ein Windows-Rechner, auf dem VMware Workstation läuft). Wir können die Dateien, die von der VM auf den USB-Stick kopiert wurden, auf Ihren Host-Rechner übertragen.

USB-Passthrough von VMware Workstation zu ESXi-VMs

Sie können einen USB-Stick, der in einen ESXi-Server eingesteckt ist, auch in Ihren lokalen Windows- oder Linux-Rechner (auf dem VMware Workstation oder die VMware Remote Console (VMRC) installiert ist) einstecken, den Sie zum Verwalten eines VMware ESXi-Hosts verwenden, um diesen USB-Stick mit einer ESXi-VM zu verbinden. Im ersten Verwendungsfall wird der hostgebundene USB-Passthrough verwendet, im zweiten Verwendungsfall der clientgebundene USB-Passthrough.

Verbinden wir nun einen USB-Stick, der 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 clientgebundenen USB-Passthrough-Funktion). VMware Workstation ist auf unserem physischen Windows-Rechner installiert und über das Netzwerk (192.168.101.0/24) mit dem VMware ESXi-Host verbunden.

Dazu gehen Sie wie folgt vor:

  1. Eine Virtuelle Maschine muss ausgeschaltet sein, um die VM-Einstellungen bearbeiten zu können.
  2. Stellen Sie sicher, dass ein USB controller in der Liste der virtuellen Hardware der Virtuellen Maschine vorhanden ist. Sie können die VM-Konfiguration im VMware Host Client überprüfen. Wählen Sie Ihre VM aus (in unserem Fall „Windows-VM “), klicken Sie auf „ Edit Settings “ und wählen Sie die Registerkarte „ Virtual Hardware “.

    A USB controller must be present on a VM to transfer files to virtual machine with a USB flash drive

  3. Kehren wir nun zu VMware Workstation zurück, das auf unserem lokalen (physischen) Windows 10-Rechner installiert ist. Klicken Sie in VMware Workstation auf „ File > Connect to a server “, um eine Verbindung zu einem entfernten ESXi-Host herzustellen.

    Connecting to a remote ESXi server

  4. Geben Sie den Namen oder die IP-Adresse des ESXi-Servers sowie Benutzername und Passwort ein. Klicken Sie auf Connect.

    Connecting to a remote ESXi host – entering credentials

  5. Erweitern Sie den VMware ESXi-Host im linken Bereich von VMware Workstation, in dem Remote-Hosts, Remote-VMs auf diesen Hosts und lokale VMware Workstation-VMs angezeigt werden.
  6. Wählen Sie eine VM aus, die auf einem Remote-ESXi-Host ausgeführt wird. Wir wählen Windows-VM aus, die auf 192.168.101.201 ausgeführt wird. Danach sehen wir die Benutzeroberfläche des Gastbetriebssystems der ausgewählten VM.
  7. Klicken Sie auf VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from Host).

    Beachten Sie, dass wir ein USB-Gerät auswählen, das an unseren physischen Windows-Rechner verbunden ist, auf dem VMware Workstation installiert ist. Bei diesem USB-Gerät handelt es sich nicht um ein Gerät, das an einen physischen ESXi-Host verbunden ist, mit dem wir eine Fernverbindung hergestellt haben.

    Connecting a USB flash drive to a VM running on an ESXi host using client-connected USB passthrough

  8. Nun können wir unseren USB-Stick sehen, der an die auf dem entfernten ESXi-Host ausgeführte Windows XP-VM verbunden ist: Start > CMD > compmgmt.msc > Device Manager.

    A USB flash drive is connected to a VM running on an ESXi host and is ready to copy files

  9. Weisen Sie der Partition des verbundenen USB-Sticks einen Laufwerksbuchstaben zu, falls noch keiner zugewiesen wurde. Kopieren Sie die benötigten Dateien zwischen der VM und dem USB-Stick. Sie können Dateien sowohl auf eine VM als auch von einer VM übertragen.

    Using a USB flash drive to transfer files from VM to host

  10. Nach dem Kopieren der Dateien können Sie das USB-Speichergerät von der VM trennen und dieses Gerät wieder an den lokalen physischen Windows-10-Rechner anschließen, auf dem VMware Workstation ausgeführt wird. Klicken Sie in der VMware Workstation-Benutzeroberfläche auf „ VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host)“.

Verbinden eines USB-Sticks unter ESXi-Host

Diese Methode ist in manchen Fällen äußerst nützlich, beispielsweise wenn Sie einen Netzwerktreiber auf einem ESXi-Host aktualisieren müssen und das Netzwerk nicht nutzen können. Das Verbinden eines USB-Sticks mit ESXi ist komplizierter als das Verbinden mit einem VMware ESXi-Host, auf dem VMware Workstation läuft.

Bei ESXi gibt es Einschränkungen hinsichtlich der unterstützten Dateisysteme, die unter ESXi eingebunden werden können. USB-Sticks oder USB-Festplatten mit den Dateisystemen FAT32 und NTFS werden nicht unterstützt. Aus diesem Grund müssen wir auf unserem USB-Stick eine Partition erstellen und diese Partition mit VFAT formatieren (das unter Windows als FAT12 erkannt wird). VFAT weist Einschränkungen auf, wie beispielsweise die maximale Partitionsgröße und die maximale Größe der Dateien. Daher eignet sich diese Methode nicht für große Dateien wie virtuelle Festplatten oder ISO-Images, die größer als 4 GB sind. Für die Übertragung von Konfigurationsdateien, Treibern usw. reichen diese Grenzen jedoch aus.

Erstellen einer Partition auf einem USB-Stick

Zunächst erstellen wir eine neue Partition auf unserem USB-Stick und formatieren diese Partition mit VFAT. Dies können wir tun, indem wir einen in den ESXi-Server eingesteckten USB-Stick an eine VM anschließen (mithilfe der Funktion „Host-Connected USB Passthrough“). Alternativ können wir einen USB-Stick in einen physischen Windows- oder Linux-Rechner einstecken.

In diesem Beispiel verwenden wir einen Windows 7-Rechner, um einen USB-Stick für ESXi vorzubereiten. Die Befehle für Windows Server 2008 R2, Windows 10 und andere neuere Windows-Versionen sind identisch.

  1. Um sicherzustellen, dass ein USB-Stick an Ihren Windows-Rechner verbunden ist, klicken Sie mit der rechten Maustaste auf „ My Computer “ oder „ This PC “ (oder führen Sie „ diskmgmt.msc “ über die Eingabeaufforderung aus), um „ Disk Management“ zu öffnen.
  2. Öffnen Sie die Windows-Eingabeaufforderung:

    Start > Run > cmd

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

    Es erscheint eine Diskpart-Eingabeaufforderung:

    Diskpart

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

    list disk

    Suchen Sie Ihren USB-Stick in der Ausgabeliste und merken Sie sich die Laufwerksnummer. In unserem Fall lautet Disk 1 die Nummer unseres USB-Sticks (siehe Screenshot unten).

  5. Wählen Sie Ihren USB-Stick aus, indem Sie die entsprechende Laufwerksnummer angeben, die Sie von der Ausgabe des obigen Befehls erhalten haben (in unserem Falldisk 1 ).

    select disk 1

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

    list partition

    Wir haben eine Partition (Partition 1) auf unserem USB-Stick (siehe Screenshot unten). Eine einzige Partition auf einem USB-Stick ist der häufigste Fall.

    Listing disks to identify a USB flash drive that can be used to copy files from a VM to an ESXi host

    Weiter müssen wir Partitionen auf dem USB-Stick löschen.

    Wichtig: Alle Daten auf dem USB-Stick werden gelöscht. Bei Bedarf können Sie Daten vom USB-Stick kopieren, bevor Sie mit den weiteren Schritten fortfahren.

  7. Wählen Sie eine Partition auf dem USB-Stick 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 die Festplatte aus, bei der es sich um Ihren USB-Stick handelt:

    select disk 1

    Selecting the first partition on a USB flash drive in Diskpart

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

    create partition primary size=4000 id=6

  11. Formatieren Sie die erstellte Partition wie folgt, um die Kompatibilität mit ESXi zu gewährleisten:

    format fs=fat quick

    Formatting a partition in VFAT transfer files from VM to host (ESXi)

  12. Beenden Sie das „diskpart“-Dienstprogramm (führen Sie den Befehl „ exit “ aus).

Der USB-Stick ist nun bereit, von ESXi erkannt zu werden, und Sie können Dateien darauf kopieren. Nach einigen weiteren Konfigurationsschritten in ESXi können Sie den USB-Stick an eine virtuelle Maschine (VM) anschließen und die benötigten Dateien auf den USB-Stick kopieren.

Nehmen wir an, wir müssen ein ZIP-Archiv mit Treibern kopieren. In unserem Beispiel haben wir die Datei „net-tulip.zip“ auf einen USB-Stick kopiert. Weiter müssen wir eine Partition eines in einen ESXi-Server eingesteckten USB-Sticks über die ESXi-Befehlszeile einbinden.

Konfiguration eines ESXi-Hosts für die Verwendung eines USB-Sticks

Angenommen, wir müssen ein ZIP-Archiv mit einem Treiber von einem USB-Stick in einen ESXi-Datenspeicher kopieren und anschließend eine VM-Konfigurationsdatei aus einem ESXi-Datenspeicher auf einen USB-Stick kopieren. Die Dateinamen lauten in unserem Beispiel net-tulip.zip . Führen Sie auf dem VMware ESXi-Host die folgenden Schritte aus, um Dateien von einem USB-Stick auf VMware ESXi und umgekehrt zu übertragen:

  1. Die Konfiguration erfolgt im Befehlszeilenschnittstelle. Als Grund müssen Sie den SSH-Zugriff auf einem ESXi-Hostaktivieren.
    • Um den Remote-SSH-Zugriff in der DCUI zu aktivieren, rufen Sie Troubleshooting options > Enable SSHauf.
    • Um den Remote-SSH-Zugriff und den SSH-Server auf ESXi im VMware Host Client zu aktivieren, rufen Sie Host > Manage auf und wählen Sie die Registerkarte Services 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.

    Starting the SSH server service on an ESXi host to allow remote management in the command line

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

    /etc/init.d/usbarbitrator stop

    Der USB-Arbitrator aktiviert automatisch die USB-Passthrough-Funktion für Virtuelle Maschinen, die sich auf einem ESXi-Host befinden (Sie müssen lediglich in den VM-Einstellungen der entsprechenden VM einen USB-Stick auswählen, um diese Funktion zu nutzen).

  • Wenn Sie den USB-Arbitrator-Dienst nach einem Neustart von ESXi (dauerhaft) deaktivieren möchten, können Sie den folgenden 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 zur Überprüfung der an einen ESXi-Host angeschlossenen USB-Geräte:

    lsusb

    esxcli storage core device list | grep -i usb

    esxcli storage filesystem list

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

  2. Möglicherweise müssen Sie ein USB-Speichergerät nach dem Beenden des USB-Arbitrator-Dienstes trennen und erneut verbinden.
  3. Listen Sie die Block-Festplattengeräte auf, um den verbundenen USB-Stick (oder die USB-Festplatte) zu finden bzw. zu identifizieren.

    ls -ltrh /vmfs/devices/disks/

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

    Die vollständige Festplattenadresse bzw. der Standort lautet somit:

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

    Viewing disk devices connected to an ESXi host to identify a USB flash drive

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

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

    Der Ausgabe zufolge lautet die vollständige Geräte-ID unter Berücksichtigung der Partitionsnummer in unserem Fall:

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

  5. Suchen Sie den Stammordner eines USB-Sticks, um den Pfad für die Quelle und das Ziel zum Kopieren der 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 dem Partitionen mit Dateisystemen eingehängt werden.

    ls -al /vmfs/volumes/ [press Tab]

    Das Volume auf einem USB-Stick heißt NO NAME

    A USB flash drive connected to an ESXi host has the NO NAME volume label

  6. Überprüfen Sie den Inhalt des Stammverzeichnisses des USB-Sticks:

    ls -al /vmfs/volumes/NO NAME/

    Unser ZIP-Archiv befindet sich auf dem Volume des USB-Sticks.

    How to transfer files from VM to host using a USB flash drive connected to ESXi

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

    cd /vmfs/volumes/datastore10a

    mkdir install

    Im folgenden Screenshot sehen Sie auch das Verzeichnis der VM, deren Konfigurationsdatei wir später vom ESXi-Datenspeicher auf einen USB-Stick kopieren werden.

    Selecting a VM file that can be copied to a USB flash drive from an ESXi datastore

  8. Kopieren Sie das ZIP-Archiv vom USB-Stick in den Ordner „ “ unter „install“ „ “ auf unserem ESXi-Host (unter „ 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.

    How to copy file from VM to host in the ESXi command line interface

Auf ähnliche Weise können Sie Dateien auch in die entgegengesetzte Richtung kopieren – kopieren Sie Dateien von ESXi auf einen USB-Stick und kopieren Sie dann die benötigte Datei von diesem USB-Stick in eine VM oder auf einen anderen Rechner.

  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 einen USB-Stick:

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

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

    ls -al /vmfs/volumes/NO NAME/

    Copying a VM file from an ESXi host to a USB flash drive

Nach dem Fertigstellen des Kopierens der Dateien auf dem ESXi-Host können Sie den USB-Stick auswerfen und den USB-Arbitrator-Dienst auf dem ESXi-Host starten. Anschließend können Sie den USB-Stick einstecken und die Funktion „Host-Connected USB Passthrough“ nutzen, um den USB-Stick an die virtuelle Maschine anzuschließen.

Erfahren Sie mehr über USB-Passthrough für ESXi und das Verbinden eines in einen VMware ESXi-Host eingesteckten Speichergeräts mit einer auf dem VMware ESXi-Host befindlichen Virtuellen Maschine.

Übertragen von Dateien auf VMware-VMs mit PowerCLI

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

Um Dateien zwischen VMs zu kopieren, können Sie das Cmdlet „ Copy-VMGuestFile “ sowie andere Cmdlets in VMware vSphere PowerCLI verwenden.

  1. Verbinden Sie sich mit einem ESXi-Host oder vCenter Server. In diesem Beispiel verbinden wir uns mit einem ESXi-Host.

    Connect-VIServer 192.168.101.201

    Connecting to an ESXi host in VMware PowerCLI

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

    Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

    How to disable a certificate warning in VMware vSphere PowerCLI

Copy-VMGuestFile (Lokale > ESXi-VM)

Verwenden Sie den folgenden Befehl, um eine Datei von einem lokalen Rechner (einem Rechner, auf dem PowerCLI ausgeführt wird) auf eine Remote-VM auf einem ESXi-Host zu kopieren:

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

Dabei ist:

c:temptest.txt die Quelle, die wir vom lokalen Rechner kopieren möchten

-LocalToGuest die Richtung (vom lokalen Rechner zum Gastbetriebssystem auf einer Ziel-VM, die auf ESXi läuft)

-VM Windows-VM die Angabe des VM-Namens

c:temp-VM der Zielordner auf der Ziel-VM (in dem wir die Dateikopie speichern möchten)

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

Password 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.

How to copy file to virtual machine in PowerCLI

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

A file has been copied to a VMware VM

Copy-VMGuestFile (ESXi-VM > Lokal)

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

Copy-VMGuestFile -Source "c:temp-VMtest2.txt" -GuestToLocal -Destination "c:temp" -VM Windows-VM -GuestUser user1 -GuestPassword Password

Dabei gilt:

-Source "c:temp-VMtest2.txt" ist der Pfad zur Quelldatei auf der unter ESXi laufenden VM

-GuestToLocal 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 dem lokalen Rechner

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

Password ist das Passwort für diesen Benutzer im Gastbetriebssystem

How to copy a file from a virtual machine in PowerCLI

Beispiele für die Verwendung des Cmdlets Copy-VMGuestFile finden Sie unter:

get-help Copy-VMGuestFile -examples

Verwendung von Copy-DatastoreItem

Das PowerShell-Cmdlet Copy-DatastoreItem dient zum Kopieren von Dateien in einen bzw. aus einem ESXi-Datenspeicher. Es gibt zwei Möglichkeiten, dieses Cmdlet zum Kopieren von Dateien in einen VMware ESXi-Datenspeicher zu verwenden:

  • 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 in eine 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-Rechner aus ausführen, Dateien mit dem Befehl „ Copy-VMGuestFile “ von einem ESXi-Datenspeicher auf Ihren lokalen Rechner kopieren und diese Dateien anschließend mit dem Befehl „ Copy-VMGuestFile“ von Ihrem lokalen Rechner auf eine VM kopieren.

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

ViConnect <server_name_or_IP>

Wir sind direkt mit dem ESXi-Host verbunden.

Kopieren wir nun eine VM-Konfigurationsdatei aus dem Datenspeicher auf den aktuellen Windows-Rechner (den Rechner, auf dem wir diese Befehle ausführen – dies kann auch eine VM auf einem ESXi-Host sein):

  1. Rufen Sie die Informationen zum Datenspeicher ab:

    Get-Datastore "datastore10a"

  2. Rufen Sie ein ESXi-Datenspeicherobjekt ab:

    $datastore = Get-Datastore "datastore10a"

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

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

  4. Legen Sie Ihren Datenspeicher als aktuellen Standort fest:

    Set-Location ds:

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

    Get-ChildItem

    Preparing to copy files from an ESXi host

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

    Set-Location "Windows-VM"

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

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

    Dabei ist:

    ds:Windows-VMWindows-VM.vmx der Pfad zu einer Datei, die kopiert werden soll, und ds: die definierte Verknüpfung zu einem Datenspeicher (in diesem Falldatstore10a ).

    Copying a file from an ESXi datastore in PowerCLI

  • Wenn Sie eine Verbindung zu vCenter hergestellt haben (und nicht zu einem bestimmten ESXi-Host, wie in diesem Beispiel), können Sie den folgenden Befehl verwenden, um einen Datenspeicher im vCenter-Rechenzentrum anzugeben und eine Datei vom ESXi-Datenspeicher in einen Ordner auf einem lokalen Rechner zu kopieren:

    Copy-DatastoreItem vmstore:Datacenter1datastore10aWindows-VMWindows-VM.vmx c:temp

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

    Copy-DatastoreItem -Item c:tempdarwin.iso -Destination ds:install

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

    Copy file to VMware ESXi datastore in PowerCLI

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

    Copy-DatastoreItem c:tempdarwin.iso -Destination vmstore:Datacenter1datastore10ainstall

Sie können diese PowerCLI-Cmdlets verwenden und PowerShell-Skripte erstellen, um Dateien von der VM auf den 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 unter macOS) verwenden, können Sie ebenfalls die Befehlszeilenschnittstelle nutzen, um Dateien von der VM auf den 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) identisch. In diesem Tutorial verwenden wir VMware Workstation 15 unter Windows 10.

  1. Wechseln Sie in das Verzeichnis von VMware Workstation:

    cd "C:Program Files (x86)VMwareVMware Workstation"

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

    CopyFileFromHostToGuest <Path to vmx file> <Path in guest> <Path on host>

    In unserem Fall lautet der genaue Befehl:

    vmrun copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied"

  3. Geben Sie einen Benutzername und das Passwort für diesen Benutzer ein, wenn Sie dazu aufgefordert werden (der Benutzer muss über ausreichende Berechtigungen verfügen, um auf die angegebene Datei zugreifen zu können).

    Dabei ist:

    d:virtualWinServer2019WinServer2019.vmx eine virtuelle Festplatte der Virtuellen Maschine, von der wir die Datei kopieren.

    c:temptest.txt eine auf der virtuellen Festplatte einer Virtuellen Maschine gespeicherte Datei; dies ist die Datei, die wir kopieren.

    c:tempcopied ein Verzeichnis, in dem die Kopie der Datei auf dem Host-Rechner gespeichert werden soll.

    Achten Sie darauf, bei der Angabe eines Pfads das Backslash-Zeichen zu verwenden. Wir haben test.txt – eine Textdatei – von einer VM auf den Host kopiert.

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

    vmrun -T ws -gu Administrator -gp Password000 copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied"

    How to transfer files from VM to host by using the vmrun command

Um eine Datei in umgekehrter Richtung (vom Host-Rechner auf eine VM) zu kopieren, verwenden Sie den folgenden Befehl:

CopyFileFromHostToGuest <Path to vmx file> <Path on host> <Path in guest>

Unser konkreter Befehl in diesem Beispiel lautet:

vmrun copyFileFromHostToGuest d:virtualWinServer2019WinServer2019.vmx "c:temptest3.txt" "c:temptest3-copy.txt"

How to copy files to virtual machine by using vmrun

So übertragen Sie Dateien mit SSH und SCP

SSH (Secure Shell) ist ein gängiges Protokoll zum sicheren Management von Remote-Hosts, das auf Verschlüsselung basiert. SCP ist ein Protokoll, das auf SSH basiert und das sichere Kopieren von Dateien über das Netzwerk ermöglicht. Sie können SCP verwenden, um Dateien von einer VM auf einen Host zu übertragen, insbesondere wenn auf der VM Linux läuft. Ein SCP- und SSH-Server lässt sich auf Linux-Rechnern und unter ESXi in wenigen Schritten aktivieren.

So aktivieren Sie einen SSH-Server unter ESXi

Um diese Methode nutzen und Dateien zu VMware ESXi-Hosts sowie von ESXi übertragen zu können, muss auf einem ESXi-Host der SSH-Serverdienst aktiviert sein.

  1. Um einen SSH-Server im VMware Host Client zu aktivieren, rufen Sie Host > Manage > Services auf und starten Sie den Dienst TSM-SSH .
  2. SSH muss in der ESXi-Firewall zugelassen sein, um SCP-Datenverkehr für die Übertragung von Dateien von einem ESXi-Host sowie das Verbinden mit anderen Rechnern über SCP von diesem ESXi-Host aus zu ermöglichen:
    • Rufen Sie Networking im Bereich Navigator auf, wählen Sie die Registerkarte Firewall rules und dann SSH Client.
    • Klicken Sie auf Actions > Enable , um die Firewall-Regel zu aktivieren.

    Enabling SSH access in the ESXi firewall

  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

    Dabei ist:

    192.168.101.202 die IP-Adresse eines Remote-Hosts.

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

Die allgemeine Syntax des Befehls „ scp “ zum Kopieren von Dateien über SCP im Netzwerk lautet:

scp [OPTION] [user]@[SRC_HOST]:path_to_file1 [user]@[DEST_HOST]:path_to_file2

[user]@[SRC_HOST]:path_to_file1 – eine Quelle

[user]@[DEST_HOST]:path_to_file2 – eine Zieldatei

-P gibt eine Portnummer für die SSH-Verbindung an (verwenden Sie dieses Flag, wenn die Portnummer nicht 22 ist).

Im Folgenden erläutern wir die einzelnen Beispiele in der Praxis.

So kopieren Sie eine lokale Datei über SCP auf einen Remote-Rechner

Um eine lokale Datei über SCP auf einen Remote-Rechner zu kopieren, verwenden Sie einen Befehl wie:

scp file.txt remote_username@remote_host_ip:/remote/directory

Unter Linux

Kopieren wir die Datei LinuxDir.txt von einem lokalen Ubuntu-Linux-Rechner (der auch eine VM sein kann) über das Netzwerk mithilfe von SCP auf einen ESXi-Host. Der Ziel-Standort auf dem entfernten ESXi-Host ist das Verzeichnis „ install “ im Datenspeicher „ datastore10a “. Die IP-Adresse des entfernten ESXi-Hosts lautet „ “ 192.168.101.201 .

Der Befehl zum Kopieren der Datei vom lokalen Linux-Rechner auf den entfernten ESXi-Host lautet in unserem Verwendungsfall:

scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/

How to copy a file to a remote ESXi host via SCP

Sie können die kopierte Datei auf dem Zielrechner unter einem neuen Dateinamen speichern:

scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/LinuxDir-copy.txt

Verwenden Sie das Flag -r , um ein Verzeichnis mit allen darin enthaltenen Dateien zu kopieren:

scp -r /local/directory remote_username@192.168.101.201:/remote/directory

Von ESXi aus

Sie können scp Befehle auf einem ESXi-Host verwenden. Die Syntax scp in der Befehlszeile ist für Linux und ESXi identisch. Auf dem entfernten Rechner muss ein SSH-Server konfiguriert sein. Melden wir uns beim ESXi-Host an ( 192.168.101.201 ) und kopieren das Verzeichnis install mit allen darin enthaltenen Dateien in das Home-Verzeichnis von user1 auf dem entfernten Linux-Rechner ( 192.168.101.210 ).

scp -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/

How to copy a file from an ESXi host to a remote machine via SCP

Falls der SSH-Server auf einem anderen Port als 22 lauscht, verwenden Sie den Parameter -P ; wenn die SSH-Portnummer beispielsweise 8022lautet, lautet der Befehl:

scp -P 8022 -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/

So kopieren Sie eine Datei über SCP von einem Remote-Rechner auf einen lokalen Rechner

SCP eignet sich gut zum Kopieren von Dateien von einem Remote-Rechner auf den lokalen Rechner, wodurch Sie auch Dateien von einer VM auf den Host übertragen können. Im Folgenden erklären wir, wie Sie die entsprechenden Befehle unter Linux und ESXi ausführen.

Dateien auf einen lokalen Linux-Rechner kopieren

Wir werden eine Datei mithilfe von SCP vom entfernten ESXi-Host auf den aktuellen Linux-Rechner kopieren. Verwenden Sie dazu einen Befehl wie diesen:

scp remote_username@remote_ip_address:/remote/file.txt /local/directory

Kopieren wir eine darwin.iso Datei vom entfernten ESXi-Server in das angegebene Home-Verzeichnis auf dem Linux-Rechner:

scp root@192.168.101.201:/vmfs/volumes/datastore10a/install/winPreVista.iso /home/user1/

How to copy a file from a remote ESXi datastore to the current Linux machine via SCP

Kopieren von Dateien auf einen lokalen ESXi-Host

Wenn wir uns bei einem ESXi-Host anmelden, können wir den Befehl ausführen, um eine VM-Datei von einem entfernten Linux-Rechner in einen Datenspeicher auf dem lokalen ESXi-Host zu kopieren. Kopieren wir VM_file.txt vom Linux-Rechner über das Netzwerk mithilfe von SCP in das Verzeichnis des ESXi-Datenspeichers:

scp user1@192.168.101.210:/home/user1/VM_file.txt /vmfs/volumes/datastore10a/install/

How to copy a file from a remote Linux machine to the ESXi host via SCP

So kopieren Sie Dateien zwischen zwei Remote-Rechnern

Es gibt SCP-Befehle, um Dateien von einem Remote-Rechner auf einen anderen zu kopieren – mit oder ohne Umleitung der Daten über den aktuellen lokalen Rechner. Die Befehlssyntax lautet wie folgt:

scp user1@remote-host1.com://directory/file.txt user2@remote-host2.com://directory/

Mit dem obigen Befehl werden die Daten direkt von einem Remote-Host auf einen anderen übertragen (ohne auf den aktuellen lokalen Rechner kopiert zu werden). Wenn Sie den Datenverkehr über Ihren lokalen Rechner leiten möchten, auf dem Sie den Befehl ausführen, verwenden Sie das Flag -3 .

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

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

scp root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/

Wenn der Fehler „ Host key verification failed “ angezeigt wird, bedeutet dies, dass der Hostschlüssel auf einem der Hosts nicht gespeichert ist. Wenn der Fehler von einer Änderung des Hostschlüssels auf dem Remote-Server verursacht wurde, löschen Sie den alten Hostschlüssel für den aktuellen Remote-Host, der unter „ ~/.ssh/known_hosts

“ gespeichert ist. Der Befehl zum Löschen eines alten Hostschlüssels lautet: ssh-keygen -R hostname_or_IP_address

Führen Sie beispielsweise den folgenden 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 root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/

Der alternative Befehl für diesen Zweck lautet:

scp -o "ForwardAgent yes" root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/

So kopieren Sie Dateien über SCP unter Windows

Sie können unter Windows auch Dateien auf Virtuelle Maschinen oder ESXi-Hosts kopieren. Dazu benötigen Sie einen SCP-Client wie WinSCP, der über eine benutzerfreundliche und praktische grafische Oberfläche verfügt. Sie können WinSCP herunterladen kostenlos herunterladen.

  1. Starten Sie WinSCP.
    • Wählen Sie ein Protokoll aus, zum Beispiel SFTP.
    • Geben Sie den Hostnamen und die Portnummer eines Remote-Hosts ein, beispielsweise eines ESXi-Hosts oder eines Linux-Rechners.
    • Geben Sie den Benutzernamen und das Passwort des Remote-Rechners ein.
    • Klicken Sie auf Login.

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

    Connecting to an ESXi host in WinSCP to copy files

  2. Es wird eine Anzeige angezeigt:

    Continue connecting to unknown server and add its host key to a cache?

    Klicken Sie auf Yes , um fortzufahren.

  3. Sobald die Verbindung hergestellt ist, sehen Sie ein Fenster im Commander-Stil mit zwei Bereichen. Ein Bereich stellt das Verzeichnis auf dem lokalen Rechner dar, der andere das Verzeichnis auf dem Remote-Rechner. Sie können Dateien zwischen dem lokalen und dem Remote-Host kopieren, indem Sie Dateien zwischen diesen beiden Bereichen kopieren.

    Using WinSCP to copy a VM file from and to an ESXi host

Sie können Dateien aus einem Datenspeicher eines Remote-ESXi-Hosts, mit dem Sie in WinSCP verbunden sind, auf eine Remote-Windows-VM oder einen physischen Rechner kopieren, indem Sie eine SMB-Freigabe auf diesem Windows-Rechner verwenden.

Sie können jedoch den direkten Freigabepfad nicht in ein WinSCP-Fenster eingeben (zum Beispiel 192.168.101.117c$). Sie können nur einen Laufwerksbuchstaben auswählen. Um diese Einschränkung zu umgehen, stellen Sie im Windows-Explorer eine Verbindung zur Dateifreigabe her und ordnen Sie diese Dateifreigabe als Netzlaufwerk zu. Weisen Sie einen Laufwerksbuchstaben zu, zum Beispiel S: , wie wir es in diesem Beispiel getan haben, um den freigegebenen Ordner unter 192.168.101.211 zu verbinden.

Nun 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.

Copying files between a remote ESXi host and remote SMB share by using WinSCP in Windows

Verwendung einer NFS-Freigabe

Sie können eine NFS-Freigabe verwenden, um Dateien von einem ESXi-Datenspeicher auf VMs zu übertragen und umgekehrt. ESXi unterstützt keine SMB-Freigaben (nativ für Windows). Es unterstützt NFS-Freigaben (nativ für Linux) und das Einbinden einer NFS-Freigabe als Datenspeicher. Mit dieser Funktion können Sie einen der folgenden Ansätze nutzen, um Dateien zwischen ESXi- und Linux-Maschinen zu übertragen:

Ansatz 1 :

  • Konfigurieren Sie einen NFS-Server und eine NFS-Freigabe auf einer Linux-VM
  • Binden Sie die NFS-Freigabe als Datenspeicher auf ESXi ein
  • Kopieren Sie Dateien von einer VM in einen ESXi-Datenspeicher und umgekehrt

Ansatz 2 :

  • Konfigurieren Sie einen NFS-Server auf einem physischen Linux-Rechner oder NAS-Ge
  • Binden Sie die NFS-Freigabe als Datenspeicher auf ESXi ein
  • Verbinden Sie sich mit der NFS-Freigabe auf einer Linux-VM
  • Kopieren Sie Dateien von einer Linux-VM in eine NFS-Freigabe und kopieren Sie diese Dateien anschließend auf einen ESXi-Host. Kopieren Sie Dateien vom ESXi-Host in die NFS-Freigabe und kopieren Sie diese Dateien von der NFS-Freigabe in die Linux-VM.

Lesen Sie den Vergleich unter NFS vs. SMB , um mehr über diese Dateifreigabeprotokolle zu erfahren.

Konfigurieren einer NFS-Freigabe unter Linux

In diesem Tutorial verwenden wir Linux Ubuntu 20.04. Wir haben uns als normaler Benutzer bei Linux angemeldet und verwenden sudo , wenn Root-Rechte erforderlich sind, um den Befehl auszuführen. Führen Sie die folgenden Schritte aus, um einen NFS-Server zu installieren und eine NFS-Freigabe zu konfigurieren.

  1. Aktualisieren Sie den Repository-Baum unter Linux:

    sudo apt-get update

  2. Installieren Sie das NFS-Server-Paket unter Linux:

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

  3. Erstellen Sie ein Verzeichnis (das Exportverzeichnis), das auf dem NFS-Server geteilt werden soll:

    sudo mkdir -p /srv/nfs/share1/

  4. Legen Sie den Eigentümer 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 Pseudo-Benutzer, der den Benutzer mit den geringsten Berechtigungen ohne Shell-Zugriff repräsentiert. Der Zweck der Gruppe nogroup entspricht dem des Benutzers nobody .

    Creating a directory for an NFS share

  5. Konfigurieren Sie die Datei „exports“, um das erstellte Verzeichnis zu teilen.

    sudo nano /etc/exports

    oder

    sudo vim /etc/exports

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

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

    In unserem Fall lautet die Zeile mit der zugelassenen 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 folgende Zeile hinzufügen:

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

    Sie können die weitere Zeile hinzufügen, um den Zugriff für einen weiteren Host (IP-Adresse) zuzulassen.

    Speichern Sie die Änderungen an der Konfigurationsdatei und schließen Sie den Texteditor.

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

    cat /etc/exports

  8. Anwenden Sie die neue Konfiguration mit dem Befehl:

    sudo exportfs -a

  9. Stellen Sie sicher, dass die Firewall auf dem Linux-Rechner mit dem NFS-Server den Zugriff zulässt. Sie können einer bestimmten IP-Adresse Zugriff gewähren, beispielsweise mit dem Befehl:

    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 für Hosts aus dem gesamten Subnetz zuzulassen:

    sudo ufw allow from SUBNET to any port nfs

    In unserem Fall würde der Befehl lauten:

    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, damit die Konfigurationsänderungen wirksam werden:

    sudo systemctl restart nfs-kernel-server

  12. Die NFS-Freigabe wurde unter 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/

    Copying a file to a directory configured as an NFS share

Einbinden eines NFS-Datenspeichers in ESXi

Nach der Konfiguration der NFS-Freigabe müssen Sie den NFS-Datenspeicher in ESXi hinzufügen. In diesem Beispiel verwenden wir dazu den VMware Host Client.

Rufen Sie Storage > Datastores auf und klicken Sie auf „ New datastore“ .

Creating a new datastore to mount the NFS as a datastore

Der Assistent „ New datastore “ wird geöffnet.

  1. Wählen Sie „ Mount NFS datastore“ . Klicken Sie auf „ Next “ , um fortzufahren.

    How to mount an NFS datastore in ESXi

  2. Geben Sie die Details für die NFS-Einbindung an:
    • Name: NFS-share (der Name, der als Datenspeichername angezeigt wird)
    • NFS-Server: 192.168.101.210
    • NFS-Freigabe: /srv/nfs/share1/
    • NFS-Version: NFS4

    Benutzername und Passwort sind bei NFS4 optional. Wir lassen diese beiden Felder leer.

    Entering the details to mount an NFS datastore in ESXi

  3. Bereit zum Abschluss. Überprüfen Sie Ihre Konfiguration und klicken Sie auf Finish , wenn alles korrekt ist.

Kopieren von Dateien von einer VM auf den Host

Der NFS-Datenspeicher wurde erfolgreich eingebunden. Sie können dies unter Storage > Datastoresüberprüfen.

Nun können wir Dateien aus der VM, die auf der NFS-Freigabe gespeichert sind, in einen lokalen ESXi-Datenspeicher kopieren (Dateien von der VM auf den Host übertragen).

  1. Klicken Sie auf Datastore Browser.

    Browsing the NFS datastore to copy a VM file

  2. Wählen Sie Ihren NFS-Datenspeicher im Datenspeicher-Browser aus (in unserem FallNFS-share ). Durchsuchen Sie die gewünschte Datei im NFS-Datenspeicher. Wählen Sie die gewünschte Datei aus und klicken Sie auf Copy.

    How to copy a VM file from a virtual machine to an ESXi datastore using an NFS share

  3. Wählen Sie das Ziel aus. Wählen Sie den gewünschten Standort im Ziel-Datenspeicher aus, an dem Sie die kopierte Datei speichern möchten (in unserem Fall „datastore10b “). Klicken Sie auf „ Copy“.

    Copying a VM file to an ESXi datastore in VMware Host Client

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

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

Dateien über die VMware-Weboberfläche herunterladen/hochladen

Sie können die Weboberfläche des VMware Host Client oder VMware vSphere Client verwenden, um Dateien auf einen ESXi-Datenspeicher hochzuladen bzw. von diesem herunterzuladen. Die Weboberfläche ist von jeder physischen oder virtuellen Maschine aus verfügbar, auf der ein Webbrowser installiert ist und eine Netzwerkverbindung zu einem ESXi-Host besteht. Somit können Sie diese Weboberfläche direkt von einer VM aus öffnen, wenn das Gastbetriebssystem über eine grafische Benutzeroberfläche verfügt, oder einen beliebigen lokalen Rechner als Zwischenstation nutzen, um Dateien von der VM zum Host und umgekehrt zu übertragen.

How to copy a VM file - downloading a virtual disk file from an ESXi datastore in VMware Host Client

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

  1. Herunterladen Sie eine virtuelle Festplatte der Virtuellen Maschine auf Ihren lokalen Rechner oder einen anderen Rechner.
  2. Extrahieren Sie die benötigten Dateien aus dieser virtuellen Festplatte der Virtuellen Maschine (.vmdk und -flat.vmdk) auf einen lokalen Rechner. Alternativ können Sie eine virtuelle Festplatte in ein virtuelles Laufwerk einbinden, sofern VMware Workstation installiert ist.
  3. Laden Sie die extrahierten Dateien oder die Dateien von der eingebundenen virtuellen Festplatte mithilfe einer der oben beschriebenen Methoden (im VMware Host Client, vSphere Client oder SCP-Client usw.) in den Datenspeicher des VMware ESXi-Hosts hoch.

    How to map a VMDK file as a virtual disk drive in Windows

Lesen Sie den ausführlichen Blogbeitrag unter So extrahieren Sie Dateien aus virtuellen VMDK-Festplatten.

Verwendung von ISO-Dateien für die Datenübertragung an eine VM

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

  1. Erstellen Sie ein ISO-Image mit einer Software wie Ultra ISO für Windows.
  2. Schreiben Sie die benötigten Dateien auf Ihrem lokalen Rechner oder einem anderen Rechner in das ISO-Image. Sie können Dateien mithilfe einer der oben genannten Methoden von ESXi kopieren und in das ISO-Image schreiben.
  3. Mounten Sie die ISO-Image-Datei mithilfe eines virtuellen CD/DVD-Laufwerks der Virtuellen Maschine (Sie können die ISO-Datei direkt von Ihrem lokalen Rechner aus mounten oder die ISO-Datei zuvor in einen ESXi-Datenspeicher hochladen). Verwenden Sie den VMware Host Client, den VMware vSphere Client, VMware Workstation oder die VMware Remote Console, um die ISO-Datei in die ESXi-VM einzubinden.

Diese Methode kann nicht zum Übertragen von Dateien von der VM auf den Host verwendet werden, da eine VM mit einem virtuellen CD/DVD-Laufwerk im schreibgeschützten Modus arbeitet.

Fazit

Es gibt verschiedene Methoden, um Dateien von einem Host auf virtuelle Maschinen zu kopieren und umgekehrt. Einige davon erfordern eine Netzwerkverbindung, andere funktionieren auch, wenn kein Netzwerk verfügbar ist. Sie können die Methode wählen, die für Ihre Situation am besten geeignet ist, und diese Methoden auch kombinieren. Denken Sie daran, Ihre VMs zu sichern, um Datenverluste zu vermeiden. Mit NAKIVO Backup & Replication können Sie Ihre VMs in VMware vSphere und Einzelne Dateien wiederherstellen direkt aus einer VM-Sicherung heraus schützen.

Probieren Sie NAKIVO Backup & Replication aus

Probieren Sie NAKIVO Backup & Replication aus

Nutzen Sie die kostenlose Testversion, um alle Funktionen der Datensicherheit der Lösung kennenzulernen. 15 Tage kostenlos. Keine Einschränkungen hinsichtlich Funktionen oder Kapazitäten. Keine Kreditkarte erforderlich.

Empfohlene Artikel