Si vous disposez d'un hôte ESXi autonome, vous ne pouvez pas accéder aux machines virtuelles hôtes via le client vSphere Web Client basé sur le Web. Dans ce cas, vous pouvez utiliser cette procédure pour attacher des machines virtuelles à des commutateurs logiques NSX.

L'exemple indiqué dans cette procédure montre comment attacher une machine virtuelle nommée app-vm à un commutateur logique nommé app-switch.

Diagramme indiquant la machine virtuelle attachée à un commutateur logique

Conditions préalables

  • La machine virtuelle doit être hébergée sur des hyperviseurs qui ont été ajoutés à l'infrastructure NSX.
  • Les nœuds d'infrastructure doivent disposer d'une connectivité de plan de gestion (MPA) NSX et de plan de contrôle (LCP) NSX.
  • Les nœuds d'infrastructure doivent être ajoutés à une zone de transport.
  • Un commutateur logique doit être créé.
  • Vous devez avoir accès à l'API NSX Manager.
  • Vous devez avoir un accès en écriture au fichier VMX de la machine virtuelle.

Procédure

  1. À l'aide de l'application vSphere Client (installée) ou d'un autre outil de gestion des machines virtuelles, modifiez la machine virtuelle et ajoutez un adaptateur Ethernet VMXNET 3.
    Sélectionnez n'importe quel réseau nommé. Vous modifierez la connexion réseau lors d'une étape ultérieure.

    Capture d'écran de la boîte de dialogue Ajouter un matériel

  2. Utilisez l'API NSX pour émettre l'appel d'API GET https://<nsx-mgr>/api/v1/fabric/virtual-machines/<VM-ID>.
    Dans les résultats, recherchez l'externalId de la machine virtuelle.
    Par exemple :
    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. Éteignez la machine virtuelle et désinscrivez-la de l'hôte.

    Vous pouvez utiliser votre outil de gestion des machines virtuelles ou l'interface de ligne de commande ESXi, comme indiqué ici.

    [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. À partir de l'interface utilisateur de NSX Manager, obtenez l'ID du commutateur logique.
    Par exemple :

    Écran NSX Manager affichant le résumé du commutateur logique

  5. Modifiez le fichier VMX de la machine virtuelle.
    Supprimez le champ ethernet1.networkName = "<nom>" et ajoutez les champs suivants :
    • ethernet1.opaqueNetwork.id = "<ID du commutateur logique>"
    • ethernet1.opaqueNetwork.type = "nsx.LogicalSwitch"
    • ethernet1.externalId = "<ExternalId de la machine virtuelle>"
    • ethernet1.connected = "TRUE"
    • ethernet1.startConnected = "TRUE"

    Par exemple :

    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. Dans l'interface utilisateur de NSX Manager, ajoutez un port de commutateur logique et utilisez l'externalId de la VM pour le rattachement à l'interface virtuelle (VIF).
  7. Enregistrez la machine virtuelle et mettez-la sous tension.

    Vous pouvez utiliser votre outil de gestion des machines virtuelles ou l'interface de ligne de commande ESXi, comme indiqué ici.

    [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:
    
    

Résultats

Dans l'interface utilisateur de NSX Manageren mode Gestionnaire, sélectionnez Mise en réseau > Commutateurs logiques > Ports. Recherchez l'ID d'attachement VIF correspondant à l'externalId de la VM et vérifiez que les états administratif et opérationnel sont Actif/Actif.

Si deux machines virtuelles sont attachées au même commutateur logique et qu'elles disposent d'adresses IP configurées dans le même sous-réseau, elles doivent pouvoir effectuer un test ping l'une sur l'autre.

Que faire ensuite

Ajoutez un routeur logique.

Vous pouvez surveiller l'activité sur le port de commutateur logique pour résoudre les problèmes. Reportez-vous à la section « Surveiller l'activité d'un port de commutateur logique » dans le Guide d'administration de NSX.