Najskuteczniejsze sposoby przesyłania plików z maszyny wirtualnej na komputer hosta
Maszyny wirtualne oferują wiele korzyści, takich jak elastyczność, racjonalne wykorzystanie zasobów oraz możliwość pracy w izolowanych środowiskach. Częstym zadaniem w środowiskach wirtualnych jest kopiowanie plików między maszynami wirtualnymi a hostami. Zapoznaj się z tym artykułem, 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.
Elementy naszego środowiska
Zacznijmy od omówienia terminologii:
- A host to fizyczna maszyna, na której zainstalowany jest hiperwizor.
- A hiperwizor to oprogramowanie do wirtualizacji służące do uruchamiania maszyn wirtualnych na hoście. Istnieją dwa rodzaje hiperwizorów:
- Typ 1: Wykorzystanie serwera ESXi, który pełni rolę maszyny hosta
- Typ 2: Wykorzystanie VMware Stacji Roboczej, przy czym w tym przypadku systemem operacyjnym maszyny hosta może być Windows lub Linux
W niniejszym przewodniku środowisko wykorzystane do wyjaśnienia sposobu przesyłania plików z maszyny wirtualnej do hosta składa się z następujących elementów:
- Host ESXi 1: 192.168.101.201
- Host ESXi 2: 192.168.101.202
- Maszyna z systemem Ubuntu Linux: 192.168.101.210
- Host Windows z zainstalowaną stacją roboczą VMware Workstation
- Sieć: 192.168.101.0/24
- Maszyny wirtualne ESXi i stacje robocze VMware Workstation podłączone do tej samej sieci
Używamy następujących technologii do kopiowania plików między maszynami wirtualnymi a hostami:
- Foldery współdzielone
- Współdzielony schowek i przeciąganie & Upuszczanie
- Urządzenie magazynu USB
- PowerCLI
- SSH i SCP
- Udostępnianie NFS
- Pobieranie/Przesyłanie plików w interfejsie internetowym VMware
- Pliki ISO
Korzystanie z folderów współdzielonych do przesyłania plików maszyny wirtualnej do hosta
Foldery współdzielone to wygodna funkcja programu VMware Workstation, służąca do przesyłania plików między fizycznym hostem z systemem Windows lub Linux, na którym zainstalowano program VMware Workstation, a maszynami wirtualnymi działającymi w programie VMware Workstation. W przypadku systemu macOS program VMware Fusion jest odpowiednikiem programu VMware Workstation i obsługuje podobne funkcje.
Przejdźmy teraz do omówienia kroków niezbędnych do przesyłania plików z maszyny wirtualnej do hosta i odwrotnie przy użyciu folderów współdzielonych VMware.
Uwaga: Aby ta funkcja działała, Narzędzia VMware musi być zainstalowany na maszynie wirtualnej. Dane między hostem a maszyną wirtualną są przesyłane za pomocą interakcji poprzez VMware Tools między hostem a systemem operacyjnym gościa bez użycia sieci.
- Wybierz maszynę wirtualną, dla której chcesz skonfigurować udział plików VMware. Wybieramy jedną z naszych maszyn wirtualnych z systemem Windows.
- Kliknij
VM > Settings(Edytuj ustawienia maszyny wirtualnej) w interfejsie graficznym VMware Workstation. - W oknie
Virtual Machine Settingswybierz kartęOptionsi kliknijShared Folders. W sekcjiFolder sharingwybierzAlways enabled. Opcjonalnie można dla większej wygody zamapować folder współdzielony jako dysk sieciowy w systemach Windows działających w trybie gościa, zaznaczając odpowiednie pole wyboru. - Kliknij
Add, aby wybrać folder, który ma służyć jako folder współdzielony.
- Wprowadź ścieżkę do folderu, który chcesz udostępnić na hoście, lub kliknij
Browsei wybierz odpowiedni folder. WybieramyC:tempshare-VMWprowadź nazwę folderu współdzielonego, na przykład
share-VMKliknij
Next.
- Wybierz
Enable this share. Jeśli chcesz, aby maszyny wirtualne miały dostęp do folderu współdzielonego w trybie tylko do odczytu, zaznacz pole wyboruRead-only. KliknijFinish.
- Nowy folder współdzielony jest teraz wyświetlany na liście folderów współdzielonych w zakładce
OptionsoknaVirtual machine settings. Folder współdzielony jest włączony, jeśli obok nazwy pliku zaznaczone jest odpowiednie pole wyboru.Kliknij
OK, aby zapisać ustawienia.
- Otwórz interfejs użytkownika maszyny wirtualnej z systemem Windows używanej do udostępniania folderu za pomocą funkcji
Shared folders. - Kliknij
Network(My Network Places) wMy Computer(This PC) lub Eksploratorze Windows, aby wyświetlić komputery dostępne w sieci. - Wybierz
vmware-hostjako nazwę komputera, na którym skonfigurowano folder udostępniony. Ta nazwa jest ustawiona domyślnie i jest przypisana do Twojej maszyny fizycznej (hosta) z folderem udostępnionym.
- Kliknij
Shared Foldersi wybierz potrzebny folder udostępniony (share-VMw naszym przykładzie). Pełna ścieżka do folderu współdzielonego w naszym przypadku tovmware-hostShared Foldersshare-VM
Można kopiować pliki do maszyny wirtualnej z hosta oraz do hosta z maszyny wirtualnej. W naszym przykładzie skopiowaliśmy Test01.txt z hosta z systemem Windows do gościa z systemem Windows, korzystając z funkcji udziału plików VMware w stacji roboczej VMware Workstation.

