USB passsthrough forwarding USB flash drive / devices to virtual machine on VMWare ESXi

Na hostiteli VMWare ESXi můžete přeposlat místní USB zařízení / flash disk / disk připojený k hostiteli do virtuálního počítače. Tato technologie se nazývá USB Passthrough a je k dispozici počínaje ESXi 4.1..

Předpokládejme, že naším úkolem je předat externí jednotku USB 3.0 lokálně připojenou k hostiteli ESXi 6.7 na virtuální stroj. Přístup k disku je nutný pro rychlé zkopírování dat přímo z virtuálního počítače na samostatnou jednotku USB.

Obsah:

  • Funkce režimu USB Passthrough v VMWare
  • USB Passsthrough: Přeposlání zařízení USB do virtuálního počítače na ESXi
  • VMware PCI Passthrough (VMDirectPath): probros USB řadič v VM

Funkce režimu USB Passthrough v VMWare

Jak jste již pochopili, režim Passthrough vám umožňuje přeposlat fyzické zařízení připojené k hostiteli ESXi přímo do hostujícího OS virtuálního počítače. V průchozím režimu (průchod zařízením) můžete virtuálnímu počítači poskytnout přímý přístup k jednotce USB flash, jednotce, modemu nebo celému řadiči PCI / USB.

ESXi potřebuje několik základních komponent pro předávání USB zařízení:

  • Rozhodce - samostatná služba na serveru ESXi, která prohledává připojená fyzická zařízení USB, odpovídá za směrování provozu zařízení USB mezi hostitelem a virtuálním počítačem, řídí blokování přístupu k zařízení (pouze připojené zařízení USB může používat připojené zařízení USB). Rozhodce USB může současně sledovat až 15 řadičů USB.
  • USB řadiče - Řadič USB musí být nainstalován na fyzickém hostiteli i na virtuálním počítači.

Chcete-li nainstalovat řadič USB pro VM na VMWare ESXi, otevřete jeho nastavení a přidejte nové zařízení - řadič USB (USB řadič) Při přidávání řadiče USB je třeba vybrat jeho typ:

  • USB 2.0 (EHCI + UHCI) - řadič s podporou zařízení USB 2.0 a USB 1.1;
  • USB 3.0 (xHCI) - podporuje rychlá zařízení USB 3.0, vyžaduje virtuální hardware verze 8 a vyšší.
Režim USB 3.0 je k dispozici počínaje opravou vSphere 5.5. Pro podporu tohoto režimu musí řadič xHCI pracovat v hostujícím OS. Podporovány jsou hostující operační systémy počínaje Windows 8.1 / Windows Server 2012 R2 a Linux s jádrem 2.6.35.

USB Passsthrough: Přeposlání zařízení USB do virtuálního počítače na ESXi

V nativním režimu USB Passthrough můžete fyzické zařízení USB připojit z hostitele k virtuálnímu stroji VMWare.

Hlavní požadavky a omezení této metody zasílání:

  • Virtuální hardware 7.0 nebo vyšší;
  • Můžete poskytnout přímý přístup k zařízení USB pomocí pouze jednoho virtuálního počítače;
  • Maximální počet zařízení USB přeposlaných na jeden VM je 20;
  • Stahování virtuálních počítačů z USB není podporováno.

Po přidání virtuálního USB řadiče do virtuálního počítače můžete jednotku USB připojenou k hostiteli přeposlat.

  1. Přidejte zařízení v nastavení VM Hostujte zařízení USB a klikněte Přidat;
  2. V rozevíracím seznamu vyberte připojené zařízení USB, které chcete přidat;
  3. Chcete-li podporovat vMotion pro VM s připojenou fyzickou jednotkou USB, povolte „Podpora vMotion, když je zařízení připojeno";
  4. Poté by se jednotka USB měla objevit uvnitř hostujícího OS virtuálního počítače.
Existuje řada omezení vMotion pro virtuální počítače s připojeným USB klíčem:

  1. Nemůžete vypnout nebo pozastavit VM. Když zapnete takové zařízení, musíte jej ručně přenést na hostitele, ke kterému je připojeno zařízení USB;
  2. Režim DPM není podporován, protože vCenter může vypnout hostitele pomocí zařízení USB, aby se šetřila energie;
  3. Hostitelé ESXi s VM a fyzickým zařízením USB musí být přístupní přes vmk0 přes TCP port 902.

Pokud při přidání nového zařízení USB klient vSphere zapíše, že nebyla detekována žádná zařízení USB (Nejsou k dispozici žádná zařízení USB), to znamená, že vaše jednotka USB není v tomto režimu podporována společností VMWare. Seznam kompatibilních zařízení USB je na webu VMWare (není příliš velký). Viz „USB zařízení testována na průchod z hostitele ESXi na virtuální stroj v ESXi 6.7“V článku https://kb.vmware.com/s/article/1021345.

V tomto případě můžete předat celý řadič USB do vašeho VM od hostitele ESXi.

VMware PCI Passthrough (VMDirectPath): probros USB řadič v VM

Další, méně pohodlný způsob poskytování přístupu z VM k fyzickému zařízení USB je přeposlat celý řadič USB z hostitele ESXi. Tento režim se nazývá VMDirectPath. Aby bylo možné použít čipovou sadu serveru, musí ji podporovat Intel Directed I / O nebo Virtualizační technologie AMD I / O (AMD IOMMU), a tento režim je povolen v nastavení systému BIOS / UEFI.

