Najskuteczniejsze sposoby przesyłania plików z maszyny wirtualnej do hosta

Maszyny wirtualne oferują wiele korzyści, takich jak elastyczność, racjonalne wykorzystanie zasobów oraz możliwość działania w izolowanych środowiskach. Częstym zadaniem w środowiskach wirtualnych jest kopiowanie plików między maszynami wirtualnymi a hostami. Przeczytaj ten artykuł, aby dowiedzieć się, jak skopiować pliki z hosta na maszynę wirtualną, jak przenieść pliki z maszyny wirtualnej na host oraz jak kopiować pliki między maszynami wirtualnymi.

NAKIVO – tworzenie kopii zapasowej dla VMware vSphere

NAKIVO – tworzenie kopii zapasowej dla VMware vSphere

Kompleksowa ochrona danych dla maszyn wirtualnych VMware vSphere oraz opcje natychmiastowego odzyskiwania. Bezpieczne lokalizacje kopii zapasowych na miejscu, zdalnie oraz w chmurze. Funkcje ochrony przed oprogramowaniem wymuszającym okup.

Składniki środowiska

Zacznijmy od omówienia terminologii:

  • host to maszyna fizyczna, na której zainstalowano hiperwizor.
  • hiperwizor to oprogramowanie do wirtualizacji umożliwiające uruchamianie maszyn wirtualnych na hoście. Istnieją dwa rodzaje hiperwizorów:
    • Typ 1: Korzystanie z serwera ESXi, który jest maszyną-hościca
    • Typ 2: Korzystanie z VMware Workstation, w tym przypadku systemem operacyjnym maszyny-hościca mogą być Windows oraz Linux

W tym przewodniku, środowisko stosowane do wyjaśnienia, jak przenosić pliki z VM do hosta, składa się z następujących komponentów:

  • Host ESXi 1: 192.168.101.201
  • Host ESXi 2: 192.168.101.202
  • Maszyna Ubuntu Linux: 192.168.101.210
  • Host Windows z zainstalowaną stacją roboczą VMware
  • Sieć: 192.168.101.0/24
  • Maszyny wirtualne ESXi i VMware Workstation podłączone do tej samej sieci

Używamy następujących technologii do kopiowania plików między maszynami wirtualnymi i hostami:

  • Udział folderów
  • Udostępniony schowek i przeciągnij i upuść
  • Urządzenie magazynujące USB
  • PowerCLI
  • SSH i SCP
  • Udział NFS
  • Pobieranie/Przesyłanie plików w interfejsie sieciowym VMware
  • Pliki ISO

Korzystanie z udostępnionych folderów do przenoszenia plików VM na hosta

Udostępnione Foldery to wygodna funkcja w VMware Workstation do przenoszenia plików między fizycznym hostem z zainstalowaną stacją roboczą VMware a maszynami wirtualnymi uruchamianymi na VMware Workstation. Dla macOS, VMware Fusion jest odpowiednikiem VMware Workstation i obsługuje podobne funkcje.

Przejdźmy teraz do kroków przenoszenia plików z maszyny wirtualnej do hosta i odwrotnie z użyciem udostępnionych folderów VMware.

Uwaga: Aby ta funkcja działała, VMware Tools musi być zainstalowany na maszynie wirtualnej. Dane między hostem a maszyną wirtualną są przesyłane poprzez interakcję z narzędziami VMware między hostem a systemem operacyjnym gościa bez użycia sieci.

  1. Wybierz maszynę wirtualną, dla której chcesz skonfigurować udostępnianie plików VMware. Wybieramy jedną z naszych maszyn wirtualnych Windows.
  2. Kliknij VM > Settings (Edytuj ustawienia wirtualnej maszyny) w GUI VMware Workstation.
  3. W oknie Virtual Machine Settings, wybierz kartę Options i kliknij Shared Folders. W sekcji Folder sharing , wybierz Always enabled. Opcjonalnie można zmapować folder udostępniony jako zasób sieciowy w gościach Windows dla większej wygody, zaznaczając odpowiadające pole wyboru.
  4. Kliknij Add, aby wybrać folder do użycia jako folder udostępniony.

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

  5. Wprowadź ścieżkę do folderu do udostępnienia na hoście lub kliknij Browse i wybierz potrzebny folder. Wybieramy C:tempshare-VM

    Wprowadź nazwę dla folderu udostępnionego, na przykład share-VM

    Kliknij Next.

    VMware file sharing – configuring shared folders in VMware Workstation

  6. Wybierz Enable this share. Jeśli chcesz, aby maszyny wirtualne uzyskiwały dostęp do folderu udostępnionego tylko do odczytu, zaznacz pole wyboru Read-only. Kliknij Finish.

    VMware sharing folder in VMware Workstation and enabling this share

  7. Nowy folder udostępniony pojawi się na liście folderów udostępnionych w zakładce Options okna Virtual machine settings. Folder udostępniony jest włączony, jeśli odpowiadające pole wyboru jest zaznaczone obok nazwy pliku.

    Kliknij OK, aby zapisać ustawienia.

    VMware sharing folder – a shared folder is created

  8. Otwórz interfejs użytkownika maszyny wirtualnej Windows używanej do udostępniania folderu z funkcją Shared folders.
  9. Kliknij Network (My Network Places) w My Computer (This PC) lub Eksploratorze Windows, aby zobaczyć komputery dostępne w sieci.
  10. Wybierz vmware-host jako nazwę komputera, na którym skonfigurowano folder udostępniony. Nazwa ta jest ustawiona domyślnie i jest mapowana na Twoją fizyczną maszynę (hosta) z folderem udostępnionym.

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

  11. Kliknij Shared Folders i wybierz potrzebny folder udostępniony (share-VM w naszym przykładzie). Pełna ścieżka do folderu udostępnionego, w naszym przypadku, to

    vmware-hostShared Foldersshare-VM

Możesz kopiować pliki do maszyny wirtualnej z hosta i do hosta z maszyny wirtualnej. Skopiowaliśmy Test01.txt z hosta Windows do gościa Windows w naszym przykładzie, używając funkcji udostępniania plików w VMware Workstation.

VMware transfer files from a VMware VM using a shared folder

Dla gości Linux można zamontować wszystkie udziały plików VMware za pomocą poniższego polecenia:

  • W Linux z kernalem wcześniejszym niż 4.0:

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

  • W Linux z kernalem 4.0 lub nowszym:

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

Jeśli chcesz zachować zamontowany folder udostępniony po ponownym uruchomieniu maszyny wirtualnej, dodaj odpowiednie linie z komentarzem i konfiguracją w /etc/fstab, na przykład:

#

Funkcja udostępniania folderów VMware do transferu plików między gościem VMware a hostem

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

Zanim przejdziemy do następnej sekcji, zauważ, że funkcja udostępniania folderów jest dostępna tylko w stacji roboczej VMware (oraz VMware Fusion w systemie macOS) i nie jest dostępna dla maszyn wirtualnych uruchamianych na hostach ESXi. Dla hostów ESXi można ręcznie współdzielić folder i używać sieci do kopiowania plików między komputerami z systemem Windows. Aby skopiować pliki z maszyny wirtualnej do hosta ESXi, należy użyć dodatkowego narzędzia lub połączyć kopiowanie plików z ręcznie współdzielonego folderu z jedną z metod opisanych poniżej.

