I dispositivi passthrough consentono di utilizzare le risorse in modo efficiente e migliorare le prestazioni dell'ambiente.

In vSphere 8.0 e versioni precedenti i dispositivi passthrough venivano aggiunti o rimossi solo quando la macchina virtuale era spenta. La versione corrente di vSphere offre il supporto dell'aggiunta a caldo e della rimozione a caldo per i dispositivi VMDirectPath I/O. L'aggiunta a caldo si riferisce alla procedura di aggiunta di un dispositivo passthrough quando la macchina virtuale è accesa.

Per il supporto dell'aggiunta a caldo e della rimozione a caldo per i dispositivi VMDirectPath I/O, sono disponibili le funzionalità seguenti.
  • Aggiunta a caldo di un dispositivo abilitato per passthrough a una macchina virtuale tramite vSphere API. È possibile eseguire questa operazione in uno dei modi seguenti:
    1. Abilitare il passthrough per un dispositivo esistente rilevato al momento dell'avvio di ESXi e aggiungere il dispositivo a caldo alla macchina virtuale.
    2. In alternativa, è possibile aggiungere fisicamente a caldo un nuovo dispositivo a uno slot di collegamento a caldo PCIe vuoto dell'host, abilitare il passthrough per il dispositivo appena aggiunto e quindi aggiungere il dispositivo a caldo alla macchina virtuale.
      Nota: Questa funzionalità richiede la certificazione di collegamento a caldo nativa di PCIe per il server.
  • Rimozione a caldo di un dispositivo passthrough da una macchina virtuale tramite vSphere API.
  • La rimozione a caldo a sorpresa del dispositivo passthrough utilizzato da una macchina virtuale può essere estratta fisicamente dal dispositivo dall'host.
    Nota: Questa funzionalità richiede la certificazione di collegamento a caldo a sorpresa nativa di PCIe per il server.
    Nota: L'aggiunta a caldo e la rimozione a caldo di VMDirectPath I/O sono supportate solo per i dispositivi NVMe. Il supporto per l'aggiunta a caldo e la rimozione a caldo di VMdirectPath I/O non è disponibile in vSphere Client.
Le seguenti funzionalità non sono supportate per le macchine virtuali con collegamento a caldo del passthrough abilitato:
  • Input-Output Memory Management Unit (IOMMU) esposta al sistema operativo guest.
  • Collegamento a caldo della CPU.
  • Collegamento a caldo della memoria.
  • Direct Path I/O dinamico.
  • Supporto per le macchine virtuali con numero di vCPU > 128.
  • Gli interrupt virtuali noti anche come pubblicazioni di interrupt potrebbero essere disabilitati per le macchine virtuali con collegamento a caldo del passthrough abilitato.
  • La rimozione a caldo fisica normale del dispositivo passthrough dall'host non è supportata.
  • Supporto dell'interfaccia utente per l'aggiunta a caldo e la rimozione a caldo.
  • Tutte le funzionalità che non sono disponibili con Direct Path I/O della macchina virtuale.

Requisiti per piattaforme, dispositivi e sistemi operativi guest

Requisiti del server e del dispositivo

  • Assicurarsi che l'aggiunta a caldo e la rimozione a caldo dei dispositivi VMDirectPath I/O siano supportate dal server OEM (Original Equipment Manufacturer).
  • Il firmware della piattaforma del server deve essere UEFI (Unified Extensible Firmware Interface).
  • Assicurarsi che la piattaforma del server e il dispositivo siano conformi ai requisiti indicati nell'articolo 2142307 della Knowledge Base.
  • Il server deve essere certificato per il Direct Path I/O della macchina virtuale.
  • Per la rimozione a caldo a sorpresa di un dispositivo passthrough da una macchina virtuale, il modello del server deve essere certificato per il collegamento a caldo a sorpresa nativo PCIe.
Nota: Per ulteriori informazioni sulla certificazione del server, vedere Guida alla compatibilità di VMware.

Requisiti del sistema operativo guest

  • Assicurarsi che il sistema operativo guest supporti il collegamento a caldo NVMe e la rimozione a caldo a sorpresa di NVMe.
  • Utilizzare la distribuzione GOS stabile più recente che contiene tutte le correzioni dello stack di I/O del driver NVMe.

Requisiti di vCenter ed ESXi

Le versioni di ESXi e vCenter devono essere 8.0 Update 1 o versioni successive.

Limiti

  • Il numero massimo di dispositivi passthrough che possono essere aggiunti a caldo in una singola chiamata API ReconfigureVM è 1.
  • Il numero massimo di dispositivi passthrough che possono essere rimossi a caldo in una singola chiamata API ReconfigureVM è 1.
  • Non è possibile richiedere altre modifiche di riconfigurazione della macchina virtuale nella stessa chiamata API ReconfigureVM quando viene richiesta l'aggiunta a caldo o la rimozione a caldo di un dispositivo passthrough.
  • Il numero massimo di dispositivi passthrough NVMe che una macchina virtuale può supportare è 32.

Abilitazione dell'aggiunta a caldo e della rimozione a caldo dei dispositivi VMDirectPath I/O

È possibile abilitare l'aggiunta a caldo e la rimozione a caldo dei dispositivi VMDirectPath I/O preparando vCenter e l'host ESXi.

Prerequisiti

Preparare il vCenter e l'host ESXi.
  • Distribuire vCenter ed eseguire l'installazione stateful di ESXi con la combinazione della build.
  • Impostare il parametro di avvio VMKernel.
    set -s maxIntrCookies -v 4096
  • Riavviare l'host ESXi.
  • Distribuire il data center e aggiungere l'host.