W przypadku gości z systemem Linux można zamontować wszystkie foldery współdzielone VMware za pomocą polecenia pokazanego poniżej:
- W systemie Linux z jądrem starszym niż 4.0:
mount -t vmhgfs .host:/ /home/user1/shares - W systemie Linux z jądrem 4.0 lub nowszym:
/usr/bin/vmhgfs-fuse .host:/ /home/user1/shares -o subtype=vmhgfs-fuse,allow_other
Jeśli chcesz, aby folder współdzielony pozostał zamontowany po ponownym uruchomieniu maszyny wirtualnej, dodaj odpowiednie wiersze wraz z komentarzem i konfiguracją z /etc/fstab , na przykład:
#
Folder współdzielony VMware do przesyłania plików między systemem-gościem VMware a hostem
.host:/ /mnt/hgfs/ fuse.vmhgfs-fuse defaults,allow_other,uid=1000 0 0
Zanim przejdziemy do następnej sekcji, należy pamiętać, że funkcja folderów współdzielonych jest dostępna tylko w VMware Workstation (oraz VMware Fusion w systemie macOS), a nie jest dostępna dla maszyn wirtualnych działających na hostach ESXi. W przypadku hostów ESXi można ręcznie udostępnić folder i korzystać z sieci do kopiowania plików między komputerami z systemem Windows. Aby skopiować pliki z maszyny wirtualnej na host ESXi, należy użyć dodatkowego narzędzia lub połączyć kopiowanie plików z ręcznie udostępnionego folderu z jedną z metod opisanych poniżej.
Istnieją 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 posiadasz konto Windows z uprawnieniami administratora, a polityka bezpieczeństwa zezwala na dostęp do ukrytych udziałów administracyjnych dostępnych domyślnie, możesz uzyskać dostęp do plików na dyskach lokalnych komputera z systemem Windows, używając ścieżki do udziału w postaci:
IP-Addressc$
Gdzie:
IP-Address to adres IP lub nazwa hosta zdalnego komputera z systemem Windows.
C$ to litera dysku na zdalnym komputerze z systemem Windows, który jest ukrytym udziałem systemowym.
Korzystanie ze wspólnego schowka do przesyłania plików do maszyn wirtualnych z komputera hosta
Wspólny schowek to funkcja, która pozwala kopiować i wklejać zawartość, taką jak tekst i całe pliki, z maszyny wirtualnej na komputer hosta, na którym zainstalowano program VMware Workstation. Proces ten jest podobny do kopiowania i wklejania treści między różnymi oknami aplikacji w systemie Windows lub Linux za pomocą interfejsu graficznego.
Pełen zakres funkcji jest dostępny w VMware Workstation, co pozwala na przesyłanie plików do maszyn wirtualnych z hosta oraz do hosta z maszyny wirtualnej. Alternatywą dla kopiowania i wklejania jest przeciąganie i upuszczanie plików.
Wspólny schowek w VMware Workstation
Przyjrzyjmy się, jak przesyłać pliki do maszyn wirtualnych VMware Workstation przy użyciu wspólnego schowka i funkcji „przeciągnij i upuść”. & W naszym przykładzie VMware Workstation jest zainstalowany na hoście z systemem Windows.
- Wybierz swoją maszynę wirtualną w lewym panelu, gdzie wyświetlone są maszyny wirtualne.
- Kliknij
Edit virtual machine settings(VM > Settings).
- Wybierz kartę
Optionsi kliknijGuest Isolation.Zaznacz dwa pola wyboru:
- Enable drag and drop
- Enable copy and paste
Kliknij
OK, aby zapisać ustawienia i zamknąć okno.
Wspólny schowek w VMware ESXi
W przypadku maszyn wirtualnych działających w środowisku VMware ESXi nie można kopiować żadnych plików metodą „przeciągnij i upuść” & ani za pomocą wspólnego schowka między maszyną wirtualną na hoście ESXi a dowolnym innym komputerem. Jedyną opcją jest kopiowanie i wklejanie tekstu między maszyną wirtualną działającą w środowisku ESXi a komputerem lokalnym (na którym zainstalowano program VMware Stacja robocza lub Konsola zdalna VMware ). Nie ma wsparcia dla funkcji kopiowania i wklejania oraz „przeciągnij i upuść” & dla plików ze względów bezpieczeństwa. Jeśli jednak nie możesz skopiować pliku konfiguracyjnego, możesz skopiować zawartość tekstową tego pliku za pomocą wspólnego schowka. Domyślnie wspólny schowek jest wyłączony w konfiguracji maszyny wirtualnej ESXi. Aby włączyć wspólny schowek w celu kopiowania i wklejania danych tekstowych, wykonaj następujące czynności na hoście ESXi:
- Podczas edycji konfiguracji maszyny wirtualnej musi ona być wyłączona. Wyłącz maszynę wirtualną, jeśli jest uruchomiona.
- Otwórz
VM settings. Możesz użyć VMware Host Client i VMware vSphere Client. Wybierz maszynę wirtualną, kliknijEdit VM settingsi wybierz kartęVM options.Rozwiń sekcję
Advanced Settingsi kliknijEdit Configuration.
- Musisz dodać trzy parametry konfiguracyjne do konfiguracji maszyny wirtualnej (zapisane w pliku konfiguracyjnym VMX maszyny wirtualnej). Kliknij
Add parameter.
- Dodaj te trzy parametry:
isolation.tools.copy.disable FALSEisolation.tools.paste.disable FALSEisolation.tools.setGUIOptions.enable TRUE - Kliknij
OKi zapisz ustawienia.
Alternatywnie możesz ręcznie edytować plik VMX z konfiguracją maszyny wirtualnej znajdujący się w magazynie danych ESXi w katalogu maszyn wirtualnych.
- Zaloguj się do powłoki ESXi lokalnie lub przez SSH.
- Przejdź do katalogu maszyn wirtualnych (katalogu, w którym pliki maszyn wirtualnych są przechowywane w magazynie danych). W naszym przypadku przechodzimy do tego katalogu:
cd /vmfs/volumes/datastore10a/Windows-VM/
- Edytuj plik konfiguracyjny VMX. W naszym przypadku plik ten to
Windows-VM.vmxvi Windows-VM.vmx - Dodaj trzy parametry pokazane powyżej na końcu tego pliku konfiguracyjnego.
- Zapisz zmiany i zamknij plik (wyjdź z edytora tekstu).

Teraz możemy kopiować i wklejać tekst między naszym komputerem lokalnym a zdalną maszyną wirtualną działającą na hoście ESXi, używając konsoli zdalnej VMware i stacji roboczej VMware Workstation do połączenia się z maszyną wirtualną.
Korzystanie z urządzenia pamięci masowej USB
VMware ESXi i VMware Workstation obsługują funkcję passthrough USB, która pozwala podłączyć urządzenie USB do komputera hosta i połączyć to urządzenie USB z maszyną wirtualną działającą na tym hoście. Można podłączyć urządzenie pamięci masowej USB kolejno do komputera hosta i maszyny wirtualnej, aby kopiować pliki między tymi maszynami w dowolnym kierunku.
Uwaga: Aby korzystać z funkcji passthrough USB, w systemie operacyjnym (OS) gościa maszyny wirtualnej muszą być zainstalowane narzędzia VMware Tools.
Kopiowanie plików między maszynami wirtualnymi VMware Workstation a komputerem hosta
Aby przenieść pliki z maszyny wirtualnej na komputer hosta w programie VMware Workstation zainstalowanym na komputerach hosta z systemem Windows i Linux (interfejs jest ten sam), wykonaj następujące czynności:
- Włącz maszynę wirtualną.
- Podłącz nośnik pamięci USB, taki jak dysk twardy USB (HDD) lub pamięć USB, do fizycznego komputera pełniącego rolę komputera hosta.
- W programie VMware Workstation otworzy się okno
New USB Device Detected. Wybierz miejsce, w którym chcesz podłączyć urządzenie USB:- Podłącz do hosta
- Podłącz do maszyny wirtualnej
Wybierzmy drugą opcję i podłączmy naszą pamięć USB do maszyny wirtualnej. W tym przykładzie uruchomiliśmy maszynę wirtualną z systemem Windows. Jeśli w programie VMware stacja robocza działa wiele maszyn wirtualnych, należy wybrać potrzebną maszynę z listy. Urządzenie USB można podłączyć tylko do jednej maszyny wirtualnej naraz. Kliknij
OK, aby kontynuować.
Jeśli urządzenie pamięci USB zostało już podłączone do portu USB fizycznego komputera hosta, na którym zainstalowano VMware Workstation, wyskakujące okienko z opcjami passthrough USB nie zostanie wyświetlone automatycznie. Urządzenie USB można podłączyć do maszyny wirtualnej (odłączając je od hosta) w menu:
Przejdź do
VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from host).W naszym przykładzie nazwa pamięci USB to Kingston DataTraveler 2.0.