Dostępne są inne metody dla udostępnianie folderu w systemie Windows 10 i Windows Server 2019. Można również dowiedzieć się więcej o protokole Udział plików w małych i średnich przedsiębiorstwach.

Jeśli masz konto w systemie Windows z uprawnieniami administracyjnymi, a polityka bezpieczeństwa pozwala na dostęp do ukrytych udziałów administracyjnych dostępnych domyślnie, możesz uzyskać dostęp do plików na lokalnych dyskach komputera z systemem Windows, używając ścieżki do udziału jak:

IP-Addressc$

Gdzie:

IP-Address to adres IP lub nazwa hosta zdalnego komputera z systemem Windows.

C$ to litera potrzebnego dysku na zdalnym komputerze z systemem Windows, który jest ukrytym zasobem systemowym.

Wykorzystanie współdzielonego schowka do przesyłania plików z hostu do maszyn wirtualnych

Współdzielony schowek to funkcja, która pozwala na kopiowanie i wklejanie zawartości, jak teksty i całe pliki, z maszyny wirtualnej na hosta, na którym zainstalowano program VMware Workstation. Proces jest podobny do kopiowania i wklejania zawartości pomiędzy różnymi oknami aplikacji w systemach Windows lub Linux z interfejsem graficznym.

Pełny zakres funkcji dostępny jest w VMware Workstation, co umożliwia przesyłanie plików do maszyn wirtualnych z hosta i na hosta z maszyny wirtualnej. Jako alternatywa do kopiowania i wklejania dostępne jest przeciąganie i upuszczanie plików.

Współdzielony schowek w programie VMware Workstation

Przejdźmy nad tym, jak przesłać pliki do maszyn wirtualnych VMware Workstation, używając współdzielonego schowka i przeciągania i upuszczania. W tym przykładzie VMware Workstation zainstalowany jest na hostzie z systemem Windows.

  1. Wybierz swoją maszynę wirtualną z listy maszyn wirtualnych w lewym panelu.
  2. Kliknij Edit virtual machine settings (VM > Settings).

    Opening virtual machine settings

  3. Wybierz kartę Options i kliknij Guest Isolation.

    Wybierz dwa pola wyboru:

    • Enable drag and drop
    • Enable copy and paste

    Kliknij OK, aby zapisać ustawienia i zamknąć okno.

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

Współdzielony schowek w VMware ESXi

Jeśli chodzi o maszyny wirtualne działające na VMware ESXi, nie można kopiować żadnych plików za pomocą przeciągania i upuszczania ani współdzielonego schowka pomiędzy maszyną wirtualną na hoście ESXi a dowolnym innym urządzeniem. Jedyną opcją jest kopiowanie i wklejanie tekstu między maszyną wirtualną działającą na ESXi a lokalnym urządzeniem (na którym zainstalowano VMware Workstation lub Konsola zdalna VMware). Kopiowanie i wklejanie oraz przeciąganie i upuszczanie plików nie są obsługiwane ze względów bezpieczeństwa. Jednakże, jeśli nie możesz skopiować pliku konfiguracyjnego, możesz skopiować jego tekst korzystając ze wspólnego schowka. Domyślnie wyłączono wspólny schowek w konfiguracji Maszyny wirtualnej ESXi. Aby włączyć wspólny schowek w celu kopiowania i wklejania tekstu, wykonaj następujące kroki na hoście ESXi:

  1. Maszyna wirtualna musi być wyłączona podczas edytowania konfiguracji Maszyny wirtualnej. Wyłącz maszynę wirtualną, jeśli jest uruchomiona.
  2. Otwórz VM settings. Możesz użyć VMware Host Client oraz VMware vSphere Client. Wybierz maszynę wirtualną, kliknij Edit VM settings i wybierz zakładkę VM options.

    Rozwiń sekcję Advanced Settings i kliknij Edit Configuration.

    Advanced VM configuration to enable shared clipboard in ESXi

  3. Dodaj trzy parametry konfiguracyjne do konfiguracji Maszyny wirtualnej (zapisywane do konfiguracji pliku VMX). Kliknij Add parameter.

    Enabling shared clipboard for a VM on VMware ESXi

  4. Dodaj te trzy parametry:

    isolation.tools.copy.disable FALSE

    isolation.tools.paste.disable FALSE

    isolation.tools.setGUIOptions.enable TRUE

  5. Kliknij OK i zapisz ustawienia.

    Configuration parameters to enable shared clipboard are added

Alternatywnie możesz edytować ręcznie plik VMX z konfiguracją Maszyny wirtualnej znajdujący się w magazynie danych ESXi w katalogu Maszyny wirtualnej.

  1. Zaloguj się do powłoki ESXi lokalnie lub przez SSH.
  2. Przejdź do katalogu Maszyny wirtualnej (katalogu, w którym przetrzymywane są pliki Maszyny wirtualnej w magazynie danych). W naszym przypadku idziemy do tego katalogu:

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

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

  3. Edytuj plik konfiguracyjny VMX. W naszym przypadku jest to plik Windows-VM.vmx

    vi Windows-VM.vmx

  4. Dodaj trzy parametry pokazane powyżej na końcu tego pliku konfiguracyjnego.
  5. Zapisz zmiany i zamknij plik (zamknij edytor tekstu).

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

Teraz możemy kopiować i wklejać tekst między naszym lokalnym komputerem a zdalną Maszyną wirtualną uruchomioną na hoście ESXi, używając VMware Remote Console i VMware Workstation do połączenia z Maszyną wirtualną.

Korzystanie z urządzenia do przechowywania danych USB

VMware ESXi i VMware Workstation wspierają funkcję przekazywania USB, co pozwala na włożenie urządzenia USB do maszyny hosta i podłączenie tego urządzenia USB do działającej na tym hoście Maszyny wirtualnej. Możesz podłączyć urządzenie przechowywania USB do maszyny hosta i maszyny wirtualnej sekwencyjnie, aby kopiować pliki między tymi maszynami w dowolnym kierunku.

Uwaga: VMware Tools musi być zainstalowane na systemie operacyjnym gościa Maszyny wirtualnej, aby użyć funkcji przekazywania USB.

Kopiowanie plików między maszynami wirtualnymi VMware Workstation a hostem