Pokud je na serveru nainstalován pouze jeden řadič USB, při předávání do virtuálního počítače nebudete moci používat místně připojená hostitelská zařízení USB (klávesnice, myš). V tomto případě je lepší přidat na server další řadič PCI USB.

Pokud má hostitel několik řadičů USB, můžete identifikovat připojené zařízení USB a číslo řadiče pomocí prostředí ESXi. Seznam zařízení USB:

lsusb -v | grep -e Bus -e iSerial

Ve výstupu příkazu musíte najít řádek jednotky USB, například:

Sběrnice 002 Zařízení 003: ID 0280: a00c Informace o společnosti Toshiba America. Systems, Inc.

Poté pomocí čísla řadiče (v tomto případě Bus02) určete kořenový rozbočovač a jeho iSerial:

Sběrnice 002 Zařízení 001: ID 1d6b: 0002 kořenový rozbočovač Linux Foundation 3.0 3.0 iSerial 1 0000: 00: 1D.0
Pokud jednotku USB nevidíte, zkuste ji fyzicky připojit a odpojit a podívat se do protokolu vmkernel.log, že služba USB Arbitrator zjistila vaši jednotku:

tail -f /var/log/vmkernel.log | grep -i USB

2019-12-03T12: 06: 12,546Z cpu0: 33271) usb 4-2: nové SuperSpeed ​​USB zařízení číslo 5 pomocí xhci_hcd 2019-12-03T12: 06: 12,570Z cpu0: 33271) usb 4-2: Nové USB zařízení nalezeno , idVendor = 0480, idProduct = b207 2019-12-03T12: 06: 12,570Z cpu0: 33271) usb 4-2: Nové řetězce zařízení USB: Mfr = 1, produkt = 2, sériové číslo = 3 2019-12-03T12: 06 : 12.570Z cpu0: 33271) usb 4-2: Produkt: Externí USB 3.0 2019-12-03T12: 06: 12.570Z cpu0: 33271) usb 4-2: Výrobce: TOSHIBA 2019-12-03T12: 06: 12.570Z cpu0 : 33271) usb 4-2: sériové číslo: 20180528012427F 2019-12-03T12: 06: 12,571Z cpu0: 33271) usb 4-2: Prodejce: 0x0480, produkt: 0xb207, revize: 0x0315 2019-12-03T12: 06: 12.571 Z cpu0: 33271) usb 4-2: podtřída rozhraní: 0x06, protokol: 0x50 2019-12-03T12: 06: 12,571 Z cpu0: 33271) UPOZORNĚNÍ: LinScsiLLD: scsi_add_host: 573: vmkAdapter (usb-storage) sgMaxEntries zaokrouhlený na 255 Hlášená velikost byla 65535 2019-12-03T12: 06: 12,571Z cpu0: 33271) usb-storage 4-2: 1.0: rozhraní je nárokováno usb-storage 2019-12-03T12: 06: 12.571Z cpu0: 33271) usb 4-2: zařízení není k dispozici ble pro průchod 2019-12-03T12: 06: 12.571Z cpu0: 33271) usb 4-2: usbfs: registrováno usb0405 2019-12-03T12: 06: 15.454Z cpu0: 33207) usb-storage 4-2: 1.0: suspended

Pokud hostitelský počítač ESXi nerozpozná jednotku USB, zkontrolujte, zda je služba spuštěna:

#chkconfig usbarbitrator - seznam.

V souladu s tím jsme dostali číslo řadiče USB, které je třeba předat do virtuálního počítače.

  1. Chcete-li přeposlat fyzický řadič USB, vyberte ESXi hostitele, na kterém běží virtuální počítač, a přejděte do sekce Spravovat -> Nastavení -> Zařízení PCI -> Upravit;
  2. V seznamu zařízení PCI najděte a vyberte požadovaný řadič USB podle jeho ID (v mém příkladu 00: 1D.0 se ovladač nazývá Čipová sada řady C610 / X99 Intel Enhanced Host Controller # 1 Intel Corporation);
  3. Stav řadiče USB by se měl změnit z Nedostupné (Toto zařízení není v současné době k dispozici pro virtuální počítače) K dispozici (Toto zařízení je k dispozici pro použití VM). Klikněte na OK.
  4. Chcete-li uložit změny, musíte restartovat hostitele ESXi.
  5. Po načtení hostitele vypněte VM a přidejte nové PCI zařízení (Nové zařízení -> Zařízení PCI -> Přidat) V rozevíracím seznamu vyberte svůj řadič USB (například 0000: 00: 1D | Intel Corporation USB Chipset ...). Pokud se při přidávání zařízení PCI v nastavení VM zobrazí varování: “Varování: VM se nezapne, dokud se jeho paměť nevyrovná jeho velikosti paměti“, Musíte si vyhradit paměť pro VM.
  6. Zapněte VM a ujistěte se, že se v hostujícím OS objeví jednotka USB. V mém případě se v hostujícím systému Windows Server 2012 R2 objevila připojená jednotka USB „Toshiba External USB 3.0 USB Device“.

V režimu VMDirectPath můžete přesměrovat až dvě zařízení PCI na virtuální počítač.

U virtuálních počítačů s PCI s PCI zařízením je několik omezení: nemůžete pozastavit virtuální počítače (pozastavit), provádět vMotion u jiného hostitele (je to logické, protože jste vázáni na fyzický řadič, vytvářejte snímky).

Hyper-V také podporuje předávání fyzických zařízení USB do virtuálních počítačů.