- Teraz widzimy pamięć USB podłączoną do maszyny wirtualnej z systemem Windows 7 na liście dysków w oknie „Mój komputer” (Eksplorator Windows). Aby sprawdzić urządzenie pamięci USB:
- Kliknij prawym przyciskiem myszy
My Computeri wybierzManage. - Przejdź do
Computer Management > Device Manager and Computer Management > Disk Managementw odpowiednim module po kliknięciu prawym przyciskiem myszy.
Jeśli litera dysku nie została przypisana automatycznie, przypisz ją ręcznie w module
Disk Management.Procedura dla systemów gościnnych Linux jest identyczna. W niektórych dystrybucjach Linux może być konieczne ręczne zamontowanie podłączonego urządzenia pamięci USB, takiego jak pamięć flash, w systemie operacyjnym Linux.
- Kliknij prawym przyciskiem myszy
- Po zamontowaniu urządzenia pamięci USB w maszynie wirtualnej i rozpoznaniu go przez system operacyjny gościa skopiuj potrzebne pliki z maszyny wirtualnej na urządzenie pamięci USB. Kopiowanie plików z urządzenia pamięci USB do maszyny wirtualnej również działa.

- Po skopiowaniu wszystkich potrzebnych plików z maszyny wirtualnej na pamięć USB odłącz ją 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).
- Urządzenie pamięci USB jest teraz podłączone do komputera hosta (w naszym przypadku jest to komputer z systemem Windows, na którym działa VMware Workstation). Możemy przenieść pliki skopiowane z maszyny wirtualnej na pamięć USB do komputera hosta.
Przepuszczanie USB z VMware Stacją Roboczą do maszyn wirtualnych ESXi
Możesz użyć pamięci USB podłączonej do serwera ESXi i podłączonej do lokalnego komputera z systemem Windows lub Linux (z zainstalowanym VMware Workstation lub VMware Remote Console (VMRC)), którego używasz do zdalnego zarządzania hostem ESXi, aby podłączyć tę pamięć USB do maszyny wirtualnej ESXi. W pierwszym przypadku wykorzystywane jest przekierowanie USB połączone z hostem , a w drugim przypadku wykorzystywane jest przekierowanie USB połączone z klientem .
Podłączmy pamięć USB włożoną do naszego lokalnego fizycznego komputera z systemem Windows 10 do maszyny wirtualnej z systemem Windows XP działającej na hoście ESXi v7.0 (wykorzystując funkcję przekierowania USB połączonego z klientem). VMware Workstation jest zainstalowany na naszym fizycznym komputerze z systemem Windows i podłączony do hosta ESXi przez sieć (192.168.101.0/24).
Aby to zrobić:
- Maszyna wirtualna musi być wyłączona, aby można było edytować jej ustawienia.
- Upewnij się, że
USB controllerznajduje się na liście wirtualnego sprzętu maszyny wirtualnej. Możesz sprawdzić konfigurację maszyny wirtualnej w VMware Host Client. Wybierz swoją maszynę wirtualną (w naszym przypadkuWindows-VM), kliknijEdit Settingsi wybierz zakładkęVirtual Hardware.
- Wróćmy do stacji roboczej VMware Workstation zainstalowanej na naszym lokalnym (fizycznym) komputerze z systemem Windows 10. Kliknij
File > Connect to a serverw stacji roboczej VMware Workstation, aby połączyć się ze zdalnym hostem ESXi.
- Wprowadź nazwę serwera ESXi lub adres IP, nazwę użytkownika i hasło. Kliknij
Connect.
- Rozwiń host ESXi w lewym panelu stacji roboczej VMware, gdzie wyświetlane są hosty zdalne, zdalne maszyny wirtualne na tych hostach oraz lokalne maszyny wirtualne VMware stacji roboczej.
- Wybierz maszynę wirtualną działającą na zdalnym hoście ESXi. Wybieramy
Windows-VMdziałającą na 192.168.101.201 . Następnie widzimy interfejs użytkownika systemu operacyjnego gościa wybranej maszyny wirtualnej. - Kliknij
VM > Removable Devices > Your USB Storage Device Name > Connect (Disconnect from Host).Zwróć uwagę, że wybieramy urządzenie USB podłączone do naszego fizycznego komputera z systemem Windows, na którym zainstalowano VMware Station. To urządzenie USB nie jest podłączone do fizycznego hosta ESXi, z którym nawiązaliśmy połączenie zdalne.

- Teraz widzimy nasz pendrive USB podłączony do maszyny wirtualnej z systemem Windows XP działającej na zdalnym hoście ESXi:
Start > CMD > compmgmt.msc > Device Manager.
- Przypisz literę dysku do partycji podłączonego pendrive’a USB, jeśli nie została ona jeszcze przypisana. Skopiuj potrzebne pliki między maszyną wirtualną a pendrive’em USB. Możesz przesyłać pliki zarówno do maszyny wirtualnej, jak i z niej.