Wykonaj następujące kroki, aby przenieść pliki z maszyny wirtualnej do hosta w VMware Workstation zainstalowanej na komputerach z systemem Windows i Linux (interfejs jest ujednolicony):

  1. Włącz maszynę wirtualną.
  2. Włóż urządzenie magazynujące USB, takie jak dysk twardy USB (HDD) lub pamięć USB, do fizycznego komputera pełniącego rolę hosta.
  3. W oknie New USB Device Detected otwiera się program VMware Workstation. Wybierz, gdzie chcesz podłączyć swoje urządzenie USB:
    • Połącz z hostem
    • Połącz z maszyną wirtualną

    Wybierzmy drugą opcję i podłączmy naszą pamięć USB do maszyny wirtualnej. W tym przykładzie uruchamiamy maszynę wirtualną z systemem Windows. Jeśli wiele maszyn wirtualnych jest uruchomionych na VMware Workstation, musisz wybrać potrzebną maszynę wirtualną z listy. Urządzenie USB może być jednocześnie podłączone tylko do jednej maszyny wirtualnej. Kliknij OK, aby kontynuować.

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

    Jeśli twoje urządzenie magazynujące USB już zostało włożone do portu USB fizycznego komputera hosta, na którym zainstalowano VMware Workstation, okno pop-up z opcjami passthrough USB nie zostanie wyświetlone automatycznie. Możesz podłączyć urządzenie USB do maszyny wirtualnej (odłączyć od hosta) w menu:

    Idź do VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from host).

    W naszym przykładzie nazywa się Kingston DataTraveler 2.0.

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

  4. Teraz możemy zobaczyć, jak pamięć USB jest podłączona do maszyny wirtualnej Windows 7 na liście napędów dyskowych w Moim Komputerze (Eksploratorze Windows). Aby sprawdzić urządzenie magazynujące USB:
    • Kliknij prawym przyciskiem My Computer i naciśnij Manage.
    • Przejdź do Computer Management > Device Manager and Computer Management > Disk Management w odpowiednim snap-in po kliknięciu prawym przyciskiem.

    Jeśli litera napędu nie zostanie przypisana automatycznie, przypisz literę ręcznie w snap-in Disk Management.

    Proces dla gości systemu Linux jest identyczny. W niektórych dystrybucjach Linuksa może być konieczne ręczne zamontowanie podłączonego urządzenia magazynującego USB, jak na przykład pendrive’a, w systemie operacyjnym Linux.

  5. Gdy już urządzenie magazynujące USB zostanie zamontowane do maszyny wirtualnej i rozpoznane przez system operacyjny gościa, skopiuj potrzebne pliki z maszyny wirtualnej na urządzenie magazynujące USB. Kopiowanie plików z urządzenia magazynującego USB na maszynę wirtualną również działa teraz.

    A USB flash drive is connected to a VM

  6. Po skopiowaniu wszystkich potrzebnych plików z maszyny wirtualnej na pamięć USB, odłącz pamięć USB od maszyny wirtualnej i podłącz to urządzenie USB do hosta.

    Kliknij 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. Urządzenie magazynujące USB jest teraz podłączone do maszyny hosta (w naszym przypadku maszyny Windows, na której działa VMware Workstation). Możemy przenieść pliki, które zostały skopiowane z maszyny wirtualnej, na dysk USB do twojej maszyny hosta.

Przepustowość USB z VMware Workstation do maszyn wirtualnych ESXi

Możesz użyć pamięci USB włożonej do serwera ESXi i podłączonej do lokalnej maszyny Windows lub Linux (z zainstalowanym VMware Workstation lub VMware Remote Console (VMRC)) do zdalnego zarządzania hostem ESXi, aby podłączyć tę pamięć USB do maszyny wirtualnej ESXi. W pierwszym przypadku używana jest przepustowość USB podłączona do hosta, a w drugim przypadku używana jest przepustowość USB podłączona do klienta.

Połączmy pamięć USB włożoną do naszej lokalnej fizycznej maszyny Windows 10 z maszyną wirtualną Windows XP uruchomioną na serwerze ESXi v7.0 (wykorzystując funkcję przepustowości USB podłączoną do klienta). VMware Workstation jest zainstalowane na naszej fizycznej maszynie z systemem Windows i połączone z hostem ESXi przez sieć (192.168.101.0/24).

Aby to zrobić:

  1. Maszyna wirtualna musi być wyłączona, aby edytować ustawienia maszyny wirtualnej.
  2. Upewnij się, że USB controller jest obecne na liście wirtualnego sprzętu maszyny wirtualnej. Możesz sprawdzić konfigurację maszyny wirtualnej w VMware Host Client. Wybierz swoją maszynę wirtualną (Windows-VM w naszym przypadku), kliknij Edit Settings i wybierz kartę Virtual Hardware.

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

  3. Wróćmy do VMware Workstation zainstalowanego na naszej lokalnej (fizycznej) maszynie Windows 10. Kliknij File > Connect to a server w VMware Workstation, aby połączyć się z zdalnym hostem ESXi.

    Connecting to a remote ESXi server

  4. Wprowadź nazwę serwera ESXi lub adres IP, nazwę użytkownika i hasło. Kliknij Connect.

    Connecting to a remote ESXi host – entering credentials

  5. Rozwiń hosta ESXi w lewym panelu VMware Workstation, gdzie wyświetlani są zdalni hoście, zdalne maszyny wirtualne na tych hostach i lokalne maszyny wirtualne VMware Workstation.
  6. Wybierz maszynę wirtualną uruchomioną na zdalnym hoście ESXi. Wybieramy Windows-VM działającą na 192.168.101.201 . Po tym możemy zobaczyć interfejs użytkownika gościnnego systemu operacyjnego wybranej maszyny wirtualnej.
  7. Kliknij VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from Host).

    Zauważ, że wybieramy urządzenie USB podłączone do naszej fizycznej maszyny Windows, na której zainstalowany jest VMware Workstation. To urządzenie USB nie jest urządzeniem podłączonym do fizycznego hosta ESXi, z którym połączyliśmy się zdalnie.

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

  8. Teraz widzimy naszą pamięć USB podłączoną do maszyny wirtualnej z systemem Windows XP działającej na zdalnym hoście ESXi: 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. Przypisz literę dysku do partycji podłączonej pamięci USB, jeśli nie została ona jeszcze przypisana. Skopiuj potrzebne pliki między maszyną wirtualną a pamięcią USB. Możesz przesyłać pliki do maszyny wirtualnej oraz z maszyny wirtualnej.

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

  10. Po skopiowaniu plików można odłączyć urządzenie pamięci USB od maszyny wirtualnej i podłączyć je z powrotem do lokalnego fizycznego komputera z systemem Windows 10, na którym działa VMware Workstation. W interfejsie graficznym VMware Workstation kliknij VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host).

Podłączanie pamięci USB na ESXi

Ta metoda jest niezwykle przydatna w niektórych przypadkach, na przykład gdy trzeba zaktualizować sterownik sieciowy na hoście ESXi, a nie ma dostępu do sieci. Podłączenie pamięci USB do ESXi jest bardziej skomplikowane niż podłączenie do komputera hosta z uruchomioną stacją roboczą VMware Workstation.

W systemie ESXi obowiązują ograniczenia dotyczące obsługiwanych systemów plików, które można zamontować w tym środowisku. Pamięci USB lub dyski twarde USB z systemami plików FAT32 i NTFS nie są obsługiwane. Z tego powodu musimy utworzyć partycję na naszej pamięci USB i sformatować ją w systemie plików VFAT (który w systemie Windows jest rozpoznawany jako FAT12). System plików VFAT ma pewne ograniczenia, takie jak maksymalny rozmiar partycji i maksymalny rozmiar pliku. W związku z tym metoda ta nie ma zastosowania w przypadku dużych plików, takich jak dyski wirtualne lub obrazy ISO większe niż 4 GB. Ograniczenia te są jednak wystarczające do przesyłania plików konfiguracyjnych, sterowników itp.

Tworzenie partycji na pamięci USB

Przede wszystkim utwórzmy nową partycję na naszej pamięci USB i sformatujmy ją w systemie plików VFAT. Możemy to zrobić, podłączając pamięć USB włożoną do serwera ESXi do maszyny wirtualnej (korzystając z funkcji przekazywania USB podłączonego do hosta). Alternatywnie możemy włożyć pamięć USB do fizycznego komputera z systemem Windows lub Linux.

