Vous pouvez importer des machines virtuelles à partir de vSphere vers votre déploiement VMware Integrated OpenStack et les gérer comme des instances d'OpenStack.

Cette procédure s'applique aux déploiements avec VDS ou la mise en réseau de NSX Data Center for vSphere. Pour les déploiements de NSX-T Data Center, reportez-vous à Importer des machines virtuelles dans VMware Integrated OpenStack avec NSX-T Data Center.

Les machines virtuelles importées deviennent des instances OpenStack mais restent distinctes.

  • Si une machine virtuelle dispose de plusieurs disques, les disques sont importés en tant que volumes Cinder.

  • Les réseaux existants sont importés en tant que réseaux de fournisseurs de type portgroup avec un accès restreint au locataire donné.

  • Une fois qu'une machine virtuelle avec un support réseau spécifique est importée, le même réseau ne peut pas être importé pour un projet différent.

  • Les sous-réseaux Neutron sont automatiquement créés avec DHCP désactivé.

  • Les ports Neutron sont automatiquement créés en fonction de l'adresse IP et MAC de la carte d'interface réseau sur la machine virtuelle.

Note:

Si le serveur DHCP ne peut pas maintenir la même adresse IP lors d'un renouvellement de bail, les informations d'instance dans OpenStack indiquent l'adresse IP incorrecte. Pour éviter ce problème, utilisez des liaisons DHCP statiques sur les serveurs DHCP existants et n'exécutez pas de nouvelles instances OpenStack sur les réseaux importés.

Vous importez des machines virtuelles utilisant la DCLI (Data Center Command-Line Interface) sur Serveur de gestion OpenStack.

Conditions préalables

Vérifiez que les machines virtuelles que vous souhaitez importer sont dans la même instance de vCenter Server.