- Po skopiowaniu plików można odłączyć urządzenie pamięci USB od maszyny wirtualnej i podłączyć je z powrotem do lokalnego 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 w systemie 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 istnieją ograniczenia dotyczące obsługiwanych systemów plików, które można zamontować w ESXi. 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). VFAT ma pewne ograniczenia, takie jak maksymalny rozmiar partycji i maksymalny rozmiar pliku. Dlatego ta metoda nie ma zastosowania w przypadku dużych plików, takich jak dyski wirtualne lub obrazy ISO większe niż 4 GB. Jednak te limity są wystarczające do przeniesienia plików konfiguracyjnych, sterowników itp.
Tworzenie partycji na pendrive’ie
Przede wszystkim utwórzmy nową partycję na naszym pendrive’ie 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 (używając funkcji passthrough USB podłączonego do hosta). Alternatywnie możemy włożyć pamięć USB do fizycznej maszyny z systemem Windows lub Linux.
W tym przykładzie używamy maszyny z systemem Windows 7 do przygotowania pamięci USB dla ESXi. Polecenia dla Windows Server 2008R2, Windows 10 i innych nowszych wersji Windows są takie same.
- Aby upewnić się, że pamięć USB jest podłączona do komputera z systemem Windows, kliknij prawym przyciskiem myszy
My ComputerlubThis PC(lub uruchomdiskmgmt.mscz wiersza poleceń CMD), aby otworzyćDisk Management. - Otwórz wiersz poleceń systemu Windows:
Start > Run > cmd - Wpisz
diskpartw wierszu poleceń i naciśnijEnter.Pojawi się wiersz poleceń programu diskpart:
Diskpart - Wyświetl listę dysków podłączonych do komputera z systemem Windows:
list diskZnajdź swoją pamięć USB na wyświetlonej liście i zapamiętaj numer dysku. W naszym przypadku
Disk 1to numer naszej pamięci USB (zobacz zrzut ekranu poniżej). - Wybierz swoją pamięć USB, podając odpowiedni numer dysku uzyskany z wyników powyższego polecenia (w naszym przypadku
disk 1).select disk 1 - Wyświetl listę partycji na wybranej pamięci USB:
list partitionNa naszej pamięci USB mamy jedną partycję (
Partition 1) (patrz zrzut ekranu poniżej). Posiadanie jednej partycji na pamięci USB jest najczęstszym przypadkiem.
Następnie musimy usunąć partycje z pamięci USB.
Ważne: Wszystkie dane na pamięci USB zostaną usunięte. W razie potrzeby możesz skopiować dane z pamięci USB przed przejściem do kolejnych kroków.
- Wybierz partycję na pendrive’ie, która ma zostać usunięta:
select partition 1 - Uruchom polecenie, aby usunąć wybraną partycję:
delete partition - Ponownie wybierz dysk, którym jest Twój pendrive:
select disk 1
- Utwórz nową partycję z systemem plików VFAT. W tym przykładzie tworzymy partycję o rozmiarze 4 GB na naszym pendrive’ie. Pamiętaj, że na systemie plików VFAT nie można przechowywać plików większych niż 4 GB. Należy pamiętać, że system plików VFAT oferuje tylko format nazw plików 8.3.
create partition primary size=4000 id=6 - Sformatuj utworzoną partycję w ten sposób, aby zapewnić zgodność z systemem ESXi:
format fs=fat quick
- Wyjdź z narzędzia diskpart (uruchom polecenie
exit).
Pendrive jest gotowy do rozpoznania przez system ESXi i kopiowania plików. Po wykonaniu kilku dodatkowych czynności konfiguracyjnych w systemie ESXi można podłączyć pendrive do maszyny wirtualnej i skopiować na niego potrzebne pliki.
Załóżmy, że musimy skopiować archiwum ZIP ze sterownikami. W naszym przykładzie skopiowaliśmy plik net-tulip.zip na pamięć USB. Następnie musimy zamontować partycję pamięci USB podłączonej do serwera ESXi w wierszu poleceń ESXi.
Konfiguracja hosta ESXi do korzystania z pamięci USB
Załóżmy, że musimy skopiować archiwum ZIP zawierające sterownik z pamięci USB do magazynu danych ESXi, a następnie skopiować plik konfiguracyjny maszyny wirtualnej z magazynu danych ESXi na pamięć USB. W naszym przykładzie nazwy plików to: net-tulip.zip Aby przenieść pliki z pamięci USB do VMware ESXi i odwrotnie, wykonaj następujące czynności na hoście ESXi:
- Konfiguracja odbywa się w interfejs wiersza poleceń. Z tego powodu należy 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 > Managei wybierz kartęServices. Kliknij prawym przyciskiem myszyTSM-SSHi kliknijStart, aby uruchomić usługę. Możesz włączyć tę usługę na stałe.

- Aby włączyć zdalny dostęp SSH w DCUI, przejdź do
- Połącz się z hostem ESXi przez SSH, aby korzystać z wiersza poleceń. Możesz użyć swojego ulubionego klienta SSH.
- Zatrzymaj usługę arbitra USB:
/etc/init.d/usbarbitrator stopArbiter USB automatycznie włącza funkcję passthrough USB dla maszyn wirtualnych znajdujących się na hoście ESXi (aby skorzystać z tej funkcji, wystarczy wybrać pamięć USB w ustawieniach odpowiedniej maszyny wirtualnej).
- Jeśli chcesz wyłączyć usługę USB arbitrator po ponownym uruchomieniu ESXi (na stałe), możesz użyć polecenia:
chkconfig usbarbitrator offAby włączyć usługę USB arbitrator, użyj odpowiedniego polecenia:
/etc/init.d/usbarbitrator startchkconfig usbarbitrator on
- Opcjonalne polecenia do sprawdzania urządzeń USB podłączonych do hosta ESXi:
lsusbesxcli storage core device list | grep -i usbesxcli storage filesystem listMożesz przejść do
/var/log/usb.log, aby sprawdzić stan urządzenia USB. - Po zatrzymaniu usługi USB arbitrator może być konieczne odłączenie i ponowne podłączenie urządzenia pamięci masowej USB.
- Wyświetl listę urządzeń dyskowych, aby znaleźć/zidentyfikować podłączoną pamięć USB (lub dysk twardy USB).
ls -ltrh /vmfs/devices/disks/Nasza pamięć USB to
mpx.vmhba32:C0:T0:L0:(patrz zrzut ekranu poniżej).Zatem pełny adres/lokalizacja dysku to:
/dev/disks/mpx.vmhba32:C0:T0:L0:
- 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 wyświetlonym wynikiem pełny identyfikator urządzenia, uwzględniający w naszym przypadku numer partycji, to:
/dev/disks/mpx.vmhba32:C0:T0:L0:1 - Znajdź katalog główny pamięci USB, aby określić ścieżkę źródłową/docelową do kopiowania plików. Uruchom następujące polecenie i naciśnij
Tab, aby wyświetlić elementy dostępne w katalogu woluminów. Katalog/volumes/w systemie plików ESXi to katalog, do którego montowane są partycje z systemami plików.ls -al /vmfs/volumes/ [press Tab]Wolumin na pendrive’ie USB nosi nazwę
NO NAME
- Sprawdź zawartość katalogu głównego pendrive’a USB
ls -al /vmfs/volumes/NO NAME/Nasze archiwum ZIP znajduje się na woluminie pendrive’a USB.

- Utworzyliśmy folder
installw magazynie danych ESXi (datastore10a) za pomocą poleceń:cd /vmfs/volumes/datastore10amkdir installNa poniższym zrzucie ekranu widać również katalog maszyny wirtualnej, której plik konfiguracyjny zamierzamy później skopiować z magazynu danych ESXi na pendrive’a USB.