W tym przykładzie używamy komputera z systemem Windows 7, aby przygotować pamięć USB dla ESXi. Polecenia dla systemu Windows Server 2008 R2, Windows 10 i innych nowszych wersji systemu Windows są takie same.

  1. Aby upewnić się, że pamięć USB jest podłączona do komputera z systemem Windows, kliknij prawym przyciskiem myszy My Computer lub This PC (lub uruchom diskmgmt.msc z poziomu CMD), aby otworzyć Disk Management.
  2. Otwórz wiersz poleceń systemu Windows:

    Start > Run > cmd

  3. Wpisz diskpart w wierszu poleceń i naciśnij Enter.

    Widzisz następnie prompt diskpart:

    Diskpart

  4. Wyświetl dyski połączone z twoją maszyną z systemem Windows:

    list disk

    Znajdź swój dysk USB w liście wyników i zapamiętaj numer dysku. W naszym przypadku, Disk 1 to numer naszego dysku USB (zobacz zrzut ekranu poniżej).

  5. Wybierz swoją pamięć USB, określając odpowiedni numer dysku, który otrzymałeś/aś w wyniku powyższego polecenia (disk 1 w naszym przypadku).

    select disk 1

  6. Wyświetl partycje na wybranej pamięci USB:

    list partition

    Mamy jedną partycję (Partition 1) na naszej pamięci USB (zobacz zrzut ekranu poniżej). Posiadanie jednej partycji na pamięci USB jest najczęstszym przypadkiem.

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

    Kolejnym krokiem jest usunięcie partycji na tej pamięci USB.

    Ważne: Wszystkie dane na tej pamięci USB zostaną usunięte. Przed przystąpieniem do następnych kroków można skopiować dane z tej pamięci, jeśli istnieje taka potrzeba.

  7. Wybierz partycję w napędzie USB, która ma zostać usunięta:

    select partition 1

  8. Uruchom polecenie, aby usunąć zaznaczoną partycję:

    delete partition

  9. Ponownie wybierz dysk, który jest twoją pamięcią USB:

    select disk 1

    Selecting the first partition on a USB flash drive in Diskpart

  10. Utwórz nową partycję z systemem plików VFAT. W tym przykładzie tworzymy partycję 4-GB na naszej pamięci USB. Pamiętaj, że nie można przechowywać plików większych niż 4 GB na VFAT. Zauważ, że VFAT obsługuje jedynie format nazw plików 8.3.

    create partition primary size=4000 id=6

  11. Sformatuj utworzoną partycję w ten sposób, aby była kompatybilna z ESXi:

    format fs=fat quick

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

  12. Wyjdź z narzędzia diskpart (uruchom exit polecenie).

Pamięć USB jest gotowa do rozpoznania przez ESXi i kopiowania plików. Po dodatkowych krokach konfiguracyjnych ESXi możesz dołączyć pamięć USB do maszyny wirtualnej i skopiować potrzebne pliki na tę pamięć USB.

Konfigurowanie hosta ESXi do korzystania z napędu USB

Załóżmy, że musimy skopiować archiwum ZIP ze sterownikiem z napędu USB do magazynu danych ESXi, a następnie skopiować plik konfiguracyjny maszyny wirtualnej z magazynu danych ESXi na napęd USB. Nazwa pliku w naszym przykładzie to net-tulip.zip . Wykonaj następujące czynności na hoście ESXi, aby przesłać pliki do VMware ESXi z napędu USB i w odwrotnym kierunku:

  1. Konfiguracja odbywa się w interfejs wiersza poleceń. Dlatego musisz włączyć dostęp SSH na Host ESXi.
    • Aby włączyć zdalny dostęp SSH w DCUI, przejdź do Troubleshooting options > Enable SSH.
    • Aby włączyć zdalny dostęp SSH i serwer SSH na ESXi w VMware Host Client, przejdź do Host > Manage i wybierz kartę Services. Kliknij prawym przyciskiem TSM-SSH i kliknij Start, aby uruchomić usługę. Możesz włączyć tę usługę na stałe.

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

  2. Połącz się z hostem ESXi przez SSH, aby skorzystać z linii poleceń. Możesz użyć swojego ulubionego klienta SSH.
  3. Zatrzymaj usługę arbitrażysty USB:

    /etc/init.d/usbarbitrator stop

    Arbitrażysta USB automatycznie włącza funkcję USB passthrough dla maszyn wirtualnych znajdujących się na hoście ESXi (wystarczy wybrać napęd USB w ustawieniach VM odpowiedniej maszyny wirtualnej, aby skorzystać z tej funkcji).

  • Jeśli chcesz wyłączyć usługę arbitrażysty USB po ponownym uruchomieniu ESXi (na stałe), możesz użyć polecenia:

    chkconfig usbarbitrator off

    Aby włączyć usługę arbitrażysty USB, użyj odpowiedniego polecenia:

    /etc/init.d/usbarbitrator start

    chkconfig usbarbitrator on

  1. Opcjonalne polecenia do sprawdzenia urządzeń USB podłączonych do hosta ESXi:

    lsusb

    esxcli storage core device list | grep -i usb

    esxcli storage filesystem list

    Możesz zobaczyć /var/log/usb.log, aby sprawdzić status urządzenia USB.

  2. Może być konieczne odłączenie i ponowne podłączenie urządzenia pamięci USB po zatrzymaniu usługi arbitrażysty USB.
  3. Wylistuj urządzenia dyskowe bloku, aby znaleźć/zidentyfikować podłączony napęd USB (lub USB HDD).

    ls -ltrh /vmfs/devices/disks/

    Nasz napęd USB to mpx.vmhba32:C0:T0:L0: (zobacz zrzut ekranu poniżej).

    Tak więc pełny adres/lokalizacja dysku to:

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

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

  4. Sprawdź numer partycji urządzenia USB, aby upewnić się, że zidentyfikowałeś właściwe urządzenie dyskowe:

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

    Zgodnie z wynikami, pełny ID urządzenia, uwzględniając numer partycji w naszym przypadku, to:

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

  5. Znajdź folder główny napędu flash USB, aby zdefiniować ścieżkę źródłową/miejsca docelowego do kopiowania plików. Uruchom następujące polecenie i naciśnij Tab, aby zobaczyć dostępne elementy w katalogu woluminów. Katalog /volumes/ systemu plików ESXi to katalog, do którego są montowane partycje z systemami plików.

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

    Wolumin na napędzie flash USB nazywa się NO NAME

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

  6. Sprawdź zawartość katalogu głównego napędu flash USB

    ls -al /vmfs/volumes/NO NAME/

    Nasze archiwum ZIP jest obecne na woluminie napędu flash USB.

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

  7. Utworzyliśmy folder install w magazynie danych ESXi (datastore10a) za pomocą poleceń:

    cd /vmfs/volumes/datastore10a

    mkdir install

    Na poniższym zrzucie ekranu zobaczysz również katalog maszyny wirtualnej, którego plik konfiguracyjny zamierzamy skopiować z magazynu danych ESXi na napęd flash USB później.

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

  8. Skopiuj archiwum ZIP z napędu flash USB do folderu install na naszym hoście ESXi (na datastore10a).

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

  9. Sprawdź, czy plik został skopiowany:

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

    Plik został pomyślnie skopiowany.

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

Podobnie można kopiować pliki w przeciwnym kierunku – kopiować pliki z ESXi na napęd flash USB, a następnie potrzebny plik skopiować do maszyny wirtualnej lub na inne urządzenie z tego napędu flash USB.

  1. Sprawdź zawartość folderu maszyny wirtualnej:

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

  2. Skopiuj plik konfiguracyjny Windows-VM.vmx z magazynu danych ESXi na napęd flash USB:

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

  3. Sprawdź, czy plik został skopiowany na napęd flash USB:

    ls -al /vmfs/volumes/NO NAME/

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

