Se si dispone di un host ESXi autonomo, non è possibile accedere alle macchine virtuali host tramite il vSphere Web Client basato sul Web. In questo caso, è possibile utilizzare questa procedura per collegare macchine virtuali a commutatori logici di NSX.

L'esempio illustrato in questa procedura mostra come collegare una macchina virtuale denominata app-vm a un commutatore logico denominato app-switch.

Diagramma che mostra la macchina virtuale collegata a un commutatore logico

Prerequisiti

  • La macchina virtuale deve essere ospitata in hypervisor che sono stati aggiunti all'infrastruttura di NSX.
  • I nodi di infrastruttura devono avere connettività del piano di gestione (MPA) di NSX e del piano di controllo (LCP) di NSX.
  • I nodi di infrastruttura devono essere aggiunti a una zona di trasporto.
  • È necessario creare un commutatore logico.
  • È necessario poter accedere all'API di NSX Manager.
  • È necessario disporre dell'accesso in scrittura al file VMX della macchina virtuale.

Procedura

  1. Utilizzando l'applicazione vSphere Client (basata su installazione) o un altro strumento di gestione delle macchine virtuali, modificare la macchina virtuale e aggiungere una scheda Ethernet VMXNET 3.
    Selezionare una qualsiasi rete denominata. La connessione di rete verrà modificata in un secondo momento.

    Schermata della finestra di dialogo Aggiungi hardware

  2. Utilizzare l'API di NSX per generare la chiamata API GET https://<nsx-mgr>/api/v1/fabric/virtual-machines/<VM-ID>.
    Nei risultati, individuare l'externalId della macchina virtuale.
    Ad esempio:
    GET https://<nsx-mgr>/api/v1/fabric/virtual-machines/60a5a5d5-ea2b-407e-a806-4fdc8468f735
    
    {
      "resource_type": "VirtualMachine",
      "id": "60a5a5d5-ea2b-407e-a806-4fdc8468f735",
      "display_name": "app-vm",
      "compute_ids": [
        "instanceUuid:50066bae-0f8a-386b-e62e-b0b9c6013a51",
        "moIdOnHost:5",
        "externalId:50066bae-0f8a-386b-e62e-b0b9c6013a51",
        "hostLocalId:5",
        "locationId:564dc020-1565-e3f4-f591-ee3953eef3ff",
        "biosUuid:4206f47d-fef7-08c5-5bf7-ea26a4c6b18d"
      ],
      "external_id": "50066bae-0f8a-386b-e62e-b0b9c6013a51",
      "type": "REGULAR",
      "host_id": "cb82b0fa-a8f1-11e5-92a9-6b7d1f8661fa",
      "local_id_on_host": "5"
    }
    
    
    
  3. Spegnere e annullare la registrazione della macchina virtuale dall'host.

    È possibile utilizzare lo strumento di gestione delle macchine virtuali o la CLI di ESXi, come mostrato qui.

    [user@host:~] vim-cmd /vmsvc/getallvms
    Vmid    Name             File               Guest OS      Version   Annotation
    5      app-vm   [ds2] app-vm/app-vm.vmx   ubuntuGuest     vmx-08
    8      web-vm   [ds2] web-vm/web-vm.vmx   ubuntu64Guest   vmx-08
    
    [user@host:~] vim-cmd /vmsvc/power.off 5 
    Powering off VM:
    
    [user@host:~] vim-cmd /vmsvc/unregister 5
    
    
  4. Dall'interfaccia utente di NSX Manager, recuperare l'ID del commutatore logico.
    Ad esempio:

    Schermata di NSX Manager che mostra il riepilogo del commutatore logico

  5. Modificare il file VMX della macchina virtuale.
    Eliminare il campo ethernet1.networkName = "<nome>" e aggiungere i seguenti campi:
    • ethernet1.opaqueNetwork.id = "<ID commutatore logico>"
    • ethernet1.opaqueNetwork.type = "nsx.LogicalSwitch"
    • ethernet1.externalId = "<externalId macchina virtuale>"
    • ethernet1.connected = "TRUE"
    • ethernet1.startConnected = "TRUE"

    Ad esempio:

    OLD
    ethernet1.pciSlotNumber = "224"
    ethernet1.virtualDev = "vmxnet3"
    ethernet1.networkName = "VM Network"
    ethernet1.addressType = "vpx"
    ethernet1.generatedAddress = "00:50:56:86:7b:d7"
    ethernet1.uptCompatibility = "true"
    ethernet1.present = "TRUE"
    
    
    NEW
    ethernet1.pciSlotNumber = "224"
    ethernet1.virtualDev = "vmxnet3"
    ethernet1.addressType = "vpx"
    ethernet1.generatedAddress = "00:50:56:86:7b:d7"
    ethernet1.uptCompatibility = "true"
    ethernet1.present = "TRUE"
    ethernet1.opaqueNetwork.id = "22b22448-38bc-419b-bea8-b51126bec7ad"
    ethernet1.opaqueNetwork.type = "nsx.LogicalSwitch"
    ethernet1.externalId = "50066bae-0f8a-386b-e62e-b0b9c6013a51"
    ethernet1.connected = "TRUE"
    ethernet1.startConnected = "TRUE"
    
    
  6. Nell'interfaccia utente di NSX Manager, aggiungere una porta del commutatore logico e utilizzare l'externalId della macchina virtuale per l'allegato VIF.
  7. Registrare nuovamente la macchina virtuale e accenderla.

    È possibile utilizzare lo strumento di gestione delle macchine virtuali o la CLI di ESXi, come mostrato qui.

    [user@host:~] vim-cmd /solo/register /path/to/file.vmx
    
    For example:
    [user@host:~] vim-cmd solo/registervm /vmfs/volumes/355f2049-6c704347/app-vm/app-vm.vmx
    9
    
    [user@host:~] vim-cmd /vmsvc/power.on 9 
    Powering on VM:
    
    

risultati

Nell'interfaccia utente di NSX Manager in modalità Manager, selezionare Servizi di rete > Commutatori logici > Porte. Individuare l'ID dell'allegato VIF corrispondente all'externalId della macchina virtuale e assicurarsi che lo stato dell'amministratore e lo stato operativo siano Attivo/Attivo.

Se due macchine virtuali sono collegate allo stesso commutatore logico e sono configurati indirizzi IP nella stessa subnet, queste devono essere in grado di pingarsi reciprocamente.

Operazioni successive

Aggiungere un router logico.

È possibile monitorare l'attività sulla porta del commutatore logico per risolvere i problemi. Vedere "Monitoraggio dell'attività di una porta del commutatore logico" in Guida all'amministrazione di NSX.