Procedura

  1. Passare a un host in vSphere Client.
  2. Nella scheda Configura, espandere Hardware e fare clic su Dispositivi PCI.
  3. Selezionare il dispositivo PCI NVMe e fare clic su Attiva/disattiva passthrough.

Operazioni successive

Preparare e configurare la macchina virtuale.

Preparazione e configurazione della macchina virtuale

I dispositivi passthrough consentono di utilizzare le risorse in modo efficiente e migliorare le prestazioni dell'ambiente. È possibile preparare e configurare la macchina virtuale.

Distribuzione e configurazione della macchina virtuale (avvio UEFI)

Procedura

  1. Passare alla macchina virtuale in vSphere Client.
    1. Per trovare una macchina virtuale, selezionare un data center, una cartella, un cluster, un pool di risorse o un host.
    2. Fare clic sulla scheda Macchine virtuali.
  2. Fare clic con il pulsante destro del mouse sulla macchina virtuale e selezionare Modifica impostazioni.
  3. Espandere la sezione Memoria e impostare Prenota tutta la memoria guest (tutto bloccato).
  4. Fare clic su Salva.
  5. Impostare fixedPassthruHotPlugEnabled su TRUE per la macchina virtuale utilizzando vSphere API ReconfigVM_Task() Per ulteriori informazioni, vedere https://developer.broadcom.com.
    Nota: Cercare il termine Hotplug utilizzando la barra di ricerca in https://developer.broadcom.com.
    1. In vCenter, fare clic con il pulsante destro del mouse su Macchina virtuale → Compatibilità → Aggiorna compatibilità macchina virtuale, specificare vmx-20 e fare clic su Salva.
    2. Impostare motherboardLayout su ACPI utilizzando vSphere API. Per ulteriori informazioni, vedere https://developer.broadcom.com.
      Nota: Cercare il termine Hotplug utilizzando la barra di ricerca in https://developer.broadcom.com.
  6. (Facoltativo) Aggiungere i dispositivi PCI abilitati per il passthrough alla macchina virtuale.
  7. Accensione della macchina virtuale.
    Nota: Verificare che l'operazione di collegamento a caldo in corso sia stata eseguita correttamente prima di procedere con l'operazione di collegamento a caldo successiva.
  8. Eseguire l'aggiunta e la rimozione a caldo dei dispositivi passthrough utilizzando vSphere API. Per ulteriori informazioni, vedere https://developer.broadcom.com.
    Nota: Cercare il termine Hotplug utilizzando la barra di ricerca in https://developer.vmware.com/samples.

Operazioni successive

Verificare che l'operazione di collegamento a caldo sia stata eseguita correttamente.

Verifica della riuscita dell'operazione di collegamento a caldo tramite vSphere Client

Per verificare se l'operazione di aggiunta a caldo, rimozione a caldo e rimozione a caldo a sorpresa è riuscita, è possibile utilizzare vSphere Client.

Procedura

  1. Individuare la macchina virtuale dell'appliance in vSphere Client.
  2. Selezionare un data center, una cartella, un cluster, un pool di risorse o un host e fare clic sulla scheda Macchine virtuali.
  3. Fare clic su Macchine virtuali e fare clic sulla macchina virtuale nell'elenco.
  4. Nella tabella Dispositivi PCI verificare quanto segue:
    Opzione Descrizione

    Verificare la riuscita dell'aggiunta a caldo di un dispositivo abilitato per il passthrough a una macchina virtuale tramite vSphere API.

    Viene visualizzato il dispositivo passthrough aggiunto a caldo.

    Verificare che la rimozione a caldo di un dispositivo passthrough da una macchina virtuale tramite vSphere API sia riuscita.

    Il dispositivo passthrough rimosso a caldo non viene visualizzato.

    Verificare che la rimozione a caldo a sorpresa (rimozione a caldo fisica) di un dispositivo passthrough di una macchina virtuale dall'host ESXi sia riuscita.

    • Il dispositivo rimosso a caldo a sorpresa non viene visualizzato.
    • Nella visualizzazione host:
      1. Passare a un host in vSphere Client.
      2. Nella scheda Configura, espandere Hardware e fare clic su Dispositivi PCI.
      3. Verificare che il dispositivo rimosso a caldo a sorpresa non sia visualizzato.

Verifica della riuscita dell'operazione di collegamento a caldo tramite la macchina virtuale

Per verificare se l'operazione di aggiunta a caldo, rimozione a caldo e rimozione a caldo a sorpresa è riuscita, è possibile utilizzare la macchina virtuale.

Procedura

  1. Nella macchina virtuale, aprire una connessione SSH al sistema operativo guest.
  2. Accedere come utente root.
  3. Eseguire il comando lspci.
  4. Verificare i risultati.
    Opzione Descrizione

    Verificare la riuscita dell'aggiunta a caldo di un dispositivo abilitato per il passthrough a una macchina virtuale tramite vSphere API.

    Viene visualizzato il dispositivo passthrough aggiunto a caldo.
    Nota: Il dispositivo passthrough potrebbe avere un indirizzo Spotfire Binary Data File (SBDF) diverso da quello dell'host.

    Verificare la riuscita della rimozione a caldo di un dispositivo passthrough da una macchina virtuale tramite vSphere API.

    Il dispositivo passthrough rimosso a caldo non viene visualizzato.

    Verificare che la rimozione a caldo a sorpresa (rimozione a caldo fisica) di un dispositivo passthrough di una macchina virtuale dall'host ESXi sia riuscita.

    Il dispositivo rimosso a caldo a sorpresa non viene visualizzato.