Po zakończeniu kopiowania plików na hoście ESXi, można wysunąć napęd flash USB i uruchomić usługę arbitratora USB na hoście ESXi. Następnie można włączyć napęd flash USB i użyć funkcji USB passthrough podłączonego do hosta, aby dołączyć napęd flash USB do maszyny wirtualnej.

Czytaj więcej o Przepust USB dla ESXi i podłączaniu urządzenia magazynującego USB włożonego do hosta ESXi do maszyny wirtualnej rezydującej na hoście ESXi.

Korzystanie z PowerCLI do przesyłania plików do maszyn wirtualnych VMware

Inną metodą przesyłania plików z maszyny wirtualnej do hosta jest użycie poleceń (cmdletów) PowerCLI. W systemie operacyjnym gościa wewnątrz maszyny wirtualnej należy zainstalować pakiet VMware Tools. Te polecenia cmdlet języka PowerShell wykorzystują pakiet VMware Tools do kopiowania plików do/z maszyn wirtualnych znajdujących się na hoście ESXi. W związku z tym nie jest potrzebne połączenie sieciowe, jeśli polecenia są uruchamiane wewnątrz maszyny wirtualnej znajdującej się na hoście ESXi źródłowym lub docelowym.

Aby skopiować pliki między maszynami wirtualnymi, można użyć polecenia cmdlet Copy-VMGuestFile oraz innych poleceń cmdlet w vSphere PowerCLI.

  1. Połącz się z hostem ESXi lub serwerem vCenter Server. W tym przykładzie łączymy się z hostem ESXi.

    Connect-VIServer 192.168.101.201

    Connecting to an ESXi host in VMware PowerCLI

  • Aby uniknąć ostrzeżenia dotyczącego certyfikatu, uruchom polecenie:

    Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

    How to disable a certificate warning in VMware vSphere PowerCLI

Copy-VMGuestFile (lokalna > maszyna wirtualna ESXi)

Użyj następującego polecenia, aby skopiować plik z komputera lokalnego (komputera, na którym działa PowerCLI) do zdalnej maszyny wirtualnej na hoście ESXi:

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

Gdzie:

c:temptest.txt to plik źródłowy, który chcemy skopiować z komputera lokalnego

-LocalToGuest to kierunek (z komputera lokalnego do systemu operacyjnego gościa na docelowej maszynie wirtualnej działającej na ESXi)

-VM Windows-VM to nazwa docelowej maszyny wirtualnej

c:temp-VM to folder docelowy na docelowej maszynie wirtualnej (gdzie chcemy zapisać kopię pliku)

user1 to nazwa użytkownika w systemie operacyjnym gościa na docelowej maszynie wirtualnej. Użytkownik ten musi mieć dostęp do zdefiniowanego folderu docelowego.

Password to hasło tego użytkownika.

Ignorujemy ostrzeżenie dotyczące wersji VMware Tools i sprawdzamy, czy nasz text.txt został skopiowany.

How to copy file to virtual machine in PowerCLI

Widzimy, że nasz plik test.txt , którego rozmiar wynosi 29 bajtów, został pomyślnie skopiowany do maszyny wirtualnej z systemem Windows XP działającej na hoście ESXi.

A file has been copied to a VMware VM

Copy-VMGuestFile (maszyna wirtualna ESXi > lokalna)

Teraz skopiujmy plik z systemu operacyjnego gościa maszyny wirtualnej do katalogu lokalnego komputera, na którym wykonywane jest polecenie:

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

Gdzie:

-Source "c:temp-VMtest2.txt" to ścieżka do pliku źródłowego na maszynie wirtualnej działającej na ESXi

-GuestToLocal to kierunek (z systemu operacyjnego gościa maszyny wirtualnej ESXi na komputer lokalny, na którym wykonywane jest polecenie)

"c:temp" to ścieżka do folderu docelowego na komputerze lokalnym

user1 to nazwa użytkownika w systemie operacyjnym gościa na docelowej maszynie wirtualnej. Użytkownik ten musi mieć dostęp do zdefiniowanego folderu docelowego.

Password to hasło tego użytkownika w systemie operacyjnym gościa

How to copy a file from a virtual machine in PowerCLI

Przykłady użycia cmdletu Copy-VMGuestFile można znaleźć w poleceniu:

get-help Copy-VMGuestFile -examples

Korzystanie z Copy-DatastoreItem

Cmdlet PowerShell Copy-DatastoreItem służy do kopiowania plików do/z magazynu danych ESXi. Istnieją 2 podejścia do używania tego polecenia cmdlet, aby skopiować plik do magazynu danych VMware ESXi:

  • Jeśli PowerCLI jest zainstalowane w systemie Windows jako gość wewnątrz maszyny wirtualnej, możesz uruchomić polecenie kopiowania pliku bezpośrednio z magazynu danych ESXi do maszyny wirtualnej i vice versa.
  • Jeśli nie możesz zainstalować PowerCLI na maszynie wirtualnej znajdującej się na hoście ESXi, możesz uruchomić polecenia PowerCLI z lokalnego komputera z systemem Windows, skopiować pliki z magazynu danych ESXi na lokalną maszynę za pomocą polecenia Copy-VMGuestFile, a następnie skopiować te pliki z lokalnego komputera do maszyny wirtualnej za pomocą Copy-VMGuestFile.

Musisz być połączony z serwerem ESXi lub serwerem vCenter. Możesz to zrobić poleceniem:

ViConnect

Jesteśmy połączeni bezpośrednio z hostem ESXi.

Skopiujmy plik konfiguracyjny maszyny wirtualnej z magazynu danych do bieżącej maszyny z systemem Windows (komputera, na którym uruchamiamy te polecenia – może to być również maszyna wirtualna na hoście ESXi):

  1. Uzyskaj informacje o magazynie danych:

    Get-Datastore "datastore10a"

  2. Uzyskaj obiekt magazynu danych ESXi:

    $datastore = Get-Datastore "datastore10a"

  3. Utwórz nowy dysk PowerShell, nazwany ds:, który jest mapowany do $datastore:

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

  4. Ustaw swój magazyn danych jako bieżącą lokalizację:

    Set-Location ds:

  5. Aby uzyskać listę plików i katalogów w wybranym katalogu, użyj polecenia:

    Get-ChildItem

    Preparing to copy files from an ESXi host

  6. Możesz ustawić katalog maszyny wirtualnej jako nową lokalizację. W naszym przypadku katalog ten to Windows-VM

    Set-Location "Windows-VM"

  7. Polecenie kopiowania pliku maszyny wirtualnej, czyli pliku konfiguracyjnego VMX, z określonego magazynu danych ESXi do folderu temp na bieżącej maszynie:

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

    Gdzie:

    ds:Windows-VMWindows-VM.vmx to ścieżka do pliku, który musi zostać skopiowany, a ds: to zdefiniowany skrót do magazynu danych (w tym przypadku datstore10a).

    Copying a file from an ESXi datastore in PowerCLI

  • Jeśli połączyłeś się z vCenter (nie z konkretnym hostem ESXi, jak to zrobiliśmy w tym przykładzie), możesz użyć następującego polecenia, definiując magazyn danych w centrum danych vCenter, aby skopiować plik z magazynu danych ESXi do folderu na lokalnej maszynie:

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

  • Aby skopiować plik w przeciwnym kierunku (łącząc się z hostem ESXi), użyj polecenia:

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

    Kopiujemy darwin.iso (to jest obraz z narzędziami VMware dla macOS) z maszyny z systemem Windows do katalogu instalacyjnego na magazynie danych ESXi.

    Copy file to VMware ESXi datastore in PowerCLI

  • Jeśli jesteś połączony z vCenter, możesz użyć tego polecenia, aby skopiować plik z lokalnej maszyny Windows do magazynu danych na zdalnym hoście ESXi:

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