- Skopiuj archiwum ZIP z pamięci USB do folderu install na naszym hoście ESXi (na
datastore10a).cp /vmfs/volumes/NO NAME/net-tulip.zip /vmfs/volumes/datastore10a/install/ - Sprawdź, czy plik został skopiowany:
ls -al /vmfs/volumes/datastore10a/install/Plik został pomyślnie skopiowany.

Podobnie możesz kopiować pliki w odwrotnym kierunku – skopiuj pliki z ESXi na pamięć USB, a następnie skopiuj potrzebny plik do maszyny wirtualnej lub na inną maszynę z tej pamięci USB.
- Sprawdź zawartość folderu VM:
ls -al /vmfs/volumes/datastore10a/Windows-VM/ - Skopiuj plik konfiguracyjny
Windows-VM.vmxz magazynu danych ESXi na pamięć USB:cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx /vmfs/volumes/NO NAME/ - Sprawdź, czy plik został skopiowany na pamięć USB:
ls -al /vmfs/volumes/NO NAME/
Po zakończeniu kopiowania plików na hoście ESXi możesz wysunąć pamięć USB i uruchomić usługę arbitra USB na hoście ESXi. Następnie można włożyć pamięć USB i użyć funkcji passthrough USB podłączonego do hosta, aby podłączyć pamięć USB do maszyny wirtualnej.
Dowiedz się więcej o Przepust USB dla ESXi oraz podłączaniu urządzenia pamięci masowej USB włożonego do hosta ESXi do maszyny wirtualnej znajdującej się na tym hoście.
Przesyłanie plików do maszyn wirtualnych VMware za pomocą PowerCLI
Inną metodą przesyłania plików z maszyny wirtualnej do hosta jest użycie PowerCLI poleceń (cmdletów). W systemie operacyjnym gościa wewnątrz maszyny wirtualnej muszą być zainstalowane narzędzia VMware Tools. Te polecenia cmdlet języka PowerShell wykorzystują narzędzia VMware Tools do kopiowania plików do/z maszyn wirtualnych znajdujących się na hoście ESXi. W związku z tym nie jest wymagane połączenie sieciowe, jeśli polecenia są uruchamiane wewnątrz maszyny wirtualnej znajdującej się na hoście ESXi będącego źródłem lub miejscem docelowym.
Aby kopiować pliki między maszynami wirtualnymi, można użyć polecenia cmdlet Copy-VMGuestFile oraz innych poleceń cmdlet w vSphere PowerCLI.
- Połącz się z hostem ESXi lub vCenter Server. W tym przykładzie łączymy się z hostem ESXi.
Connect-VIServer 192.168.101.201
- Aby uniknąć ostrzeżenia o certyfikacie, uruchom polecenie:
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
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 plik text.txt został skopiowany.

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.

Copy-VMGuestFile (ESXi VM > Local)
Teraz skopiujmy plik z systemu operacyjnego gościa maszyny wirtualnej do lokalnego katalogu 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 do lokalnego komputera, 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

