Jak korzystać z urządzeń USB w maszynie wirtualnej VMware vSphere
Główną funkcją hiperwizora jest emulacja urządzeń wykorzystywanych przez maszyny wirtualne na poziomie oprogramowania. Urządzenia, takie jak wirtualne kontrolery, dyski, napędy DVD-ROM, karty graficzne, karty sieciowe, urządzenia wejściowe itp., są tworzone w maszynie wirtualnej. A co w przypadku, gdy chcesz podłączyć drukarkę, skaner, pamięć USB, dysk twardy USB, czytnik kart inteligentnych USB, klucze zabezpieczające, klucze licencyjne USB itp.?
W przypadku zewnętrznych urządzeń fizycznych z interfejsem USB można je podłączyć do maszyny wirtualnej działającej na VMware Workstation lub Host ESXi za pomocą funkcji passthrough USB. Ten wpis na blogu dotyczy korzystania z tej funkcji w VMware vSphere na hostach ESXi, w tym wymagań i kroków niezbędnych do podłączenia urządzeń USB.
Czym jest funkcja USB Passthrough?
Funkcja VMware USB Passthrough umożliwia podłączenie fizycznego urządzenia USB, podłączonego do portu USB na fizycznym hoście ESXi, do maszyny wirtualnej tak, jakby urządzenie to było podłączone bezpośrednio do maszyny wirtualnej. Przepustowość VMware jest funkcją dostępną począwszy od wersji ESXi 4.1.
Powody korzystania z przepustowości dla urządzenia USB z hosta ESXi do systemu operacyjnego (OS) gościa maszyny wirtualnej są różne. Na przykład, jeśli posiadasz starszy skaner lub drukarkę, które nie mają sterowników dla najnowszych wersji systemu operacyjnego Windows. Możesz zainstalować starszą wersję systemu Windows, która oferuje wsparcie dla tego urządzenia USB, i podłączyć je do maszyny wirtualnej. Innym praktycznym zastosowaniem tej funkcji jest sytuacja, gdy konieczne jest bezpośrednie kopiowanie plików z dysku twardego USB do maszyny wirtualnej lub z maszyny wirtualnej na dysk twardy USB z dużą prędkością. Może się zdarzyć, że użytkownicy będą musieli korzystać w maszynach wirtualnych z oprogramowania chronionego sprzętowymi kluczami licencyjnymi USB.
Jak działa funkcja USB Passthrough
Do działania funkcji USB Passthrough potrzebne są trzy główne komponenty: arbitrator, kontroler USB oraz fizyczne urządzenie USB.
The arbitrator to dedykowana usługa na serwerze ESXi. Arbiter skanuje fizyczne urządzenia USB podłączone do serwera fizycznego i odpowiada za kierowanie ruchu urządzeń USB między hostem fizycznym a maszyną wirtualną. W danym momencie tylko jedna maszyna wirtualna może uzyskać dostęp do urządzenia USB. Dostęp do urządzenia USB podłączonego do maszyny wirtualnej jest zablokowany dla innych maszyn wirtualnych. Arbiter USB oferuje wsparcie dla do 15 kontrolerów USB (vSphere 7.0). Usługa arbitra jest domyślnie włączona w ESXi. Kontroler USB (
A USB controller ) używany na fizycznym serwerze ESXi to kontroler, do którego podłączone są fizyczne porty USB. Fizyczny kontroler USB współpracuje z fizycznymi urządzeniami USB podłączonymi do fizycznych portów USB na serwerze. Kontrolery USB mogą być wbudowane (zwane również zintegrowanymi i wbudowanymi w układ na płycie głównej) lub zewnętrzne (zrealizowane jako karty PCI lub PCIe, które są wkładane do odpowiednich gniazd na płycie głównej serwera). Wbudowany kontroler USB działa jako most między magistralą USB a magistralą PCIe (lub PCI). Wbudowany kontroler USB jest fizycznie podłączony za pomocą odpowiedniej liczby linii PCIe do chipsetu płyty głównej.
A virtual USB controller to urządzenie emulowane, stworzone specjalnie dla maszyny wirtualnej działającej na hiperwizorze. Wirtualny kontroler USB współpracuje z fizycznym kontrolerem USB, gdy fizyczne urządzenie USB jest przekazywane z fizycznego hosta ESXi do systemu operacyjnego gościa w maszynie wirtualnej. Aby korzystać z funkcji przekazywania USB w maszynie wirtualnej, w jej konfiguracji musi znajdować się wirtualny kontroler USB. Do maszyny wirtualnej na hoście ESXi można podłączyć maksymalnie osiem wirtualnych kontrolerów USB. Jeśli chcesz usunąć wirtualny kontroler USB z konfiguracji maszyny wirtualnej, musisz najpierw odłączyć wszystkie urządzenia USB podłączone do tego kontrolera. Sterownik USB VMware jest instalowany w systemie operacyjnym gościa po dodaniu wirtualnego kontrolera USB do konfiguracji maszyny wirtualnej. Urządzenie USB (
A physical USB device ) to dowolne urządzenie wyposażone w interfejs USB i port USB służący do podłączenia do komputera. Do jednej maszyny wirtualnej lub hosta ESXi można podłączyć maksymalnie 20 urządzeń USB.
Standardy USB i tryby kontrolerów to:
- USB 2.0 i USB 1.1 (
EHCI+UHCI) - USB 3.0 (
xHCI) Wersja sprzętowa maszyny wirtualnej 8 lub wyższa
Po podłączeniu fizycznego urządzenia USB do maszyny wirtualnej za pomocą funkcji VMware USB passthrough może być konieczne zainstalowanie sterowników dla podłączonego urządzenia USB w systemie operacyjnym gościa.
Wymagania dotyczące USB 3.0
USB 3.0 jest dostępne dla serwerów ESXi począwszy od VMware vSphere 5.5 patch 3. Wymaga to sterownika USB xHCI w konfiguracji maszyny wirtualnej. Wymagania systemowe dotyczące korzystania z passthrough USB 3.0 to: Windows 8.1 lub nowszy, Windows Server 2012 R2 lub nowszy albo Linux z jądrem Linux 2.6.35 lub nowszym. Urządzenia USB 3.1 są obsługiwane z pełną prędkością począwszy od wersji VMware vSphere 7.0.
Ograniczenia funkcji USB Passthrough
Przed rozpoczęciem korzystania z funkcji USB Passthrough należy zapoznać się z kilkoma ograniczeniami:
- Dysk USB nie może służyć jako dysk rozruchowy dla maszyny wirtualnej.
- Jeśli dysk USB jest używany do uruchom ESXi, nie można go podłączyć do maszyny wirtualnej.
- Do obsługi maszyny wirtualnej wymagana jest wersja sprzętu wirtualnego 7 lub wyższa.
Niektóre urządzenia USB mogą nie być obsługiwane przez VMware:
- Koncentratory USB
- Urządzenia audio i kamery wideo wykorzystujące asynchroniczny transfer danych
- Niektóre klawiatury i myszy USB (więcej szczegółów można znaleźć w artykule VMware nr 1021345)
- Niektóre karty inteligentne wykorzystujące standard CCID mogą wymagać dodatkowej konfiguracji w celu podłączenia do maszyny wirtualnej.
vMotion jest możliwe w przypadku maszyn wirtualnych z podłączonymi urządzeniami USB typu passthrough. Po prawidłowym skonfigurowaniu maszyny wirtualnej i włączeniu funkcji vMotion urządzenia USB pozostają podłączone do maszyny wirtualnej po migracji na inny host ESXi.
Istnieją ograniczenia dotyczące funkcji vMotion w przypadku maszyn wirtualnych korzystających z dysków z przełączaniem USB:
- Funkcja rozproszonego zarządzania zasilaniem (DPM) nie jest obsługiwana, ponieważ nie można wyłączyć hosta ESXi w celu oszczędzania energii bez odłączenia urządzenia USB od maszyny wirtualnej (urządzenie USB zostaje odłączone, jeśli host zostanie wyłączony przy użyciu funkcji DPM). Na tym hoście należy wyłączyć funkcję DPM.
- Odporność na awarie nie jest obsługiwana.
- Nie można zawiesić ani wyłączyć maszyny wirtualnej (w przeciwnym razie urządzenia USB zostaną odłączone od maszyny wirtualnej i będzie można je ponownie podłączyć dopiero po migracji maszyny wirtualnej do pierwotnego hosta ESXi, do którego urządzenia USB są fizycznie podłączone). Maszyna wirtualna musi zostać ręcznie przeniesiona na host ESXi z podłączonym urządzeniem USB, gdy trzeba ją włączyć. Systemy gościnne Linux, które zostały wznowione, mogą montować urządzenia USB w różnych punktach montowania po ponownym podłączeniu.
- Hosty ESXi, na których znajdują się maszyny wirtualne z urządzeniami USB typu passthrough, muszą być dostępne poprzez interfejs jądra maszyny wirtualnej vmk0 (dla sieci zarządzania) oraz port TCP 902.
Odłącz urządzenia USB od maszyny wirtualnej przed użyciem funkcji dodawania na gorąco i dodaniem Procesora, pamięci lub urządzeń PCI. W przeciwnym razie urządzenia USB zostaną automatycznie odłączone, a podczas korzystania z funkcji dodawania na gorąco może dojść do utraty niektórych danych. Jeśli zawiesisz maszynę wirtualną, a następnie ją wznowisz, urządzenia USB zostaną odłączone, a następnie ponownie podłączone do maszyny wirtualnej.
Jeśli chodzi o tworzenie wirtualnego dysku USB lub wirtualnej pamięci flash VMware w celu podłączenia do maszyny wirtualnej z systemem ESXi lub VMware Stacja Robocza, tak jak w przypadku montowania wirtualnej dyskietki lub płyty CD/DVD, opcja ta nie jest obecnie wspierana.
Jak podłączyć urządzenie USB do maszyny wirtualnej
Teraz, gdy zapoznaliśmy się z teorią, możemy przejść do części praktycznej i przyjrzeć się konfiguracji w VMware vSphere.
- Podłącz urządzenie USB do portu USB na serwerze ESXi. W moim przypadku podłączę pamięć USB.
- Następnie możesz sprawdzić, czy urządzenie USB jest podłączone do ESXi w interfejsie wiersza poleceń ESXi:
lsusb - Jak widać na poniższym zrzucie ekranu, moja pamięć USB jest teraz podłączona do serwera ESXi.
- Usługa arbitra USB musi być uruchomiona. Możesz sprawdzić stan usługi za pomocą polecenia:
chkconfig usbarbitrator --list - Jeśli arbiter USB jest zatrzymany, można go uruchomić za pomocą polecenia `
/etc/init.d/usbarbitrator start`. Uwaga: Więcej informacji na temat ESXiCLI można znaleźć na stronie wpis na blogu.
W moim przykładzie maszyna wirtualna znajduje się na hoście ESXi zarządzanym przez vCenter Server . System Windows jest zainstalowany jako system operacyjny gościa na mojej maszynie wirtualnej. Otwórz VMware vSphere Client, przejdź do
Hosts and Clusters. W panelu nawigacyjnym wybierz maszynę wirtualną, do której chcesz podłączyć urządzenie USB za pomocą funkcji passthrough. Maszyna wirtualna musi być wyłączona. Musisz zainstaluj VMware Tools w systemie operacyjnym gościa. - Po wybraniu maszyny wirtualnej kliknij
Actions > Edit settings. - W oknie Edytuj ustawienia sprawdź, czy w ustawieniach maszyny wirtualnej znajduje się kontroler USB. Jeśli kontroler USB nie jest dostępny, kliknij
Add New Device > USB Controlleri wybierz typ kontrolera USB (USB 2.0 lub USB 3.0). - Jeśli kontroler USB jest dostępny, musisz dodać urządzenie USB podłączone do hosta ESXi do swojej maszyny wirtualnej. Kliknij A
dd New Device > Host USB Device.
- Do konfiguracji maszyny wirtualnej zostanie dodany nowy ciąg znaków. W ciągu znaków urządzenia New USB Host wybierz urządzenie USB, które chcesz podłączyć do maszyny wirtualnej. Mam teraz dwa dyski flash USB podłączone do mojego fizycznego serwera ESXi i podłączam dysk flash Verbatim do mojej maszyny wirtualnej (produkt Verbatim 0x0302). Jeśli chcesz włączyć obsługę vMotion, rozwiń New USB Host device i zaznacz „Support vMotion while device is connected” pole wyboru. Zwróć uwagę na wymagania i ograniczenia vMotion. Kliknij
OK, aby zapisać ustawienia i zamknąć to okno.
- Uruchom maszynę wirtualną. Po załadowaniu systemu operacyjnego gościa poczekaj na jego zainicjowanie i zainstalowanie pamięci USB. Następnie otwórz Menedżera urządzeń systemu Windows. Kliknij prawym przyciskiem myszy
My Computeri z menu kontekstowego wybierzManage. W oknie Zarządzanie komputerem kliknijDevice Manageri rozwiń sekcjęDisk drives(ponieważ podłączyliśmy pamięć USB, urządzenie to powinno pojawić się w tej kategorii urządzeń). Widzimy urządzenie USB Verbatim, które jest nazwą mojej pamięci USB podłączonej do maszyny wirtualnej za pomocą funkcji VMware USB Passthrough. - Otwórz
Disk Managementw oknie Zarządzanie komputerem i upewnij się, że pamięci USB przypisano dysk. W moim przypadku wszystko działa poprawnie i mogę teraz kopiować dane z pamięci USB na dysk wirtualny maszyny wirtualnej w systemie Windows oraz w drugą stronę.
Przepustowość PCI VMware
Jeśli urządzenie USB, które chcesz podłączyć do maszyny wirtualnej za pomocą funkcji przepustowości USB VMware, nie jest obsługiwane przez VMware, możesz spróbować skorzystać z funkcji przepustowości PCI i podłączyć do maszyny wirtualnej cały fizyczny kontroler USB wyposażony w interfejs PCI.
Jeśli serwer ESXi ma kontroler USB włożony do gniazda PCI, można przekazać to urządzenie PCI do maszyny wirtualnej. Funkcja VMware PCI Passthrough jest również nazywana VMDirectPass. Ta metoda jest mniej wygodna niż korzystanie z funkcji USB Passthrough, ale może pomóc w wykonaniu zadania.
Wymagania
Technologia Intel Directed I/O lub AMD I/O Virtualization Technology (AMD IOMMU) musi być obsługiwana przez sprzęt serwera i włączona w UEFI/BIOS. Jeśli na serwerze znajduje się tylko jeden kontroler USB, należy podłączyć dodatkowy kontroler USB, aby uniknąć utraty połączeń z urządzeniami USB używanymi przez fizyczny host ESXi.
Ograniczenia i restrykcje:
- Nie można zawiesić maszyny wirtualnej.
- Nie można migrować maszyny wirtualnej do innych hostów ESXi przy użyciu vMotion.
- Migawki maszyn wirtualnych nie są obsługiwane.
Przyjrzyjmy się przebiegowi podłączania urządzenia USB do maszyny wirtualnej przy użyciu funkcji PCI passthrough oraz podłączania całego kontrolera USB, do którego podłączone jest urządzenie USB, do maszyny wirtualnej.
- Aby zidentyfikować urządzenie USB oraz kontroler USB, do którego jest ono podłączone (jeśli na serwerze zainstalowanych jest wiele kontrolerów USB), użyj następującego polecenia:
lsusb -v | grep -e Bus -e iSerial - Znajdź ciąg znaków z nazwą urządzenia USB podłączonego do kontrolera USB i zidentyfikuj identyfikator kontrolera (np. bus002).
- Możesz sprawdzić dziennik VMkernel po podłączeniu urządzenia USB do serwera ESXi:
tail -f /var/log/vmkernel.log | grep -i USB - Otwórz VMware vSphere Client i przejdź do
Hosts and Clusters. - Wybierz host ESXi, na którym znajduje się maszyna wirtualna (do której chcesz podłączyć urządzenie USB).
- Przejdź do zakładki
Configurei wybierzPCI Devicesw sekcjiHardware. - Znajdź i wybierz wymagany kontroler USB z listy urządzeń PCI, korzystając z wcześniej wykrytego identyfikatora.
- Status wybranego sterownika powinien teraz zmienić się na Dostępny .
- Naciśnij
OK, aby zapisać ustawienia. - Uruchom ponownie host ESXi, aby zmiany zaczęły obowiązywać.
- Upewnij się, że Twoja maszyna wirtualna Maszyna jest wyłączona. Przejdź do ustawień maszyny wirtualnej i kliknij opcję „
Add New Device > PCI device > Add”. Wybierz kontroler USB z menu rozwijanego, podając prawidłowy identyfikator. - Włącz maszynę wirtualną. Sprawdź urządzenia w systemie operacyjnym gościa. Jeśli na maszynie wirtualnej zainstalowany jest system Windows, otwórz Menedżera urządzeń i sprawdź sterowniki oraz urządzenia pamięci masowej.
Połączenie karty inteligentnej USB
Niektóre urządzenia USB posiadające odpowiednią klasę CCID mogą nie mieć domyślnego wsparcia dla podłączenia do maszyn wirtualnych. Komunikat o błędzie „Nie można podłączyć ‘ścieżka:0/1/6/1’ do tej maszyny wirtualnej. Nie znaleziono urządzenia”. W logach widoczny jest komunikat:
(vmx-vcpu-0) nie przejął interfejsu 0 przed użyciem
PCSCD to demon ESXi sterujący czytnikami kart inteligentnych. Dostęp do kart inteligentnych USB jest wyłączony dla maszyn wirtualnych w celu uniknięcia konfliktów, ponieważ host ESXi wymaga karty inteligentnej. W rezultacie nie można korzystać z funkcji USB passthrough przy domyślnych ustawieniach dla kart inteligentnych USB. Aby włączyć przepuszczanie USB dla kart inteligentnych USB, należy edytować konfigurację hosta ESXi.
- Zatrzymaj maszynę wirtualną. Otwórz ustawienia maszyny wirtualnej, wybierz kartę
VM Optionsi kliknijEdit Configuration. - W oknie Configuration Parameters kliknij
Add Configuration Params.Alternatywnie możesz edytować plik konfiguracyjny VMX maszyny wirtualnej w interfejsie wiersza poleceń, łącząc się z konsolą ESXi za pomocą klienta SSH.
- Edytuj lub dodaj ten wiersz do konfiguracji maszyny wirtualnej, jeśli parametr nie występuje:
usb.generic.allowCCID = "TRUE" - Zapisz ustawienia maszyny wirtualnej.
- Zatrzymaj usługę PCSCD za pomocą tego polecenia w wierszu poleceń ESXi:
sudo /etc/init.d/pcscd stop - Upewnij się, że usługa PCSCD nie jest uruchomiona:
ps | grep pcscd - Włącz maszynę wirtualną i sprawdź urządzenia, aby upewnić się, że czytnik kart inteligentnych USB jest podłączony do maszyny wirtualnej.
Wnioski
Można podłączać różne urządzenia podłączone do portów USB na fizycznych hostach ESXi bezpośrednio do maszyn wirtualnych i używać ich w systemach operacyjnych gości maszyn wirtualnych tak samo, jak używa się tych urządzeń USB na zwykłych komputerach fizycznych. Można nawet migrować maszyny wirtualne przy użyciu zewnętrznych urządzeń USB podłączonych do głównego hosta ESXi za pomocą vMotion na inny host. Pomimo pewnych ograniczeń funkcja VMware USB passthrough zapewnia większe możliwości i elastyczność w różnych sytuacjach. Tworzenie kopii zapasowej maszyn wirtualnych VMware ma kluczowe znaczenie dla użytkowników platformy VMware vSphere. Pobierz oprogramowanie NAKIVO Backup & Replication i wypróbuj to uniwersalne rozwiązanie do ochrony danych, które pozwoli zabezpieczyć maszyny wirtualne VMware vSphere oraz inne dane w Twoim środowisku.