Możesz użyć tych poleceń cmdlet PowerCLI i tworzyć skrypty PowerShell do przesyłania plików z maszyny wirtualnej do hosta i odwrotnie.

Polecenia do kopiowania plików z maszyny wirtualnej do hosta w VMware Workstation

Jeśli używasz VMware Workstation (który jest hipernadzorcą drugiego typu) na swoim hoście z systemem Windows lub Linux (lub VMware Fusion na macOS), możesz również użyć interfejsu wiersza poleceń do kopiowania plików z maszyny wirtualnej do hosta i odwrotnie. Możesz użyć narzędzia wiersza poleceń vmrun, aby operować maszynami wirtualnymi. Składnia poleceń jest taka sama dla Windows, Linux i macOS (VMware Fusion). W tym tutorialu używamy VMware Workstation 15 na Windows 10.

  1. Przejdź do katalogu VMware Workstation:

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

  2. Użyj polecenia, aby skopiować plik ze środowiska gościa w maszynie wirtualnej do lokalnego hosta z systemem Windows:

    CopyFileFromHostToGuest

    W naszym przypadku dokładne polecenie to:

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

  3. Wprowadź nazwę użytkownika i hasło dla tego użytkownika, gdy o to poprosi (użytkownik musi mieć wystarczające uprawnienia do dostępu do zdefiniowanego pliku).

    Gdzie:

    d:virtualWinServer2019WinServer2019.vmx jest wirtualnym dyskiem maszyny wirtualnej, z której kopiujemy plik.

    c:temptest.txt jest plikiem przechowywanym na wirtualnym dysku maszyny wirtualnej; jest to plik, który kopiujemy.

    c:tempcopied jest katalogiem, gdzie przechowywana jest kopia pliku na maszynie hosta.

    Upewnij się, że używasz znaku ukośnika podczas ustawiania ścieżki. Skopiowaliśmy test.txt , który jest plikiem tekstowym z maszyny wirtualnej do hosta.

    Alternatywnie, możesz uruchomić polecenie, definiując poświadczenia w poleceniu:

    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

Aby skopiować plik w odwrotnym kierunku (z maszyny hosta do maszyny wirtualnej), użyj polecenia w ten sposób:

CopyFileFromHostToGuest

Nasze konkretne polecenie w tym przykładzie to:

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

How to copy files to virtual machine by using vmrun

Jak przenieść pliki za pomocą SSH i SCP

SSH (Secure Shell) to powszechny protokół do bezpiecznego zarządzania zdalnymi hostami bazujący na szyfrowaniu. SCP to protokół, który opiera się na SSH, aby bezpiecznie kopiować pliki przez sieć. Możesz użyć SCP do przesyłania plików z maszyny wirtualnej do hosta, zwłaszcza jeśli na maszynie wirtualnej działa Linux. Serwery SCP i SSH mogą być włączone na maszynach Linux i ESXi w kilku krokach.

Jak włączyć serwer SSH w ESXi

Usługa serwera SSH musi być włączona na hoście ESXi, aby używać tej metody i przesyłać pliki do oraz z VMware ESXi.

  1. Aby włączyć serwer SSH w Kliencie VMware Host, przejdź do Host > Manage > Services i uruchom TSM-SSH usługę.
  2. SSH musi być dozwolone w zaporze ESXi, aby umożliwić ruch SCP dla przesyłania plików z hosta ESXi, a także łączenia się z innymi maszynami przy użyciu SCP z tego hosta ESXi:
    • Przejdź do Networking w Navigator panelu, wybierz kartę Firewall rules i wybierz SSH Client.
    • Kliknij Actions > Enable aby włączyć regułę zapory.

    Enabling SSH access in the ESXi firewall

  3. Aby sprawdzić połączenie SSH między hostami, możesz uruchomić to polecenie na hoście ESXi:

    nc -z 192.168.101.202 22

    Gdzie:

    192.168.101.202 jest adresem IP zdalnego hosta.

    22 to numer portu dla połączenia SSH (22 to domyślny numer portu).

Ogólna składnia polecenia scp do kopiowania plików poprzez SCP przez sieć:

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

[user]@[SRC_HOST]:path_to_file1 – plik źródłowy

[user]@[DEST_HOST]:path_to_file2 – plik docelowy

-P określa numer portu dla połączenia SSH (użyj tego znacznika, jeśli numer portu nie jest 22).

Poniżej wyjaśniamy konkretne przykłady praktyczne.

Jak skopiować lokalny plik do zdalnej maszyny za pomocą SCP

Aby skopiować lokalny plik do zdalnej maszyny za pomocą SCP, użyj polecenia takiego jak:

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

Z Linux

Skopiujmy plik LinuxDir.txt z lokalnej maszyny Ubuntu Linux (która również może być maszyną wirtualną) na hosta ESXi za pomocą SCP. Lokalizacja docelowa na zdalnym hoście ESXi to katalog install na magazynie danych datastore10a. Adres IP zdalnego hosta ESXi to 192.168.101.201 .

Polecenie do skopiowania pliku z lokalnej maszyny Linux na zdalnego hosta ESXi w naszym przypadku to:

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

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

Możesz przechowywać skopiowany plik na maszynie docelowej z nową nazwą pliku:

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

Użyj znacznika -r aby skopiować katalog wraz ze wszystkimi zawartymi plikami:

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

Z ESXi