Przykłady użycia polecenia cmdlet Copy-VMGuestFile można znaleźć w poleceniu:
get-help Copy-VMGuestFile -examples
Korzystanie z polecenia cmdlet Copy-DatastoreItem
Polecenie cmdlet PowerShell Copy-DatastoreItem służy do kopiowania plików do/z magazynu danych ESXi. Istnieją dwa sposoby wykorzystania tego polecenia cmdlet do skopiowania pliku do magazynu danych VMware ESXi:
- Jeśli PowerCLI jest zainstalowane na systemie Windows działającym w maszynie wirtualnej, można uruchomić polecenie, aby skopiować plik bezpośrednio z magazynu danych ESXi do maszyny wirtualnej i odwrotnie.
- Jeśli nie można zainstalować PowerCLI na maszynie wirtualnej znajdującej się na hoście ESXi, można uruchomić polecenia PowerCLI z lokalnego komputera z systemem Windows, skopiować pliki z magazynu danych ESXi na komputer lokalny za pomocą polecenia
Copy-VMGuestFile, a następnie skopiować te pliki z komputera lokalnego do maszyny wirtualnej za pomocą poleceniaCopy-VMGuestFile.
Należy połączyć się z serwerem ESXi lub vCenter Server. Można to zrobić za pomocą polecenia:
ViConnect
Jesteśmy połączeni bezpośrednio z hostem ESXi.
Skopiujmy plik konfiguracyjny maszyny wirtualnej z magazynu danych na bieżącą maszynę z systemem Windows (maszynę, na której uruchamiamy te polecenia – może to być również maszyna wirtualna na hoście ESXi):
- Pobierz informacje o magazynie danych:
Get-Datastore "datastore10a" - Pobierz obiekt magazynu danych ESXi:
$datastore = Get-Datastore "datastore10a" - Utwórz nowy dysk PowerShell o nazwie
ds:mapowany na$datastore:New-PSDrive -Location $datastore -Name ds -PSProvider VimDatastore -Root "" - Ustaw swój magazyn danych jako bieżącą lokalizację:
Set-Location ds: - Aby wyświetlić listę plików i katalogów w wybranym katalogu, użyj polecenia:
Get-ChildItem
- Możesz ustawić katalog maszyny wirtualnej jako nową lokalizację. W naszym przypadku jest to katalog
Windows-VMSet-Location "Windows-VM" - Polecenie służące do skopiowania pliku maszyny wirtualnej, czyli pliku konfiguracyjnego VMX, z zdefiniowanego magazynu danych ESXi do folderu tymczasowego na bieżącej maszynie:
Copy-DatastoreItem -Item ds:Windows-VMWindows-VM.vmx -Destination c:tempGdzie:
ds:Windows-VMWindows-VM.vmxto ścieżka do pliku, który ma zostać skopiowany, ads:to zdefiniowany skrót do magazynu danych (w tym przypadkudatstore10a).
- Jeśli nawiązałeś połączenie z vCenter (a nie z konkretnym hostem ESXi, jak 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 komputerze lokalnym:
Copy-DatastoreItem vmstore:Datacenter1datastore10aWindows-VMWindows-VM.vmx c:temp - Aby skopiować plik w odwrotnym kierunku (łącząc się z hostem ESXi), użyj polecenia:
Copy-DatastoreItem -Item c:tempdarwin.iso -Destination ds:installKopiujemy plik
darwin.iso(czyli obraz z narzędziami VMware Tools dla macOS) z komputera z systemem Windows do katalogu instalacyjnego na magazynie danych ESXi.
- Jeśli masz połączenie z vCenter, możesz użyć tego polecenia, aby skopiować plik z lokalnego komputera z systemem Windows do magazynu danych na zdalnym hoście ESXi:
Copy-DatastoreItem c:tempdarwin.iso -Destination vmstore:Datacenter1datastore10ainstall
Możesz skorzystać z tych poleceń PowerCLI i tworzyć skrypty PowerShell do przesyłania plików z maszyny wirtualnej na host i odwrotnie.
Polecenia do kopiowania plików z maszyny wirtualnej na host w VMware Workstation
Jeśli korzystasz z VMware Workstation (który jest hiperwizorem typu 2) na 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 na host i odwrotnie. Do obsługi maszyn wirtualnych można użyć narzędzia wiersza poleceń vmrun . Składnia poleceń jest taka sama dla systemów Windows, Linux i macOS (VMware Fusion). W tym samouczku używamy programu VMware Workstation 15 w systemie Windows 10.
- Przejdź do katalogu VMware Workstation:
cd "C:Program Files (x86)VMwareVMware Workstation" - Użyj poniższego polecenia, aby skopiować plik z systemu operacyjnego gościa wewnątrz maszyny wirtualnej na lokalny host z systemem Windows:
CopyFileFromHostToGuestW naszym przypadku dokładne polecenie brzmi:
vmrun copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied" - Po wyświetleniu monitu wprowadź nazwę użytkownika i hasło dla tego użytkownika (użytkownik musi mieć wystarczające uprawnienia, aby uzyskać dostęp do określonego pliku).
Gdzie:
d:virtualWinServer2019WinServer2019.vmxto dysk wirtualny maszyny wirtualnej, z której kopiujemy plik.c:temptest.txtto plik przechowywany na dysku wirtualnym maszyny wirtualnej; jest to plik, który kopiujemy.c:tempcopiedto katalog, w którym ma zostać zapisana kopia pliku na komputerze hosta.Pamiętaj, aby podczas ustawiania ścieżki używać znaku odwrotnego ukośnika . Skopiowaliśmy test.txt , czyli plik tekstowy z maszyny wirtualnej na komputer 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"
Aby skopiować plik w odwrotnym kierunku (z komputera hosta na maszynę wirtualną), użyj polecenia w następujący sposób:
CopyFileFromHostToGuest
Nasze konkretne polecenie w tym przykładzie to:
vmrun copyFileFromHostToGuest d:virtualWinServer2019WinServer2019.vmx "c:temptest3.txt" "c:temptest3-copy.txt"

Jak przesyłać pliki za pomocą SSH i SCP
SSH (Secure Shell) to powszechnie stosowany protokół do bezpiecznego zarządzania zdalnymi hostami oparty na szyfrowaniu. SCP to protokół oparty na SSH, służący do bezpiecznego kopiowania plików przez sieć. Można używać SCP do przesyłania plików z maszyny wirtualnej na host, zwłaszcza jeśli na maszynie wirtualnej działa system Linux. Serwer SCP i SSH można włączyć na komputerach z systemem Linux oraz w środowisku ESXi w kilku prostych krokach.
Jak włączyć serwer SSH w ESXi
Aby skorzystać z tej metody i przesyłać pliki do oraz z VMware ESXi, na hoście ESXi musi być włączona usługa serwera SSH.
- Aby włączyć serwer SSH w VMware Host Client, przejdź do
Host > Manage > Servicesi uruchom usługęTSM-SSH. - SSH musi być dozwolone w zaporze sieciowej ESXi, aby umożliwić ruch SCP w celu 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
Networkingw paneluNavigator, wybierz kartęFirewall rulesi wybierzSSH Client. - Kliknij
Actions > Enable, aby włączyć regułę zapory.

- Przejdź do
- Aby sprawdzić połączenie SSH między hostami, możesz uruchomić to polecenie na hoście ESXi:
nc -z 192.168.101.202 22Gdzie:
192.168.101.202to adres IP hosta zdalnego.22 to numer portu dla połączenia SSH (22 to domyślny numer portu).
Ogólna składnia polecenia scp do kopiowania plików przez sieć za pomocą SCP:
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 tej flagi, jeśli numer portu nie wynosi 22).
Poniżej wyjaśniamy konkretne przykłady w praktyce.
Jak skopiować plik lokalny na maszynę zdalną za pomocą SCP
Aby skopiować plik lokalny na maszynę zdalną za pomocą SCP, użyj polecenia w stylu:
scp file.txt remote_username@remote_host_ip:/remote/directory
Z systemu Linux
Skopiujmy plik LinuxDir.txt z lokalnej maszyny z systemem Ubuntu Linux (która może być również maszyną wirtualną) na host ESXi przez sieć przy użyciu SCP. Miejscem docelowym na zdalnym hoście ESXi jest katalog install w magazynie danych datastore10a . Adres IP zdalnego hosta ESXi to 192.168.101.201 .
W naszym przypadku polecenie do skopiowania pliku z lokalnej maszyny z systemem Linux na zdalny host ESXi brzmi:
scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/

Skopiowany plik można zapisać na komputerze docelowym pod nową nazwą:
scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/LinuxDir-copy.txt
Użyj flagi -r , aby skopiować katalog wraz ze wszystkimi zawartymi w nim plikami:
scp -r /local/directory remote_username@192.168.101.201:/remote/directory
Z ESXi
Na hoście ESXi można używać poleceń scp . Składnia scp w wierszu poleceń jest taka sama dla systemów Linux i ESXi. Na komputerze zdalnym musi być skonfigurowany serwer SSH. Zalogujmy się do hosta ESXi ( 192.168.101.201 ) i skopiujmy katalog install wraz ze wszystkimi zawartymi w nim plikami do katalogu domowego user1 na zdalnej maszynie z systemem Linux ( 192.168.101.210 ).
scp -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/

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 będzie wyglądało następująco:
scp -P 8022 -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/
Jak skopiować plik z komputera zdalnego na lokalny za pomocą SCP
SCP jest wygodnym narzędziem do kopiowania plików z komputera zdalnego na lokalny, co pozwala również na przesyłanie plików z maszyny wirtualnej na host. Poniżej wyjaśniamy, jak uruchomić odpowiednie polecenia w systemie Linux i ESXi.
Kopiowanie plików na lokalny komputer z systemem Linux
Zamierzamy skopiować plik ze zdalnego hosta ESXi na bieżący komputer z systemem Linux przy użyciu SCP. Aby to zrobić, użyj polecenia w postaci:
scp remote_username@remote_ip_address:/remote/file.txt /local/directory
Skopiujmy plik darwin.iso ze zdalnego serwera ESXi do zdefiniowanego katalogu domowego na komputerze z systemem Linux:
scp root@192.168.101.201:/vmfs/volumes/datastore10a/install/winPreVista.iso /home/user1/

Kopiowanie plików na lokalny host ESXi
Jeśli zalogujemy się na host ESXi, możemy uruchomić polecenie, aby skopiować plik maszyny wirtualnej ze zdalnej maszyny z systemem Linux do magazynu danych na lokalnym hoście ESXi. Skopiujmy VM_file.txt z maszyny z systemem 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/

