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.
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: z wykorzystaniem stacji roboczej VMware Workstation; w tym przypadku systemem operacyjnym komputera 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
- Komputer z systemem Ubuntu Linux: 192.168.101.210
- Host z systemem Windows i zainstalowaną stacją roboczą VMware Workstation
- Sieć: 192.168.101.0/24
- Maszyny wirtualne ESXi i maszyny wirtualne VMware Workstation podłączone do tej samej sieci
Do kopiowania plików między maszynami wirtualnymi a hostami używamy następujących technologii:
- Foldery współdzielone
- Współdzielony schowek i przeciąganie i upuszczanie
- Urządzenie pamięci 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 na host
Foldery współdzielone to wygodna funkcja programu VMware Workstation, umożliwiająca przesyłanie plików między fizycznym hostem z systemem Windows lub Linux, na którym zainstalowano VMware Workstation, a maszynami wirtualnymi działającymi w programie VMware Workstation. W przypadku systemu macOS program VMware Fusion jest odpowiednikiem 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 na host i odwrotnie przy użyciu folderów współdzielonych 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 za pośrednictwem VMware Tools między systemem operacyjnym hosta a systemem operacyjnym gościa, bez korzystania z 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 programu VMware Workstation. - W oknie
Virtual Machine Settingswybierz kartęOptionsi kliknijShared Folders. W sekcjiFolder sharingwybierz opcję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. - Kliknij
Add, aby wybrać folder do użycia jako folder udostępniony.
- Wprowadź ścieżkę do folderu do udostępnienia na hoście lub kliknij
Browsei wybierz potrzebny folder. WybieramyC:tempshare-VMWprowadź nazwę dla folderu udostępnionego, na przykład
share-VMKliknij
Next.
- Wybierz
Enable this share. Jeśli chcesz, aby maszyny wirtualne uzyskiwały dostęp do folderu udostępnionego tylko do odczytu, zaznacz pole wyboruRead-only. KliknijFinish.
- Nowy folder udostępniony pojawi się na liście folderów udostępnionych w zakładce
OptionsoknaVirtual machine settings. Folder udostępniony jest włączony, jeśli odpowiadające pole wyboru jest zaznaczone obok nazwy pliku.Kliknij
OK, aby zapisać ustawienia.
- Otwórz interfejs użytkownika maszyny wirtualnej Windows używanej do udostępniania folderu z funkcją
Shared folders. - Kliknij
Network(My Network Places) wMy Computer(This PC) lub Eksploratorze Windows, aby zobaczyć komputery dostępne w sieci. - Wybierz
vmware-hostjako 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.
- Kliknij
Shared Foldersi wybierz potrzebny folder udostępniony (share-VMw naszym przykładzie). Pełna ścieżka do folderu udostępnionego, w naszym przypadku, tovmware-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.

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. W przypadku hostów ESXi można ręcznie udostępnić folder i skorzystać 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 opisane na stronach udostępnianie folderu w systemie Windows 10 oraz 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 w systemie 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, korzystając ze ś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 umożliwia kopiowanie i wklejanie treści, takich jak tekst i całe pliki, z maszyny wirtualnej na komputer hosta, na którym zainstalowano program VMware Workstation. Proces ten przebiega podobnie jak kopiowanie i wklejanie treści między oknami różnych aplikacji w systemie Windows lub Linux za pomocą interfejsu graficznego.
Pełen zakres funkcji jest dostępny na stronie VMware Workstation, która umożliwia przesyłanie plików do maszyn wirtualnych z komputera hosta oraz z maszyny wirtualnej do komputera hosta. 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 za pomocą 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świetlana jest lista maszyn wirtualnych.
- 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 na 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 jakimkolwiek innym komputerem. Jedyną opcją jest kopiowanie i wklejanie tekstu między maszyną wirtualną działającą na ESXi a komputerem lokalnym (na którym zainstalowano VMware Stacja robocza lub Konsola zdalna VMware ). Wsparcie dla kopiowania i wklejania oraz przeciągania i upuszczania plików nie jest dostępne ze względów bezpieczeństwa. Jeśli jednak nie możesz skopiować np. 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ć programu VMware Host Client lub 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 (są one zapisywane 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 przechowywane są pliki maszyn wirtualnych 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, korzystając z 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 przekierowania USB, w systemie operacyjnym gościa maszyny wirtualnej muszą być zainstalowane narzędzia VMware Tools.
Kopiowanie plików między maszynami wirtualnymi VMware Workstation a komputerem hostem
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 urządzenie pamięci USB, takie jak dysk twardy USB (HDD) lub pamięć flash USB, do fizycznego komputera pełniącego rolę komputera hosta.
- W programie VMware Workstation otworzy się okno
New USB Device Detected. Wybierz, gdzie chcesz podłączyć urządzenie USB:- Podłącz do komputera hosta
- Podłącz do maszyny wirtualnej
Wybierzmy drugą opcję i podłączmy naszą pamięć USB do maszyny wirtualnej. W tym przykładzie uruchomiona jest maszyna wirtualna z systemem Windows. Jeśli w programie VMware Station działa wiele maszyn wirtualnych, należy wybrać odpowiednią 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 program VMware Workstation, wyskakujące okno z opcjami przekazywania 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 na liście dysków w oknie „Mój komputer” (Eksplorator Windows) widoczna jest pamięć USB podłączona do maszyny wirtualnej z systemem Windows 7. 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 Linuksa 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 teraz.

- 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 program VMware Workstation). Możemy przenieść pliki skopiowane z maszyny wirtualnej na pamięć USB na komputer hosta.
Przepuszczanie USB z VMware Stacja robocza do maszyn wirtualnych ESXi
Możesz użyć pamięci USB podłączonej do serwera ESXi oraz do lokalnego komputera z systemem Windows lub Linux (z zainstalowanym oprogramowaniem 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 wykorzystywana jest funkcja przekazywania USB połączonego z hostem , a w drugim przypadku – funkcja przekazywania USB połączonego 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 w wersji 7.0 (wykorzystując funkcję przekazywania USB połączonego z klientem). Na naszym fizycznym komputerze z systemem Windows zainstalowano stację roboczą VMware Workstation i podłączono ją do hosta ESXi przez sieć (192.168.101.0/24).
Aby to zrobić:
- Aby edytować ustawienia maszyny wirtualnej, musi ona być wyłączona.
- Upewnij się, że na liście sprzętu wirtualnego maszyny wirtualnej znajduje się
USB controller. Konfigurację maszyny wirtualnej można sprawdzić w VMware Host Client. Wybierz swoją maszynę wirtualną (w naszym przypadkuWindows-VM), kliknijEdit Settingsi wybierz kartę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 programu VMware Workstation, gdzie wyświetlane są hosty zdalne, zdalne maszyny wirtualne na tych hostach oraz lokalne maszyny wirtualne VMware Workstation.
- 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 program VMware Station. To urządzenie USB nie jest urządzeniem podłączonym do fizycznego hosta ESXi, z którym połączyliśmy się zdalnie.

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

- 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.
- Aby upewnić się, że pamięć USB jest podłączona do komputera z systemem Windows, kliknij prawym przyciskiem myszy
My ComputerlubThis PC(lub uruchomdiskmgmt.mscz poziomu CMD), aby otworzyćDisk Management. - Otwórz wiersz poleceń systemu Windows:
Start > Run > cmd - Typ
diskpartw wierszu poleceń i naciśnijEnter.Widzisz prompt diskpart:
Diskpart - Wyświetl listę dysków podłączonych do twojej maszyny z systemem Windows:
list diskZnajdź dysk USB na liście wynikowej i zapamiętaj jego numer. W naszym przypadku,
Disk 1to numer naszego dysku USB (zobacz zrzut ekranowy poniżej). - Wybierz dysk USB, określając odpowiedni numer dysku z wyniku powyższego polecenia (
disk 1w naszym przypadku).select disk 1 - Wyświetl partycje na wybranym dysku USB:
list partitionMamy jedną partycję (
Partition 1) na naszym dysku USB (zobacz zrzut ekranowy poniżej). Posiadanie jednej partycji na dysku USB jest najczęstszym przypadkiem.
Następnie musimy usunąć partycje na dysku USB.
Ważne: Wszystkie dane na dysku USB zostaną usunięte. Możesz skopiować dane z dysku przed przejściem do następnych kroków, jeśli jest taka potrzeba.
- Wybierz partycję na dysku USB, która ma zostać usunięta:
select partition 1 - Uruchom polecenie, aby usunąć wybraną partycję:
delete partition - Wybierz dysk, który jest twoim dyskiem USB ponownie:
select disk 1
- Utwórz nową partycję z systemem plików VFAT. W tym przykładzie tworzymy partycję o rozmiarze 4 GB na naszym dysku USB. Pamiętaj, że nie możesz przechowywać plików większych niż 4 GB na VFAT. Zauważ, że VFAT obsługuje tylko format nazw plików 8.3.
create partition primary size=4000 id=6 - Sformatuj utworzoną partycję w ten sposób dla zgodności z ESXi:
format fs=fat quick
- Wyjdź z narzędzia diskpart (uruchom polecenie
exit).
Napęd USB jest gotowy do rozpoznania przez ESXi i kopiowania plików. Po wykonaniu dodatkowych kroków konfiguracyjnych w ESXi możesz dołączyć napęd USB do maszyny wirtualnej i skopiować potrzebny(e) plik(i) na napęd USB.
Załóżmy, że musimy skopiować archiwum ZIP ze sterownikami. Skopiowaliśmy net-tulip.zip na napęd USB w naszym przykładzie. Następnie musimy zamontować partycję napędu USB wprowadzonego 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 systemu 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 oraz serwer SSH na ESXi w VMware Host Client, przejdź do
Host > Managei wybierz kartęServices. Kliknij prawym przyciskiem myszyTSM-SSHi wybierzStart, aby uruchomić usługę. Usługę tę można włączyć 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ść na stronę
/var/log/usb.logw celu sprawdzenia stanu 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ę blokowych 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:(zobacz 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 poniższe polecenie i naciśnij
Tab, aby wyświetlić elementy dostępne w katalogu „volumes”. 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 pamięci USB nosi nazwę
NO NAME
- Sprawdź zawartość katalogu głównego pamięci USB
ls -al /vmfs/volumes/NO NAME/Nasze archiwum ZIP znajduje się na woluminie pamięci 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 pamięć USB.

- Skopiuj archiwum ZIP z pamięci USB do folderu instalacyjnego 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.

W podobny sposób można kopiować pliki w odwrotnym kierunku – skopiować pliki z ESXi na pamięć USB, a następnie skopiować potrzebny plik na maszynę wirtualną lub na inny komputer z tej pamięci USB.
- Sprawdź zawartość folderu maszyny wirtualnej:
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żna wysunąć pamięć USB i uruchomić usługę arbitra USB na hoście ESXi. Następnie można podłączyć pamięć USB i skorzystać z funkcji przekazywania 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 podłączonego 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 na host jest użycie PowerCLI poleceń (cmdletów). Narzędzia VMware muszą być zainstalowane w systemie operacyjnym gościa w Maszyna wirtualna. Te cmdlety PowerShell używają Narzędzi VMware do kopiowania plików do/z Maszyny wirtualne znajdujących się na hoście ESXi. Dlatego nie potrzebujesz sieci, jeśli uruchamiasz polecenia w Maszyna wirtualna znajdujących się na źródłowym/docelowym hoście ESXi.
Aby kopiować pliki między Maszyny wirtualne, możesz użyć cmdletu Copy-VMGuestFile oraz innych cmdletów w vSphere PowerCLI.
- Połącz się z hostem ESXi lub vCenter Serwery. 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
Kopiuj-VMGuestFile (Lokalny > Maszyna wirtualna na ESXi)
Użyj następującego polecenia, aby skopiować plik z lokalnej maszyny (maszyny, na której działa PowerCLI) do zdalny Maszyna wirtualna 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 lokalnej maszyny
-LocalToGuest to kierunek (z lokalnej maszyny do systemu gościa na docelowej Maszyna wirtualna uruchomionej na ESXi)
-VM Windows-VM to definicja Nazwa maszyny wirtualnej docelowej
c:temp-VM to folder docelowy na docelowym Maszyna wirtualna (gdzie chcemy przechowywać kopię pliku)
user1 to nazwisko użytkownika w systemie operacyjnym gościa na docelowej Maszyna wirtualna. Ten użytkownik musi mieć dostęp do zdefiniowanego folderu docelowego.
Password to hasło dla tego użytkownika.
Ignorujemy ostrzeżenie o wersji Narzędzi VMware i sprawdzamy, czy nasz plik text.txt został skopiowany.

Możemy zobaczyć, że nasz test.txt plik, którego rozmiar wynosi 29 bajtów, został pomyślnie skopiowany na działający na hoście ESXi Maszyna wirtualna z systemem Windows XP.

Kopiuj-VMGuestFile (ESXi VM > Lokalne)
Teraz skopiujemy plik z systemu gościa Maszyna wirtualna do lokalnego katalogu maszyny, na której 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 Maszyna wirtualna uruchomiona na ESXi
-GuestToLocal to kierunek (z systemu gościa Maszyna wirtualna ESXi do lokalnej maszyny, na której wykonywane jest polecenie)
"c:temp" to ścieżka do folderu docelowego na lokalnej maszynie
user1 to nazwisko użytkownika w systemie gościa na docelowej Maszyna wirtualna. Ten użytkownik musi mieć dostęp do zdefiniowanego folderu docelowego.
Password to hasło dla tego użytkownika w systemie gościa

Można zobaczyć przykłady użycia cmdletu Copy-VMGuestFile z poleceniem:
get-help Copy-VMGuestFile -examples
Korzystanie z Kopiuj-ElementDanych
Cmdlet PowerShell Copy-DatastoreItem jest używany do kopiowania plików do/z Magazyn danych ESXi. Istnieją dwa sposoby wykorzystania tego cmdletu do skopiowania pliku do magazynu danych VMware ESXi:
- Jeśli PowerCLI jest zainstalowane na systemie gościnnym Windows wewnątrz maszyny 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.
Konieczne jest połączenie z serwerem ESXi lub vCenter Server. Można to zrobić za pomocą polecenia:
ViConnect <server_name_or_IP>
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 określonego 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ązano połączenie z vCenter (a nie z konkretnym hostem ESXi, jak w tym przykładzie), można użyć poniższego polecenia, określają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 przeciwnym kierunku (po nawiązaniu połączenia z hostem ESXi), należy użyć polecenia:
Copy-DatastoreItem -Item c:tempdarwin.iso -Destination ds:installKopiujemy
darwin.iso(to jest obraz z narzędziami VMware dla macOS) z maszyny z systemem Windows do katalogu instalacyjnego na magazynie danych ESXi.
- 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.
- Przejdź do katalogu VMware Workstation:
cd "C:Program Files (x86)VMwareVMware Workstation" - Użyj polecenia, aby skopiować plik ze środowiska gościa w maszynie wirtualnej do lokalnego hosta z systemem Windows:
CopyFileFromHostToGuest <Path to vmx file> <Path in guest> <Path on host>W naszym przypadku dokładne polecenie to:
vmrun copyFileFromGuestToHost d:virtualWinServer2019WinServer2019.vmx "c:temptest.txt" "c:tempcopied" - 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.vmxjest wirtualnym dyskiem maszyny wirtualnej, z której kopiujemy plik.c:temptest.txtjest plikiem przechowywanym na wirtualnym dysku maszyny wirtualnej; jest to plik, który kopiujemy.c:tempcopiedjest 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"
Aby skopiować plik w odwrotnym kierunku (z maszyny hosta do maszyny wirtualnej), użyj polecenia w ten sposób:
CopyFileFromHostToGuest <Path to vmx file> <Path on host> <Path in guest>
Nasze konkretne polecenie w tym przykładzie to:
vmrun copyFileFromHostToGuest d:virtualWinServer2019WinServer2019.vmx "c:temptest3.txt" "c:temptest3-copy.txt"

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. Serwer SCP i SSH można włączyć na komputerach z systemem Linux oraz w środowisku ESXi w kilku krokach.
Jak włączyć serwer SSH w ESXi
Aby skorzystać z tej metody i przesyłać pliki do i 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. - Aby umożliwić przesyłanie plików z hosta ESXi oraz łączenie się z innymi maszynami za pomocą protokołu SCP z tego hosta ESXi, w zaporze sieciowej ESXi należy zezwolić na protokół SSH:
- Przejdź do
Networkingw paneluNavigator, wybierz kartęFirewall rulesi zaznacz opcjęSSH 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 zdalnego hosta.22 to numer portu połączenia SSH (22 to domyślny numer portu).
Ogólna składnia polecenia scp służącego do kopiowania plików przez sieć za pomocą protokołu 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 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 komputer zdalny za pomocą SCP
Aby skopiować plik lokalny na komputer zdalny za pomocą SCP, użyj polecenia w następującej postaci:
scp file.txt remote_username@remote_host_ip:/remote/directory
Z systemu Linux
Skopiujmy plik LinuxDir.txt z lokalnego komputera z systemem Ubuntu Linux (który może być również maszyną wirtualną) na host ESXi przez sieć za pomocą 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 służące do skopiowania pliku z lokalnego komputera 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
Aby skopiować katalog wraz ze wszystkimi zawartymi w nim plikami, należy użyć flagi -r :
scp -r /local/directory remote_username@192.168.101.201:/remote/directory
Z poziomu 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, należy użyć 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 ze zdalnej maszyny na lokalną za pomocą SCP
SCP jest wygodnym narzędziem do kopiowania plików ze zdalnej maszyny na lokalną, 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. W tym celu należy użyć polecenia w następującej 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 plik VM_file.txt z maszyny z systemem Linux do katalogu magazynu danych ESXi przez sieć za pomocą protokołu SCP:
scp user1@192.168.101.210:/home/user1/VM_file.txt /vmfs/volumes/datastore10a/install/

Jak kopiować pliki między dwoma zdalnymi komputerami
Istnieją polecenia SCP służące do kopiowania plików z jednego zdalnego komputera na drugi, zarówno z kopią danych na bieżącym komputerze lokalnym, jak i bez niej. 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 ich na bieżący komputer lokalny). Jeśli chcesz przekierować ruch przez komputer lokalny, na którym 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 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, należy usunąć stary klucz hosta dla bieżącego hosta zdalnego zapisany w ~/.ssh/known_hosts
Polecenie służące do usunięcia starego klucza hosta brzmi: 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 opcji -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 za pomocą SCP w systemie Windows
W systemie Windows można również kopiować pliki na maszyny wirtualne lub hosty ESXi. W tym celu należy skorzystać z klienta SCP, takiego jak WinSCP, który posiada przyjazny i wygodny interfejs graficzny. Można go pobierz WinSCP pobrać 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 do 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 — katalog na komputerze zdalnym. Możesz kopiować pliki między hostem lokalnym a zdalnym, kopiując je między tymi dwoma panelami.

Można kopiować pliki z magazynu danych zdalnego hosta ESXi, z którym nawiązano połączenie w programie 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 do udziału w panelu programu WinSCP (na przykład 192.168.101.117c$). Można wybrać jedynie literę dysku. Aby ominąć to ograniczenie, należy połączyć się z udziałem plików w Eksploratorze Windows i zmapować ten udział jako dysk sieciowy. Przypisz literę dysku, na przykład S: , tak jak zrobiliśmy to w tym przykładzie, aby połączyć się z folderem udostępnionym na 192.168.101.211 .
Teraz możemy wybrać S: jako dysk sieciowy z menu rozwijanego w lewym panelu programu WinSCP, zaznaczyć potrzebne pliki lub katalogi w magazynie danych zdalnego serwera ESXi i kopiować pliki w obu kierunkach.

Korzystanie z udostępnienia NFS
Można użyć udostępnienia NFS do przesyłania plików do maszyn wirtualnych z magazynu danych ESXi i w drugą stronę. ESXi nie obsługuje udostępnień SMB (natywnych dla systemu Windows). Obsługuje natomiast udostępnienia NFS (natywne dla systemu Linux) oraz dołączanie udostępnienia NFS jako magazynu danych. Korzystając z tej funkcji, można zastosować jedno z poniższych podejść do przesyłania plików między maszynami ESXi a Linux:
Podejście 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
Podejście 2 :
- Skonfiguruj serwer NFS na fizycznej maszynie z systemem Linux lub NAS
- Podłącz udział NFS jako magazyn danych w środowisku 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 a 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 poniższe 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 eksportowy), 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/Użytkownik
nobodyjest pseudoużytkownikiem reprezentującym użytkownika o najmniejszych uprawnieniach, bez dostępu do powłoki. Cel grupynogroupjest podobny do celu 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 z 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. Możesz przyznać dostęp konkretnemu adresowi IP 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 konfiguracji zaczęły obowiązywać:
sudo systemctl restart nfs-kernel-server - Udział NFS został skonfigurowany w systemie Linux.
- Skopiuj plik z dowolnego katalogu na komputerze z systemem Linux do katalogu udostępnionego za pośrednictwem NFS. Kopiujemy
VM_file.txtdo naszego udziału 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 udziału 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ępniony katalog NFS:
/srv/nfs/share1/ - Wersja NFS:
NFS4
W przypadku NFS4 podanie nazwy użytkownika i hasła jest opcjonalne. 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ć pod adresem 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 z poziomu wiersza poleceń na serwerze ESXi:
cp /vmfs/volumes/NFS-share/VM_file.txt /vmfs/volumes/datastore10b/VM_file-copy.txt
. Korzystanie z interfejsu internetowego VMware do pobierania/przesyłania plików
. Możesz użyć interfejsu internetowego programu VMware Host Client lub Klient VMware vSphere do przesył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 istnieje 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 interfejs graficzny, lub użyć dowolnej maszyny lokalnej jako pośrednika do przesyłania plików z maszyny wirtualnej na host 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 (
.vmdkoraz-flat.vmdk) na komputer lokalny. Alternatywnie możesz zamontować dysk wirtualny na napędzie 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.).

Zapoznaj się ze szczegółowym wpisem na blogu dotyczącym jak wyodrębnić pliki z dysków wirtualnych VMDK.
Wykorzystanie plików ISO do przesyłania danych do maszyny wirtualnej
Jeśli maszyna wirtualna nie ma dostępu do sieci, pliki można przesyłać do maszyn wirtualnych VMware za pomocą 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. Pliki z ESXi można skopiować, korzystając z jednej z powyższych metod, a następnie zapisać je do obrazu ISO.
- Zamontuj plik obrazu ISO w 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 programu 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.
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.