Możesz używać poleceń scp na hoście ESXi. Składnia scp w linii komend jest taka sama dla Linux i ESXi. Serwer SSH musi być skonfigurowany na zdalnej maszynie. Zaloguj się do hosta ESXi ( 192.168.101.201 ) i skopiuj katalog install wraz z wszystkimi zawartościami do katalogu domowego user1 na zdalnej maszynie Linux ( 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

Jeśli serwer SSH nasłuchuje na porcie innym niż 22, użyj parametru -P; na przykład, jeśli numer portu SSH to 8022, polecenie to:

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

Jak skopiować plik z maszyny zdalnej na lokalną za pomocą SCP

SCP jest wygodny do kopiowania plików z maszyny zdalnej na lokalną, co pozwala również na przesyłanie plików z Maszyny Wirtualnej na hosta. Poniżej wyjaśniamy, jak uruchomić odpowiednie polecenia w Linux i ESXi.

Kopiowanie plików na lokalną maszynę Linux

Zamierzamy skopiować plik z hosta ESXi na obecną maszynę Linux za pomocą SCP. Aby to zrobić, użyj polecenia jak:

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

Skopiujmy plik darwin.iso z serwera ESXi na określony katalog domowy na maszynie Linux:

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

Kopiowanie plików na lokalny host ESXi

Jeśli zalogujemy się do hosta ESXi, możemy uruchomić polecenie kopiowania pliku Maszyny Wirtualnej z zdalnej maszyny Linux na magazyn danych lokalnego hosta ESXi. Skopiujmy VM_file.txt z maszyny Linux do katalogu magazynu danych ESXi przez sieć za pomocą SCP:

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

Jak skopiować pliki między dwoma zdalnymi maszynami

Istnieją polecenia SCP do kopiowania plików z jednej zdalnej maszyny na drugą zdalną maszynę z i bez kopiowania danych przez obecną lokalną maszynę. Składnia polecenia jest taka:

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

Dane są przesyłane bezpośrednio z jednego hosta zdalnego do drugiego (bez kopiowania na naszą obecną lokalną maszynę) przy użyciu powyższego polecenia. Jeśli chcesz przesyłać ruch przez swoją lokalną maszynę, na której uruchamiasz polecenie, użyj flagi -3.

Uwaga: Użyj tego polecenia, jeśli poświadczenia na obu zdalnych hostach są takie same.

Przykład polecenia uruchamianego na lokalnej maszynie Linux do kopiowania pliku (vim.v00) z zdalnego hosta ESXi (192.168.101.202) na lokalny host ESXi (192.168.101.201):

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

Jeśli zobaczysz błąd Host key verification failed, oznacza to, że klucz hosta nie jest przechowywany na jednym z hostów. Jeśli błąd jest spowodowany zmianą klucza hosta na zdalnym serwerze, usuń stary klucz hosta dla obecnego zdalnego hosta przechowywany w ~/.ssh/known_hosts

Polecenie usunięcia starego klucza hosta to: ssh-keygen -R hostname_or_IP_address

Na przykład uruchom komendę na 192.168.101.202, aby usunąć stary klucz hosta dla zdalnego hosta 192.168.101.201:

ssh-keygen -R 192.168.101.201

Przykład użycia -3 w komendzie do kopiowania plików przez lokalną maszynę:

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

Alternatywna komenda dla tego celu to:

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

Jak kopiować pliki za pomocą SCP z Windowsa

Możesz także kopiować pliki do maszyn wirtualnych lub hostów ESXi na Windowsie. Do tego potrzebny jest klient SCP, taki jak WinSCP, który jest przyjazny użytkownikowi i wygodny w obsłudze z graficznym interfejsem. Możesz pobierz WinSCP za darmo.

  1. Uruchom WinSCP.
    • Wybierz protokół, na przykład, SFTP.
    • Wpisz nazwę hosta i numer portu zdalnego hosta, takiego jak host ESXi lub maszyna z Linuksem.
    • Wprowadź nazwę użytkownika i hasło zdalnej maszyny.
    • Kliknij Login.

    W tym przykładzie łączymy się z zdalnym hostem ESXi.

    Connecting to an ESXi host in WinSCP to copy files

  2. Pojawi się komunikat powiadomienia:

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

    Kliknij Yes aby kontynuować.

  3. Po połączeniu zobaczysz okno typu commander z dwoma panelami. Jeden panel przedstawia katalog na lokalnej maszynie, a drugi panel przedstawia katalog na zdalnej maszynie. Możesz kopiować pliki między lokalnym i zdalnym hostem, kopiując pliki między tymi dwoma panelami.

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

Możesz kopiować pliki z magazynu danych zdalnego hosta ESXi, do którego jesteś połączony w WinSCP, do zdalnej maszyny wirtualnej na Windowsie lub maszyny fizycznej przy użyciu udziału plików SMB na tej maszynie z Windowsa.

Jednak nie możesz wprowadzić bezpośredniej ścieżki udziału w panelu WinSCP (na przykład, 192.168.101.117c$). Możesz jedynie wybrać literę napędu dysku. Aby ominąć to ograniczenie, połącz się z udziałem plików w Eksploratorze Windows i mapuj ten udział jako dysk sieciowy. Przypisz literę napędu, na przykład, S:, jak zrobiliśmy w tym przykładzie, aby połączyć wspólny folder na 192.168.101.211 .

Teraz możemy wybrać S: jako napęd sieciowy w rozwijanym menu w lewym panelu WinSCP, wybrać potrzebne pliki lub katalogi na magazynie danych zdalnego serwera ESXi i kopiować pliki w obu kierunkach.

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

Używanie udziału NFS

Możesz używać udziału NFS do przenoszenia plików do maszyn wirtualnych z magazynu danych ESXi i vice versa. ESXi nie obsługuje udziałów SMB (natywnych dla Windowsa). Obsługuje udziały NFS (natywne dla Linuksa) oraz dołączanie udziału NFS jako magazynu danych. Korzystając z tej funkcji, możesz użyć jednej z następujących metod do przesyłania plików między maszynami ESXi i Linux:

Podejście 1 :

  • Skonfiguruj serwer NFS oraz udział NFS na maszynie wirtualnej Linux
  • Dołącz udział NFS jako magazyn danych na ESXi
  • Kopiuj pliki z maszyny wirtualnej do magazynu danych ESXi i odwrotnie

Podejście 2 :

  • Skonfiguruj serwer NFS na fizycznej maszynie z Linux lub NAS
  • Dołącz udział NFS jako magazyn danych na ESXi
  • Połącz się z udziałem NFS na maszynie wirtualnej Linux
  • Kopiuj pliki z maszyny wirtualnej Linux na udział NFS a następnie kopiuj te pliki do hosta ESXi. Kopiuj pliki z hosta ESXi do udziału NFS i kopiuj te pliki z udziału NFS do maszyny wirtualnej Linux.

Przeczytaj NFS a SMB porównanie, aby dowiedzieć się więcej o tych protokołach udostępniania plików.

Konfigurowanie udziału NFS na Linuksie

W tym samouczku korzystamy z Linuksa Ubuntu 20.04. Zalogowaliśmy się na Linuksa jako zwykły użytkownik i używamy sudo gdy potrzebne są uprawnienia root do uruchomienia polecenia. Wykonaj następujące kroki, aby zainstalować serwer NFS i skonfigurować udział NFS.

  1. Zaktualizuj drzewo repozytoriów w Linux:

    sudo apt-get update

  2. Zainstaluj pakiet serwera NFS na Linux:

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

  3. Utwórz katalog (katalog eksportowy), który będzie udostępniany na serwerze NFS:

    sudo mkdir -p /srv/nfs/share1/

  4. Ustaw właściciela i uprawnienia do utworzonego katalogu:

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

    sudo chmod 0777 /srv/nfs/share1/

    nobody to pseudo użytkownik do reprezentacji użytkownika z najmniejszymi uprawnieniami bez dostępu do powłoki. Celem grupy nogroup jest podobny do użytkownika nobody.

    Creating a directory for an NFS share

  5. Skonfiguruj plik exports, aby udostępnić utworzony katalog.

    sudo nano /etc/exports

    lub

    sudo vim /etc/exports

  6. Dodaj linię na dole pliku konfiguracyjnego:

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

    W naszym przypadku linia z dozwolonym adresem IP naszego hosta ESXi jest:

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

    Możesz zezwolić na dostęp dla wszystkich hostów podsieci, dodając linię:

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

    Możesz dodać następną linię, aby zezwolić na dostęp dla innego hosta (adres IP).

    Zapisz zmiany w pliku konfiguracyjnym i zamknij edytor tekstu.

  7. Aby sprawdzić, czy dane zapisano do pliku, możesz użyć polecenia:

    cat /etc/exports

  8. Zastosuj nową konfigurację za pomocą polecenia:

    sudo exportfs -a

  9. Upewnij się, że zapora na maszynie Linux z serwerem NFS umożliwia dostęp. Możesz udzielić dostępu do konkretnego adresu IP poleceniem takim jak:

    sudo ufw allow from IP to any port nfs

    W naszym przypadku:

    sudo ufw allow from 192.168.101.201 to any port nfs

    Aby umożliwić dostęp do hostów z całej podsieci:

    sudo ufw allow from SUBNET to any port nfs

    W naszym przypadku polecenie będzie wyglądać następująco:

    sudo ufw allow from 192.168.101.0/24 to any port nfs

  10. Możesz sprawdzić status zapory przy użyciu polecenia:

    sudo ufw status

  11. Uruchom ponownie serwer NFS, aby wprowadzone zmiany konfiguracji zaczęły obowiązywać:

    sudo systemctl restart nfs-kernel-server

  12. Udział NFS został skonfigurowany w systemie Linux.
  13. Skopiuj plik z dowolnego katalogu na maszynie Linux do katalogu udostępnionego za pośrednictwem NFS. Kopiujemy VM_file.txt do naszego Udziału NFS i sprawdzamy zawartość katalogu po zakończeniu:

    cp VM_file.txt /srv/nfs/share1/

    ls -al /srv/nfs/share1/

    Copying a file to a directory configured as an NFS share

Montowanie magazynu danych NFS w ESXi

Musisz dodać magazyn danych NFS w ESXi po skonfigurowaniu Udziału NFS. Użytkownik VMware Host Client zostanie wykorzystany w tym przykładzie.

Przejdź do Storage > Datastores i kliknij New datastore.

Creating a new datastore to mount the NFS as a datastore

New datastore otwiera kreatora.

  1. Wybierz Mount NFS datastore. Kliknij Next, aby kontynuować.

    How to mount an NFS datastore in ESXi

  2. Podaj szczegóły montowania NFS:
    • Nazwa: NFS-share (nazwa, która będzie wyświetlana jako nazwa magazynu danych)
    • Serwer NFS: 192.168.101.210
    • Udział NFS: /srv/nfs/share1/
    • Wersja NFS: NFS4

    Nazwa użytkownika i hasło są opcjonalne dla NFS4. Pozostawiamy te dwa pola puste.

    Entering the details to mount an NFS datastore in ESXi

  3. Gotowe do zakończenia. Sprawdź swoją konfigurację i kliknij Finish, jeśli wszystko jest poprawne.

Kopiowanie plików z maszyny wirtualnej na hosta

Magazyn danych NFS został pomyślnie zamontowany. Możesz to sprawdzić w Storage > Datastores.

Teraz możemy kopiować pliki z Maszyny wirtualnej przechowywanej na Udziale NFS do lokalnego magazynu danych ESXi (przenieś pliki z Maszyny wirtualnej na hosta).

  1. Kliknij Datastore Browser.

    Browsing the NFS datastore to copy a VM file

  2. Wybierz swój magazyn danych NFS w przeglądarce magazynu danych (NFS-share w naszym przypadku). Przeglądaj potrzebny plik w magazynie danych NFS. Wybierz potrzebny plik i kliknij Copy.

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

  3. Wybierz miejsce docelowe. Wybierz potrzebną lokalizację w docelowym magazynie danych, gdzie chcesz przechowywać skopiowany plik (datastore10b w naszym przypadku). Kliknij Copy.

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

    Alternatywnie, możesz skopiować potrzebny plik w wierszu poleceń na serwerze ESXi:

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

Użycie interfejsu internetowego VMware do pobierania/przesyłania plików

Możesz użyć interfejsu internetowego klienta VMware Host lub Klient VMware vSphere do przesyłania/pobierania plików z/do magazynu danych ESXi. Interfejs internetowy jest dostępny z dowolnej fizycznej lub wirtualnej maszyny, gdzie zainstalowana jest przeglądarka internetowa i istnieje połączenie sieciowe z hostem ESXi. Możesz zatem otworzyć ten interfejs internetowy bezpośrednio z maszyny wirtualnej, jeśli system operacyjny gościa posiada GUI, lub użyć dowolnej lokalnej maszyny jako pośrednika do przesyłania plików z maszyny wirtualnej do hosta i odwrotnie.

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

Istnieje alternatywny, ale bardziej skomplikowany sposób przesyłania plików do VMware ESXi z maszyn wirtualnych:

  1. Pobierz wirtualny dysk maszyny wirtualnej na swoją lokalną maszynę lub inną maszynę.
  2. Wyodrębnij potrzebne pliki z tego dysku wirtualnego maszyny wirtualnej (.vmdk i -flat.vmdk) na lokalną maszynę. Alternatywnie, możesz zamontować wirtualny dysk na wirtualnym napędzie, jeśli zainstalowano VMware Workstation.
  3. Prześlij wyodrębnione pliki lub pliki z zamontowanego wirtualnego dysku do magazynu danych hosta ESXi za pomocą jednej z metod opisanych wcześniej (w kliencie VMware Host, kliencie vSphere lub kliencie SCP, itp.).

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

Przeczytaj szczegółowy post na blogu o jak wyodrębnić pliki z dysków wirtualnych VMDK.

Używanie plików ISO do przesyłania danych do maszyny wirtualnej

Jeśli połączenie sieciowe jest niedostępne dla maszyny wirtualnej, możesz przesyłać pliki do maszyn wirtualnych VMware używając plików obrazu ISO:

  1. Utwórz obraz ISO za pomocą oprogramowania jak Ultra ISO dla Windows.
  2. Zapisz potrzebne pliki na obrazie ISO na swojej lokalnej maszynie lub innej maszynie. Możesz skopiować pliki z ESXi przy użyciu jednej z metod opisanych powyżej i zapisać je na obrazie ISO.
  3. Zamontuj plik obrazu ISO na maszynie wirtualnej używając wirtualnego napędu CD/DVD maszyny wirtualnej (możesz zamontować plik ISO bezpośrednio ze swojej lokalnej maszyny lub przesłać plik ISO do magazynu danych ESXi przed wykonaniem tej czynności). Użyj VMware Host Client, VMware vSphere Client, VMware Workstation lub VMware Remote Console, aby zamontować plik ISO na maszynie wirtualnej ESXi.

Tej metody nie można użyć do przesyłania plików z maszyny wirtualnej do hosta, ponieważ maszyna wirtualna pracuje z wirtualnym dyskiem CD/DVD w trybie tylko do odczytu.

Wnioski

Istnieje wiele metod kopiowania plików z komputera hosta do maszyn wirtualnych i odwrotnie. Niektóre z nich wymagają połączenia sieciowego, a inne działają nawet w przypadku braku dostępu do sieci. Można skorzystać z metody, która najlepiej pasuje do danej sytuacji, a także łączyć różne metody. Należy pamiętać o wykonywaniu kopii zapasowych maszyn wirtualnych, aby uniknąć utraty danych. Dzięki rozwiązaniu NAKIVO Backup & Replication można zabezpieczyć maszyny wirtualne w środowisku VMware vSphere oraz odzyskać poszczególne pliki bezpośrednio z kopii zapasowej maszyny wirtualnej.

Wypróbuj NAKIVO Backup & Replication

Wypróbuj NAKIVO Backup & Replication

Skorzystaj z bezpłatnej wersji próbnej, aby zapoznać się ze wszystkimi funkcjami rozwiązania w zakresie ochrony danych. 15 dni za darmo. Bez żadnych ograniczeń dotyczących funkcji ani pojemności. Nie jest wymagana karta kredytowa.

People also read