USB passthrough in vSphere 4.1 (esxi)

Postato il Aggiornato il

Una delle novità introdotte nella versione 4.1 di vmware vSphere  è, finalmente, la gestione dell’usb passthrough dall’host alle macchine virtuali.
Quindi è possibile inserire chiavette o dispositivi usb sull host esx e farli vedere e gestire alle macchine virtuali sia windows che linux.
Requisiti per USB device passthrough:
– Virtual hardware delle vm  alla versione 7 o superiore.
– USB Arbitrator
– USB controller
– Dispositivo usb o hub usb

Limiti per il Controller USB:

  • Sull’host deve essere chiaramente presente almeno un controller usb per pilotare dispositivi usb 1.1 o 2.0
  • È possibile aggiungere 1 solo controller USB virtuale a ciascuna macchina virtuale.
  • L’Arbitrator USB è in  grado di monitorare un massimo di 15 controller USB.
  • È necessario aggiungere il controller USB alla macchina virtuale prima di poter aggiungere una periferica USB.
  • È necessario rimuovere tutte le periferiche USB prima di rimuovere il controller.

Limiti per i dispositivi USB:

  • Si possono aggiungere più dispositivi USB ad una macchina virtuale che risiede su un host ESX ESXi a cui i dispositivi sono fisicamente collegati.
  • È possibile aggiungere fino a 20 dispositivi USB ad una macchina virtuale.
  • Un dispositivo USB è disponibile per una sola macchina virtuale alla volta.
  • Non tutti i dispositivi usb sono supportati (qui trovate la lista).
  • Quando si sospende una macchina virtuale, i dispositivi USB  connessi si comportano come se fossero stati scollegati, per poi ricollegarsi automaticamente al ripristino della vm.

Vediamo in pratica come aggiungere un controller usb e un device usb alle macchine vituali.

Nell’esempio che segue ho collegato, ad un host esxi 4.1, una chiavetta usb “sandisk cruzer micro” da 4GB e un comunissimo floppy drive usb “Y-E data usb floppy drive”.
Ho testato il tutto su una vm con windows server 2003 64 bit e una vm linux ubuntu 10.04.
Per prima cosa occorre aggiungere il controller usb alle vm, che può essere fatto tranquillamente a caldo utilizzando il vClient.
Nella proprietà della vm “EDIT SETTINGS” e attraverso il tasto “ADD” nel tab “Hardware” selezionare  “USB CONTROLLER”:

Stessa cosa occorre fare per  aggiungere la periferica usb: nell’esempio il floppy drive

Selezionare il dispositivo usb che si desidera connettere alla vm:

Seleziono il floppy e termino la procedura.
Come si nota c’è la possibilità di abilitare il supporto della periferica usb durante il vMotion!
Ora  il floppy disponibile sulla vm windows:

Ora aggiungiamo anche la chiavetta usb eseguendo la stessa procedura utilizzata per il  floppy:

La macchina virtuale windows vede entrambe le periferiche usb.
Stessa cosa occorre fare per la macchina linux ubuntu, ma occorre scollegare i dispositivi usb dalla vm windows, perché, come ho detto sopra, uno stesso dispositivo usb può essere collegato solo ad una vm alla volta.
Dopo aver eseguito la medesima procedura descritta sopra anche la vm ubuntu vede sia la chiavetta che  il floppy usb.

Risorse utili:

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1022290
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1021345

IZ

4 pensieri riguardo “USB passthrough in vSphere 4.1 (esxi)

    Marco ha detto:
    04/11/2010 alle 19:13

    Ciao.
    Sono anni che lavoro con un sistema Win2003 virtualizzato sotto opnesuse. Ora ho appena comprato un server nuovo sul quale ho installato esxi 4.1 e ho seguito le tue istruzioni per montare le periferiche USB. L’ho trovata molto utile e chiara e soprattutto funzionante.
    Ora, come è possibile montare montare periferiche USB, vorrei poter montare una periferica di rete (un HD di rete) o magari poter montare direttamente uno dei 6 HD del server. Teoricamente, conoscendo gli indirizzi giusti, dovrrebbe essere possibile. Cosa ne dici?
    Grazie.
    Marco

      Ivan Zini ha risposto:
      05/11/2010 alle 16:06

      Ciao Marco,
      il concetto di rete, anche se la macchina è virtuale, non cambia quindi puoi montare il disco di rete conoscendo il suo indirizzo IP.

      magari poter montare direttamente uno dei 6 HD del server
      se intendi montare lo storage locale dell’host esxi (via rete ?) su una macchina virtuale non si può fare…puoi aggiungere però un altro virtual disk che risiede sullo storage locale del tuo server su cui gira la vm.
      IZ

    Fulvio ha detto:
    29/12/2011 alle 12:34

    Buongiorno Ivan,
    ho il problema di dover installare un S.O. su una macchina virtuale utilizzando una usb bootabile. Da premettere che utilizzo come server ESXi 5 una IBM System x3650 64 bit. Non dovrei abilitare da bios qualche funzionalità per connettere direttamente il controller USB ad una singola VM ?
    Grazie ancora per la tua disponibilità

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...