USB meneruskan penerusan USB flash drive / perangkat ke mesin virtual di VMWare ESXi

Pada host VMWare ESXi, Anda dapat meneruskan perangkat USB / flash drive / disk lokal yang terhubung ke host ke mesin virtual. Teknologi ini disebut USB Passthrough dan tersedia mulai dengan ESXi 4.1..

Misalkan tugas kita adalah meneruskan drive USB 3.0 eksternal yang terhubung secara lokal ke host ESXi 6.7 ke mesin virtual. Akses ke disk diperlukan untuk dengan cepat menyalin data langsung dari VM ke drive USB yang terpisah.

Konten:

  • Fitur mode Passthrough USB di VMWare
  • USB Passthrough: Meneruskan perangkat USB ke VM di ESXi
  • VMware PCI Passthrough (VMDirectPath): probros pengontrol USB di VM

Fitur mode Passthrough USB di VMWare

Seperti yang sudah Anda pahami, mode Passthrough memungkinkan Anda untuk meneruskan perangkat fisik yang terhubung ke host ESXi langsung ke OS tamu mesin virtual. Dalam mode Passthrough (melewati perangkat melalui), Anda dapat memberikan akses virtual mesin langsung ke USB flash drive / drive, modem, atau seluruh PCI / USB controller.

ESXi membutuhkan beberapa komponen dasar untuk meneruskan perangkat USB:

  • Arbiter - layanan terpisah pada server ESXi yang memindai perangkat USB fisik yang terhubung, bertanggung jawab untuk merutekan lalu lintas perangkat USB antara host dan VM, mengontrol pemblokiran akses ke perangkat (hanya satu VM yang dapat menggunakan perangkat USB yang terhubung). Arbiter USB dapat secara bersamaan melacak hingga 15 pengontrol USB.
  • Pengontrol USB - Pengontrol USB harus diinstal pada host fisik dan mesin virtual.

Untuk menginstal pengontrol USB untuk VM di VMWare ESXi, buka pengaturannya dan tambahkan perangkat baru - pengontrol USB (Pengontrol USB) Saat menambahkan pengontrol USB, Anda harus memilih jenisnya:

  • USB 2.0 (EHCI + UHCI) - pengontrol dengan dukungan untuk perangkat USB 2.0 dan USB 1.1;
  • USB 3.0 (xHCI) - mendukung perangkat USB 3.0 yang cepat, membutuhkan perangkat keras virtual versi 8 dan lebih tinggi.
Mode USB 3.0 tersedia mulai dengan patch vSphere 5.5 3. Untuk mendukung mode ini, pengontrol xHCI harus bekerja di OS tamu. Sistem operasi tamu didukung mulai dengan Windows 8.1 / Windows Server 2012 R2 dan Linux dengan kernel 2.6.35.

USB Passthrough: Meneruskan perangkat USB ke VM di ESXi

Dalam mode USB Passthrough asli, Anda dapat menghubungkan perangkat USB fisik dari host ke mesin virtual VMWare.

Persyaratan utama dan batasan metode penerusan ini:

  • Perangkat Keras Virtual 7.0 atau lebih tinggi;
  • Anda dapat memberikan akses langsung ke perangkat USB hanya dengan satu VM;
  • Jumlah maksimum perangkat USB yang diteruskan untuk satu VM adalah 20;
  • Mengunduh VM dari USB tidak didukung.

Setelah menambahkan pengontrol USB virtual untuk VM, Anda dapat meneruskan drive USB yang terhubung ke host.

  1. Tambahkan perangkat di pengaturan VM Host perangkat usb dan klik Tambah;
  2. Di daftar drop-down, pilih perangkat USB yang terhubung yang ingin Anda tambahkan;
  3. Untuk mendukung vMotion untuk VM dengan drive USB fisik terhubung, aktifkan "Mendukung vMotion saat perangkat terhubung";
  4. Setelah itu, drive USB akan muncul di dalam OS tamu mesin virtual.
Ada sejumlah pembatasan vMotion untuk VM dengan stik USB terpasang:

  1. Anda tidak dapat mematikan VM atau menjeda itu. Ketika Anda menghidupkan mesin seperti itu, Anda perlu memigrasikannya secara manual ke host yang terhubung dengan perangkat USB;
  2. Mode DPM tidak didukung karena vCenter dapat mematikan host dengan perangkat USB untuk menghemat daya;
  3. Host ESXi dengan VM dan perangkat USB fisik harus dapat diakses melalui vmk0 melalui port TCP 902.

Jika, ketika menambahkan perangkat USB baru, klien vSphere menulis bahwa tidak ada perangkat USB yang terdeteksi (Tidak ada perangkat USB yang tersedia), itu artinya USB drive Anda tidak didukung oleh VMWare untuk penerusan dalam mode ini. Daftar perangkat USB yang kompatibel ada di situs web VMWare (tidak terlalu besar). Lihat “Perangkat USB diuji untuk Passthrough dari ESXi Host ke Mesin Virtual di ESXi 6.7”Dalam artikel https://kb.vmware.com/s/article/1021345.

Dalam hal ini, Anda dapat meneruskan seluruh pengontrol USB ke VM Anda dari host ESXi Anda.

VMware PCI Passthrough (VMDirectPath): probros pengontrol USB di VM

Metode lain yang kurang nyaman untuk menyediakan akses dari VM ke perangkat USB fisik adalah meneruskan seluruh pengontrol USB dari host ESXi. Mode ini disebut VMDirectPath. Untuk menggunakannya, chipset server harus mendukung Intel Directed I / O atau Teknologi Virtualisasi AMD I / O (AMD IOMMU), dan mode ini diaktifkan di pengaturan BIOS / UEFI.