Jak kopiować pliki między dwoma zdalnymi maszynami
Istnieją polecenia SCP do kopiowania plików z jednej zdalnej maszyny na inną zdalną maszynę z kopiowaniem danych przez bieżącą maszynę lokalną lub bez. Składnia polecenia jest następująca:
scp user1@remote-host1.com://directory/file.txt user2@remote-host2.com://directory/
Za pomocą powyższego polecenia dane są przesyłane bezpośrednio z jednego zdalnego hosta na drugi (bez kopiowania na bieżącą maszynę lokalną). Jeśli chcesz przekierować ruch przez maszynę lokalną, na której uruchamiasz polecenie, użyj flagi -3 .
Uwaga: Użyj tego polecenia, jeśli poświadczenia na obu hostach zdalnych są takie same.
Przykład polecenia do uruchomienia na lokalnym komputerze z systemem Linux w celu skopiowania pliku (vim.v00) ze 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 pojawi się błąd „ Host key verification failed ”, oznacza to, że klucz hosta nie jest zapisany na jednym z hostów. Jeśli błąd wynika ze zmiany klucza hosta na serwerze zdalnym, usuń stary klucz hosta dla bieżącego hosta zdalnego zapisany w ~/.ssh/known_hosts
Polecenie do usunięcia starego klucza hosta to: ssh-keygen -R hostname_or_IP_address
Na przykład, uruchom polecenie na adresie 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 poleceniu do kopiowania plików przez komputer lokalny:
scp -3 root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/
Alternatywnym poleceniem do tego celu jest:
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 przez SCP z systemu Windows
W systemie Windows można również kopiować pliki do maszyn wirtualnych lub hostów ESXi. W tym celu należy użyć klienta SCP, takiego jak WinSCP, który jest przyjaznym dla użytkownika i wygodnym interfejsem graficznym. Można go Pobierz WinSCP za darmo.
- Uruchom WinSCP.
- Wybierz protokół, na przykład
SFTP. - Wprowadź nazwę hosta i numer portu hosta zdalnego, takiego jak host ESXi lub komputer z systemem Linux.
- Wprowadź nazwę użytkownika i hasło komputera zdalnego.
- Kliknij
Login.
W tym przykładzie łączymy się ze zdalnym hostem ESXi.

- Wybierz protokół, na przykład
- Wyświetli się komunikat:
Continue connecting to unknown server and add its host key to a cache?Kliknij
Yes, aby kontynuować. - Po nawiązaniu połączenia zobaczysz okno w stylu Commander z dwoma panelami. Jeden panel przedstawia katalog na komputerze lokalnym, a drugi panel przedstawia katalog na komputerze zdalnym. Możesz kopiować pliki między hostem lokalnym a hostem zdalnym, kopiując pliki między tymi dwoma panelami.

Można kopiować pliki z magazynu danych zdalnego hosta ESXi, z którym nawiązano połączenie w WinSCP, do zdalnej maszyny wirtualnej z systemem Windows lub komputera fizycznego, korzystając z udziału SMB na tym komputerze z systemem Windows.
Nie można jednak wprowadzić bezpośredniej ścieżki udziału w panelu WinSCP (na przykład 192.168.101.117c$). Można jedynie wybrać literę dysku. Aby ominąć to ograniczenie, należy połączyć się z udziałem plików w Eksploratorze Windows i zamapować ten udział jako dysk sieciowy. Przypisz literę dysku, na przykład S: tak jak w tym przykładzie, aby połączyć folder udostępniony na 192.168.101.211 .
Teraz możemy wybrać S: jako dysk sieciowy w menu rozwijanym w lewym panelu WinSCP, zaznaczyć potrzebne pliki lub katalogi w magazynie danych zdalnego serwera ESXi i kopiować pliki w obu kierunkach.

Korzystanie z udziału NFS
Można użyć udziału NFS do przesyłania plików do maszyn wirtualnych z magazynu danych ESXi i w drugą stronę. ESXi nie obsługuje udziałów SMB (natywnych dla systemu Windows). Obsługuje udziały NFS (natywne dla systemu Linux) oraz dołączanie udziału NFS jako magazynu danych. Korzystając z tej funkcji, możesz skorzystać z jednej z poniższych metod przesyłania plików między maszynami ESXi a Linux:
Metoda 1 :
- Skonfiguruj serwer NFS i udział NFS na maszynie wirtualnej z systemem Linux
- Podłącz udział NFS jako magazyn danych w środowisku ESXi
- Skopiuj pliki z maszyny wirtualnej do magazynu danych ESXi i odwrotnie
Metoda 2 :
- Skonfiguruj serwer NFS na fizycznej maszynie z systemem Linux lub NAS
- Podłącz udział NFS jako magazyn danych w ESXi
- Połącz się z udziałem NFS na maszynie wirtualnej z systemem Linux
- Skopiuj pliki z maszyny wirtualnej z systemem Linux do udziału NFS, a następnie skopiuj te pliki na host ESXi. Skopiuj pliki z hosta ESXi do udziału NFS, a następnie skopiuj te pliki z udziału NFS na maszynę wirtualną z systemem Linux.
Zapoznaj się z NFS kontra SMB porównaniem, aby dowiedzieć się więcej o tych protokołach udostępniania plików.
Konfiguracja udziału NFS w systemie Linux
W tym samouczku używamy systemu Linux Ubuntu 20.04. Zalogowaliśmy się do systemu Linux jako zwykły użytkownik i używamy sudo gdy do uruchomienia polecenia potrzebne są uprawnienia użytkownika głównego. Wykonaj następujące kroki, aby zainstalować serwer NFS i skonfigurować udział plików NFS.
- Zaktualizuj drzewo repozytorium w systemie Linux:
sudo apt-get update - Zainstaluj pakiet serwera NFS w systemie Linux:
sudo apt-get install nfs-kernel-server -y - Utwórz katalog (katalog eksportu), który będzie udostępniony na serwerze NFS:
sudo mkdir -p /srv/nfs/share1/ - Ustaw właściciela i uprawnienia dla utworzonego katalogu:
sudo chown -R nobody:nogroup /srv/nfs/share1/sudo chmod 0777 /srv/nfs/share1/nobodyto pseudoużytkownik reprezentujący użytkownika z najmniejszymi uprawnieniami, bez dostępu do powłoki. Cel grupynogroupjest podobny do użytkownikanobody.
- Skonfiguruj plik eksportów, aby udostępnić utworzony katalog.
sudo nano /etc/exportslub
sudo vim /etc/exports - Dodaj wiersz na końcu pliku konfiguracyjnego:
/srv/nfs/share1/ CLIENT_IP(rw,sync,no_subtree_check)W naszym przypadku wiersz z dozwolonym adresem IP naszego hosta ESXi wygląda następująco:
/srv/nfs/share1/ 192.168.101.201(rw,sync,no_subtree_check)Możesz zezwolić na dostęp dla wszystkich hostów w podsieci, dodając wiersz:
/srv/nfs/share1/ 192.168.101.0/24(rw,sync,no_subtree_check)Możesz dodać kolejny wiersz, aby zezwolić na dostęp dla innego hosta (adresu IP).
Zapisz zmiany w pliku konfiguracyjnym i zamknij edytor tekstu.
- Aby sprawdzić, czy dane zostały zapisane w pliku, możesz użyć polecenia:
cat /etc/exports - Zastosuj nową konfigurację za pomocą polecenia:
sudo exportfs -a - Upewnij się, że zapora sieciowa na komputerze z systemem Linux, na którym działa serwer NFS, zezwala na dostęp. Dostęp dla konkretnego adresu IP można przyznać za pomocą polecenia w postaci:
sudo ufw allow from IP to any port nfsW naszym przypadku:
sudo ufw allow from 192.168.101.201 to any port nfsAby zezwolić na dostęp dla hostów z całej podsieci:
sudo ufw allow from SUBNET to any port nfsW naszym przypadku polecenie brzmiałoby:
sudo ufw allow from 192.168.101.0/24 to any port nfs - Stan zapory sieciowej można sprawdzić za pomocą polecenia:
sudo ufw status - Uruchom ponownie serwer NFS, aby zmiany w konfiguracji zaczęły obowiązywać:
sudo systemctl restart nfs-kernel-server - Udostępnienie NFS zostało skonfigurowane w systemie Linux.
- Skopiuj plik z dowolnego katalogu na komputerze z systemem Linux do katalogu udostępnionego przez NFS. Kopiujemy
VM_file.txtdo naszego udostępnienia NFS, a następnie sprawdzamy zawartość katalogu:cp VM_file.txt /srv/nfs/share1/ls -al /srv/nfs/share1/
Montowanie magazynu danych NFS w ESXi
Po skonfigurowaniu udostępnienia NFS należy dodać magazyn danych NFS w ESXi. W tym przykładzie używamy do tego programu VMware Host Client.
Przejdź do Storage > Datastores i kliknij New datastore.