Procédure

  1. Dans vSphere, ajoutez les clusters contenant les machines virtuelles de votre choix en tant que clusters de calcul dans votre déploiement VMware Integrated OpenStack. Pour obtenir des instructions, reportez-vous à la section Ajouter des clusters de calcul à un déploiement OpenStack.
  2. Connectez-vous à Serveur de gestion OpenStack en tant que viouser.
  3. Si vous souhaitez éviter que les machines virtuelles importées ne soient déplacées ou renommées, mettez à jour la configuration de votre déploiement.
    1. Si votre déploiement n'utilise pas de fichier custom.yml, copiez le fichier de modèle custom.yml dans le répertoire /opt/vmware/vio/custom.
      sudo mkdir -p /opt/vmware/vio/custom
      sudo cp /var/lib/vio/ansible/custom/custom.yml.sample /opt/vmware/vio/custom/custom.yml
    2. Ouvrez le fichier /opt/vmware/vio/custom/custom.yml dans un éditeur de texte.
    3. Supprimez le commentaire du paramètre nova_import_vm_relocate et définissez sa valeur sur false.
    4. Déployez la configuration mise à jour.
      sudo viocli deployment configure

      Le déploiement de la configuration interrompt brièvement les services OpenStack.

  4. Connectez-vous au point de terminaison de vAPI VMware Integrated OpenStack.
    dcli +server https://mgmt-server-ip:9449/api +i

    Si vous ne parvenez pas à vous connecter au serveur, reportez-vous à la section DCLI ne peut pas se connecter au serveur.

  5. Importer des machines virtuelles non gérées dans VMware Integrated OpenStack.
    Note:

    Lorsque vous exécutez une commande, DCLI vous invite à entrer les informations d'identification de l'administrateur pour votre instance de vCenter Server. Vous pouvez enregistrer ces informations d'identification pour éviter d'entrer votre nom d'utilisateur et votre mot de passe à chaque fois.

    • Exécutez la commande suivante pour importer toutes les machines virtuelles non gérées :

      com vmware vio vm unmanaged importall --cluster cluster-name [--tenant-mapping {FOLDER | RESOURCE_POOL} [--root-folder root-folder | --root-resource-pool root-resource-pool]]

      Option

      Description

      --cluster

      Entrez le cluster de calcul contenant les machines virtuelles que vous souhaitez importer.

      --tenant-mapping {FOLDER | RESOURCE_POOL}

      Spécifiez s'il convient de mapper les machines virtuelles importées aux projets OpenStack en fonction de leur emplacement dans des dossiers ou dans des pools de ressources.

      Si vous n'incluez pas ce paramètre, toutes les machines virtuelles importées deviendront des instances du projet import_service par défaut.

      --root-folder ROOT_FOLDER

      Si vous avez spécifié FOLDER pour le paramètre --tenant-mapping, vous pouvez indiquer le nom du dossier racine contenant les machines virtuelles à importer.

      Toutes les machines virtuelles du dossier spécifié ou de l'un de ses sous-dossiers sont importées en tant qu'instances dans un projet OpenStack portant le même nom que le dossier dans lequel elles se trouvent.

      Note:

      Si vous spécifiez --tenant-mapping FOLDER mais que vous ne spécifiez pas --root-folder, le nom du dossier du niveau supérieur dans le cluster est utilisé par défaut.

      --root-resource-pool ROOT_RESOURCE_POOL

      Si vous avez spécifié RESOURCE_POOL pour le paramètre --tenant-mapping, vous pouvez indiquer le nom du pool de ressources racine contenant les machines virtuelles à importer.

      Toutes les machines virtuelles du pool de ressources spécifié ou de l'un de ses pools de ressources enfants sont importées en tant qu'instances dans un projet OpenStack portant le même nom que le dossier dans lequel elles se trouvent.

    • Exécutez la commande suivante pour importer une machine virtuelle spécifiée :

      com vmware vio vm unmanaged importvm --vm vm-id [--tenant project-name] [--nic-mac-address nic-mac --nic-ipv4-address nic-ip] [--root-disk root-disk-path] [--nics specifications]

      Option

      Description

      --vm

      Entrez l'identifiant de la machine virtuelle que vous souhaitez importer.

      Vous pouvez voir les valeurs d'ID de toutes les machines virtuelles non gérées en exécutant la commande com vmware vio vm unmanaged list.

      --tenant

      Spécifiez le projet OpenStack dans lequel vous souhaitez importer la machine virtuelle.

      Si vous n'incluez pas ce paramètre, le projet import_service est utilisé par défaut.

      --nic-mac-address

      Entrez l'adresse MAC de la carte d'interface réseau sur la machine virtuelle.

      Si vous n'incluez pas ce paramètre, le processus d'importation tente de détecter automatiquement les adresses MAC et IP.

      Note:

      Si vous incluez ce paramètre, vous devez également inclure le paramètre nic_ipv4_address.

      --nic-ipv4-address

      Entrez l'adresse IP et le préfixe pour la carte d'interface réseau sur la machine virtuelle. Entrez la valeur dans la notation CIDR (par exemple : 10.10.1.1/24).

      Ce paramètre doit être utilisé en même temps que le paramètre --nic-mac-address.

      --root-disk

      Pour une machine virtuelle comportant plusieurs disques, spécifiez le chemin d'accès à la banque de données du disque racine au format suivant : --root-disk '[datastore1] foo/foo_1.vmdk'

      --nics

      Pour une machine virtuelle comportant plusieurs cartes réseau, spécifiez les adresses MAC et IP de chaque carte réseau au format JSON.

      Utilisez les paires clé-valeur suivantes :

      • Mac_address : l'adresse MAC de la carte réseau au format standard

      • ipv4_address: l'adresse IPv4 dans la notation CIDR

      Par exemple :

      --nics '[{"mac_address": "00:50:56:9a:f5:7b", "ipv4_address": "10.10.1.1/24"}, {"mac_address": "00:50:56:9a:ee:be", "ipv4_address": "10.10.2.1/24"}]'