Jika hanya satu pengontrol USB yang diinstal pada server, ketika meneruskannya ke VM, Anda tidak akan dapat menggunakan perangkat host USB yang terhubung secara lokal (keyboard, mouse). Dalam hal ini, lebih baik menambahkan pengontrol PCI USB tambahan ke server.

Jika host memiliki beberapa pengontrol USB, Anda dapat mengidentifikasi perangkat USB yang terhubung dan nomor pengontrol melalui shell ESXi. Daftar perangkat USB:

lsusb -v | grep -e Bus -e iSerial

Dalam output perintah, Anda perlu menemukan garis drive USB, misalnya:

Perangkat Bus 002 003: ID 0280: a00c Info Toshiba America. Systems, Inc.

Kemudian, dengan menggunakan nomor pengontrol (Bus02 dalam kasus ini), tentukan hub root dan iSerialnya:

Perangkat Bus 002 001: ID 1d6b: 0002 Linux root 3.0 hub iSerial 1 0000: 00: 1D.0
Jika Anda tidak dapat melihat drive USB Anda, coba sambungkan dan lepaskan secara fisik dan cari di log vmkernel.log bahwa layanan USB Arbitrator telah mendeteksi drive Anda:

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

2019-12-03T12: 06: 12.546Z cpu0: 33271) usb 4-2: perangkat USB SuperSpeed ​​nomor 5 baru menggunakan xhci_hcd 2019-12-03T12: 06: 12.570Z cpu0: 33271) usb 4-2: Perangkat USB baru ditemukan , idVendor = 0480, idProduct = b207 2019-12-03T12: 06: 12.570Z cpu0: 33271) usb 4-2: String perangkat USB baru: Mfr = 1, Product = 2, SerialNumber = 3 2019-12-03T12: 06 : 12.570Z cpu0: 33271) usb 4-2: Produk: External USB 3.0 2019-12-03T12: 06: 12.570Z cpu0: 33271) usb 4-2: pabrikan: TOSHIBA 2019-12-03T12: 06: 12.570Z cpu0 : 33271) usb 4-2: SerialNumber: 20180528012427F 2019-12-03T12: 06: 12.571Z cpu0: 33271) usb 4-2: Penjual: 0x0480, Produk: 0xb207, Revisi: 0x0315 2019-12-03T12: 06: 12.571 Z cpu0: 33271) usb 4-2: Antarmuka Subclass: 0x06, Protokol: 0x50 2019-12-03T12: 06: 12.571 Z cpu0: 33271) PERINGATAN: LinScsiLLD: scsi_add_host: 573: vmkAdapter (usb-storage) sgMaxEntries dibulatkan ke 255 Ukuran yang dilaporkan adalah 65535 2019-12-03T12: 06: 12.571Z cpu0: 33271) usb-storage 4-2: 1.0: antarmuka diklaim oleh usb-storage 2019-12-03T12: 06: 12.571Z cpu0: 33271) usb 4-2: perangkat tidak tersedia ble untuk passthrough 2019-12-03T12: 06: 12.571Z cpu0: 33271) usb 4-2: usbfs: terdaftar usb0405 2019-12-03T12: 06: 15.454Z cpu0: 33207) penyimpanan usb 4-2: 1.0: ditangguhkan

Jika drive USB tidak terdeteksi oleh host ESXi, periksa apakah layanan sedang berjalan:

#chkconfig usbarbitrator --list.

Dengan demikian, kami mendapat nomor pengontrol USB yang perlu diteruskan ke VM.

  1. Untuk meneruskan pengontrol USB fisik, pilih ESXi dari host yang digunakan VM Anda dan buka bagian Kelola -> Pengaturan -> Perangkat PCI -> Edit;
  2. Dalam daftar perangkat PCI, temukan dan pilih pengontrol USB yang diinginkan dengan ID-nya (dalam contoh saya 00: 1D.0, pengontrol disebut Chipset seri C610 / X99 USB Enhanced Host Controller # 1 Intel Corporation);
  3. Status pengontrol USB harus berubah dari Tidak tersedia (Perangkat ini saat ini tidak tersedia untuk digunakan VMs) di Tersedia (Perangkat ini tersedia untuk digunakan oleh VM). Klik OK.
  4. Untuk menyimpan perubahan, Anda harus memulai kembali host ESXi.
  5. Setelah memuat host, matikan VM dan tambahkan perangkat PCI baru (Perangkat baru -> Perangkat PCI -> Tambah) Di daftar turun bawah, pilih pengontrol USB Anda (misalnya, 0000: 00: 1D | Intel Corporation USB Chipset ...). Jika, saat menambahkan perangkat PCI, peringatan muncul di pengaturan VM: "Peringatan: VM tidak akan hidup sampai cadangan memorinya sama dengan ukuran memorinya“, Anda perlu memesan memori untuk VM.
  6. Nyalakan VM dan pastikan drive USB muncul di OS tamu. Dalam kasus saya, drive USB yang terhubung "Perangkat USB Toshiba Eksternal USB 3.0" muncul di guest Windows Server 2012 R2.

Dalam mode VMDirectPath, Anda dapat meneruskan hingga dua perangkat PCI ke VM.

Ada sejumlah pembatasan pada VM dengan perangkat PCI yang membanting PCI: Anda tidak dapat menjeda VM (Menunda), melakukan vMotion pada host lain (logis, karena Anda terikat pada pengontrol fisik, membuat snapshots).

Hyper-V juga mendukung penerusan perangkat USB fisik ke VM.