Otworzy się kreator New datastore .
- Wybierz
Mount NFS datastore. KliknijNext, aby kontynuować.
- 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
- Udostępnienie NFS:
/srv/nfs/share1/ - Wersja NFS:
NFS4
Nazwa użytkownika i hasło są opcjonalne dla NFS4. Pozostawiamy te dwa pola puste.

- Nazwa:
- Gotowe do zakończenia. Sprawdź konfigurację i kliknij
Finishjeśli wszystko jest poprawne.
Kopiowanie plików z maszyny wirtualnej na host
Magazyn danych NFS został pomyślnie zamontowany. Można to sprawdzić w Storage > Datastores.
Teraz możemy skopiować pliki z maszyny wirtualnej przechowywane w udziale NFS do lokalnego magazynu danych ESXi (przesłać pliki z maszyny wirtualnej na host).
- Kliknij
Datastore Browser.
- Wybierz swój magazyn danych NFS w przeglądarce magazynów danych (w naszym przypadku
NFS-share). Znajdź potrzebny plik w magazynie danych NFS. Wybierz potrzebny plik i kliknijCopy.
- Wybierz miejsce docelowe. Wybierz odpowiednią lokalizację w docelowym magazynie danych, w której chcesz zapisać skopiowany plik (w naszym przypadku
datastore10b). KliknijCopy.
. Alternatywnie możesz skopiować potrzebny plik za pomocą wiersza poleceń na serwerze ESXi:
cp /vmfs/volumes/NFS-share/VM_file.txt /vmfs/volumes/datastore10b/VM_file-copy.txt
. Pobieranie i wysyłanie plików za pomocą interfejsu internetowego VMware
. Możesz użyć interfejsu internetowego VMware Host Client lub Klient VMware vSphere do wysyłania/pobierania plików do/z magazynu danych ESXi. Interfejs internetowy jest dostępny z dowolnej maszyny fizycznej lub wirtualnej, na której zainstalowana jest przeglądarka internetowa i dostępne jest połączenie sieciowe z hostem ESXi. Dzięki temu można otworzyć ten interfejs internetowy bezpośrednio z maszyny wirtualnej, jeśli system operacyjny gościa posiada GUI, lub użyć dowolnej maszyny lokalnej jako maszyny pośredniczącej do przesyłania plików z maszyny wirtualnej do hosta i odwrotnie.

Istnieje alternatywny, ale bardziej złożony sposób przesyłania plików do VMware ESXi z maszyn wirtualnych:
- Pobierz dysk wirtualny maszyny wirtualnej na swój komputer lokalny lub inny komputer.
- Wyodrębnij potrzebne pliki z tego dysku wirtualnego maszyny wirtualnej (
.vmdki-flat.vmdk) na komputer lokalny. Alternatywnie możesz zamontować dysk wirtualny na dysku wirtualnym, jeśli zainstalowano VMware stację roboczą. - Prześlij wyodrębnione pliki lub pliki z zamontowanego dysku wirtualnego do magazynu danych hosta ESXi, korzystając z jednej z metod opisanych powyżej (w VMware Host Client, vSphere Client, kliencie SCP itp.).

Przeczytaj szczegółowy wpis na blogu dotyczący jak wyodrębnić pliki z dysków wirtualnych VMDK.
Korzystanie z 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 przy użyciu plików obrazów ISO:
- Utwórz obraz ISO za pomocą oprogramowania takiego jak Ultra ISO dla systemu Windows.
- Zapisz potrzebne pliki do obrazu ISO na komputerze lokalnym lub innym komputerze. Możesz skopiować pliki z ESXi przy użyciu jednej z powyższych metod i zapisać je do obrazu ISO.
- Zamontuj plik obrazu ISO na maszynie wirtualnej za pomocą wirtualnego napędu CD/DVD tej maszyny (możesz zamontować plik ISO bezpośrednio z komputera lokalnego lub przed wykonaniem tej czynności przesłać plik ISO do magazynu danych ESXi). Użyj VMware Host Client, VMware vSphere Client, VMware stacja robocza lub VMware Remote Console, aby zamontować plik ISO w maszynie wirtualnej ESXi.
Metody tej nie można użyć do przesyłania plików z maszyny wirtualnej na host, ponieważ maszyna wirtualna korzysta z wirtualnego dysku CD/DVD w trybie tylko do odczytu.
Podsumowanie
Istnieje wiele metod kopiowania plików z 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żesz wybrać metodę najlepiej odpowiadającą Twoim potrzebom i łączyć różne metody. Pamiętaj o wykonywaniu kopii zapasowych maszyn wirtualnych, aby uniknąć utraty danych. Dzięki rozwiązaniu NAKIVO Backup & Replication możesz zabezpieczyć swoje maszyny wirtualne w środowisku VMware vSphere oraz przywrócić poszczególne pliki bezpośrednio z kopii zapasowej maszyny wirtualnej.