Partage via


Résolution des problèmes liés au déploiement de machines virtuelles dans le GPU Azure Stack Edge Pro

S’APPLIQUE À : Oui pour la référence SKU Pro GPUAzure Stack Edge Pro : GPUOui pour la référence SKU Pro 2Azure Stack Edge Pro 2Oui pour la référence SKU Pro RAzure Stack Edge Pro ROui pour la référence SKU Mini RAzure Stack Edge Mini R

Cet article explique comment résoudre les erreurs courantes lors du déploiement de machines virtuelles sur un appareil GPU Azure Stack Edge Pro. L’article fournit une aide pour enquêter sur les causes les plus courantes qui entraînent des dépassements de délai et des problèmes d’approvisionnement de machines virtuelles lors de la création de l’interface réseau et des machines virtuelles.

Pour diagnostiquer tout échec d’approvisionnement de machines virtuelles, recherchez une machine virtuelle défaillante dans les journaux d’invités. Pour connaître les étapes de collecte des journaux invités de machine virtuelle et les inclure dans un package de support, consultez Collecter des journaux invités pour les machines virtuelles sur Azure Stack Edge Pro.

Pour obtenir de l’aide sur les problèmes qui empêchent le chargement d’une image de machine virtuelle avant le déploiement de votre machine virtuelle, consultez Dépanner les chargements d’images de machine virtuelle dans le GPU Azure Stack Edge Pro.

Dépassement du délai d’approvisionnement de machines virtuelles

Cette section décrit la résolution des causes les plus courantes d’un dépassement du délai d’approvisionnement de machines virtuelles.

Lorsque le délai d’approvisionnement de la machine virtuelle expire, l’erreur suivante s’affiche :

Capture d’écran de l’erreur affichée dans le Portail Azure lorsque le délai d’approvisionnement de la machine virtuelle expire dans Azure Stack Edge.

Les problèmes suivants sont les causes principales des dépassements du délai d’approvisionnement des machines virtuelles :

  • L’adresse IP que vous avez attribuée à la machine virtuelle est déjà utilisée. En savoir plus
  • L’image de machine virtuelle que vous avez utilisée pour déployer la machine virtuelle n’a pas été préparée correctement. En savoir plus
  • Impossible d’atteindre la passerelle et le serveur DNS par défaut à partir de la machine virtuelle d’invité. En savoir plus
  • Pendant une installation cloud init, cloud init ne s’est pas exécuté ou a rencontré des problèmes lors de son exécution. (Machines virtuelles Linux uniquement) En savoir plus
  • Pour une machine virtuelle Linux déployée à l’aide d’une image de machine virtuelle personnalisée, les indicateurs Approvisionnement dans le fichier /etc/waagent.conf ne sont pas corrects. (Machines virtuelles Linux uniquement) En savoir plus
  • Interface réseau principale attachée à un commutateur virtuel compatible avec SRIOV En savoir plus

L’adresse IP attribuée à la machine virtuelle est déjà utilisée

Description de l’erreur : Une adresse IP statique qui est déjà utilisée a été attribuée à la machine virtuelle et le provisionnement de la machine virtuelle a échoué. Cette erreur se produit lorsque l’adresse IP est utilisée dans le sous-réseau sur lequel la machine virtuelle est déployée. Lorsque vous déployez une machine virtuelle via le portail Azure, le processus vérifie l’existence d’une adresse IP au sein de votre appareil, mais ne peut pas vérifier les adresses IP d’autres services ou machines virtuelles qui pourraient également se trouver sur votre sous-réseau.

Solution suggérée : utilisez une adresse IP statique inutilisée ou une adresse IP dynamique fournie par le serveur DHCP.

Pour vérifier la présence d’une adresse IP en double :

  • Exécutez les commandes ping et Test-NetConnection suivantes (tnc) à partir de n’importe quelle appliance du même réseau :

    ping <IP address>
    tnc <IP address>
    tnc <IP address> -CommonTCPPort “RDP”
    

Si vous recevez une réponse, l’adresse IP que vous avez attribuée à la nouvelle machine virtuelle est déjà utilisée.

L’image de la machine virtuelle n’est pas préparée correctement

Description de l’erreur : Pour préparer une image de machine virtuelle afin de l’utiliser sur un appareil GPU Azure Stack Edge Pro, vous devez suivre un flux de travail spécifique. Vous devez créer une machine virtuelle de 1re génération dans Azure, personnaliser la machine virtuelle, généraliser le disque dur virtuel, puis télécharger le disque dur virtuel du système d’exploitation pour cette machine virtuelle. L’image préparée doit être un disque dur virtuel de 1re génération avec le type fixe et l’extension de nom de fichier « vhd ».

Pour obtenir une vue d’ensemble des spécifications, consultez Créer des images de machine virtuelle personnalisées pour un appareil GPU Azure Stack Edge Pro. Pour obtenir de l’aide concernant la résolution des problèmes liés aux images de machine virtuelle, consultez Résoudre les problèmes liés aux chargements d’images de machine virtuelle dans le GPU Azure Stack Edge Pro.

Solution suggérée : Terminez le flux de travail permettant de préparer votre image de machine virtuelle. Pour obtenir de l’aide, consultez l’un des articles suivants :

Impossible d’atteindre la passerelle et le serveur DNS à partir de la machine virtuelle d’invité

Description de l’erreur : si la passerelle et le serveur DNS par défaut sont impossibles à atteindre pendant le déploiement de la machine virtuelle, le délai d’approvisionnement de la machine virtuelle expire et son déploiement échoue.

Solution suggérée : Vérifiez que la passerelle et le serveur DNS par défaut sont accessibles à partir de la machine virtuelle. Ensuite, répétez le déploiement de la machine virtuelle.

Pour vérifier que la passerelle et le serveur DNS par défaut sont accessibles à partir de la machine virtuelle, procédez comme suit :

  1. Connectez-vous à la machine virtuelle.

  2. Exécutez les commandes suivantes :

    ping <default gateway IP address>
    ping <DNS server IP address>
    

    Pour connaître les adresses IP de la passerelle et des serveurs DNS par défaut, accédez à l’interface utilisateur locale de votre appareil. Sélectionnez le port qui vous intéresse, puis affichez les paramètres réseau.

    Capture d’écran de la page réseau d’un appareil Azure Stack Edge avec les paramètres réseau du port 2 affichés.

Problèmes cloud init (machines virtuelles Linux)

Description de l’erreur : cloud init ne s’est pas exécuté ou des problèmes sont survenus pendant l’exécution de cloud init. cloud-init est utilisé pour personnaliser une machine virtuelle Linux lors de son premier démarrage. Pour plus d’informations, consultez Prise en charge cloud-init pour les machines virtuelles dans Azure.

Solutions suggérées : Pour trouver les problèmes qui sont survenus pendant l’exécution de cloud init :

  1. Connectez-vous à la machine virtuelle.

  2. Recherchez les erreurs cloud init dans les fichiers journaux suivants :

    • /var/log/cloud-init-output.log
    • /var/log/cloud-init.log
    • /var/log/waagent/log

Pour vérifier certains des problèmes les plus courants qui empêchent cloud init de s’exécuter correctement, procédez comme suit :

  1. Assurez-vous que l’image de machine virtuelle est basée sur cloud init. Exécutez la commande suivante :

    cloud-init --version

    La commande doit renvoyer le numéro de version de cloud init. Si l’image n’est pas basée sur cloud init, la commande ne renverra pas d’informations sur la version.

    Pour obtenir de l’aide sur les options de cloud init, exécutez la commande suivante :

    cloud-init --help

  2. Assurez-vous que l’instance de cloud init peut s’exécuter correctement avec la source de données définie sur Azure.

    Lorsque la source de données est définie sur Azure, l’entrée dans les journaux de cloud init est semblable à celle qui suit.

    Illustration d’une entrée de journal cloud-init pour une image de machine virtuelle dont la source de données est définie sur Azure. Le texte d’identification est mis en évidence.

    Si la source de données n’est pas définie sur Azure, vous devrez peut-être modifier votre script cloud init. Pour plus d’informations, consultez Exploration approfondie de cloud-init.

Les indicateurs Approvisionnement ne sont pas définis correctement (machines virtuelles Linux)

Description de l’erreur : Pour déployer correctement une machine virtuelle Linux dans Azure, l’approvisionnement doit être désactivé sur l’image et l’approvisionnement à l’aide de cloud init doit être activé. Les indicateurs Approvisionnement qui définissent ces valeurs sont configurés correctement pour les images de machine virtuelle standard. Si vous utilisez une image de machine virtuelle personnalisée, vous devez vous assurer qu’elles sont correctes.

Solution suggérée : Vérifiez que les indicateurs de provisionnement du fichier /etc/waagent.conf ont les valeurs suivantes :

Fonctionnalité Valeur requise
Activer l’approvisionnement Provisioning.Enabled=n
S’appuyer sur cloud-init pour l’approvisionnement Provisioning.UseCloudInit=y

Interface réseau principale attachée à un commutateur virtuel compatible SRIOV

Description de l’erreur : l’interface réseau principale attachée à un commutateur virtuel avec interface SRIOV (virtualisation I/O à racine unique) a provoqué le contournement du trafic réseau hyper-V, afin que l’hôte ne puisse pas recevoir de requêtes DHCP de la machine virtuelle, ce qui entraîne un délai d’approvisionnement.

Solutions suggérées :

  • Connectez l’interface réseau principale de la machine virtuelle à un commutateur virtuel sans activer la mise en réseau accélérée.

  • Sur un appareil Azure Stack Edge Pro 1, les commutateurs virtuels créés sur le port 1 vers le port 4 n’activent pas la mise en réseau accélérée. Sur le port 5 ou le port 6, les commutateurs virtuels activent la mise en réseau accélérée par défaut.

  • Sur un appareil Azure Stack Edge Pro 2, les commutateurs virtuels créés sur le port 1 vers le port 2 n’activent pas la mise en réseau accélérée. Sur le port 3 ou le port 4, les commutateurs virtuels activent la mise en réseau accélérée par défaut.

Problèmes de création d’interfaces réseau

Cette section fournit une aide concernant les problèmes susceptibles de faire échouer la création d’une interface réseau lors du déploiement d’une machine virtuelle.

Dépassement du délai de création de la carte réseau

Description de l’erreur : La création de l’interface réseau sur la machine virtuelle ne s’est pas terminée dans le délai imparti. Cet échec peut être dû à des problèmes de serveur DHCP dans votre environnement.

Pour vérifier si l’interface réseau a bien été créée, procédez comme suit :

  1. Dans le portail Azure, accédez à la ressource Azure Stack Edge de votre appareil (accédez à Services Edge>Machines virtuelles). Sélectionnez ensuite Déploiements, puis accédez au déploiement de la machine virtuelle.

  2. Si une interface réseau n’a pas été créée, l’erreur suivante s’affiche.

    Capture d’écran de l’erreur affichée dans le Portail Azure lors de l’échec de la création de l’interface réseau lors du déploiement d’une machine virtuelle sur un appareil Azure Stack Edge.

Solution suggérée : Recréez la machine virtuelle et attribuez-lui une adresse IP statique.

Problèmes de création de machines virtuelles

Cette section traite des problèmes courants qui surviennent lors de la création d’une machine virtuelle.

Échec de la création de la machine virtuelle

Description de l’erreur : si vous disposez d’une image de la place de marché créée avec Azure Stack Edge antérieure à 2403, puis que vous créez une machine virtuelle à partir de l’image de la place de marché existante, votre création de machine virtuelle échoue car Azure Stack Edge 2407 a modifié le chemin de téléchargement de l’image de la place de marché.

Solution suggérée : procédez de la manière suivante pour supprimer l’image de la place de marché existante, puis créez une image de la place de marché à partir du portail Azure.

  1. À partir du portail Azure, supprimez l’image de la place de marché existante.

    1. Répertoriez l’ingestion et le travail d’ingestion BlobDownload pour l’image de la place de marché. Procédez de la manière suivante pour vous connecter à Azure Resource Manager.

      Exécutez le script suivant pour répertorier les travaux d’ingestion :

      Spécifiez l’ID d’abonnement dans l’URI suivant :

      $uri1 = "https://management.appliance name.DNS domain/subscriptions/sid/providers/Microsoft.AzureBridge/locations/DBELocal/ingestionJobs/?api-version=2022-03-01"

      Function Get-AzCachedAccessToken() 
      {
      $ErrorActionPreference = 'Stop' 
      $azureRmProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile 
      $currentAzureContext = Get-AzContext 
      $profileClient = New-Object Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient($azureRmProfile) 
      Write-Debug ("Getting access token for tenant" + $currentAzureContext.Subscription.TenantId) 
      $token = $profileClient.AcquireAccessToken($currentAzureContext.Subscription.TenantId) 
      $token.AccessToken 
      } 
      
      $token = Get-AzCachedAccessToken 
      $headers = @{Authorization = "Bearer $token"; "Content-Type" = "application/json" } 
      $v = Invoke-RestMethod -Method Get -Uri $uri1 -Headers $headers 
      v.value
      
    2. Recherchez le nom du travail d’ingestion = Marketplace image sku name et le type = BlobDownload.

      Par exemple : nom du travail d’ingestion = Ubuntu-18-04 et type = BlobDownload.

      Capture d’écran de l’exemple de syntaxe pour rechercher le nom du travail d’ingestion.

  2. Si le travail d’ingestion se trouve à l’étape 1, procédez de la manière suivante pour supprimer le travail d’ingestion et l’image. Par exemple, le nom du travail d’ingestion dans l’exemple ci-dessus est ubuntu-18-04. En outre, Subscription ID et le nom Resource group se trouvent dans l’exemple.

    $uri2 = "https://management.<appliance name>.<DNS domain>/subscriptions/sid/resourceGroups/rgname/providers/Microsoft.AzureBridge/locations/dbelocal/ingestionJobs/<ingestion job name>?api-version=2018-06-01" 
    
    Invoke-RestMethod -Method DELETE -Uri $uri2 -Headers $headers
    
  3. Suivez les étapes pour Créer une image de machine virtuelle à partir de la place de marché Azure.

Mémoire insuffisante pour créer la machine virtuelle

Description de l’erreur : lorsque la création d’une machine virtuelle échoue en raison d’une mémoire insuffisante, l’erreur suivante s’affiche.

Capture d’écran de l’erreur affichée dans le Portail Azure lors de l’échec de la création de la machine virtuelle sur un appareil Azure Stack Edge.

Solution suggérée : Vérifiez la mémoire disponible sur l’appareil, puis choisissez la taille de la machine virtuelle en conséquence. Pour plus d’informations, consultez Tailles de machines virtuelles prises en charge sur Azure Stack Edge.

La mémoire disponible pour le déploiement d’une machine virtuelle est restreinte par plusieurs facteurs :

Solutions suggérées :

  • Utilisez une taille de machine virtuelle qui nécessite moins de mémoire.
  • Arrêtez toutes les machines virtuelles qui ne sont pas utilisées à partir du portail avant de déployer la nouvelle machine virtuelle.
  • Supprimez toutes les machines virtuelles qui ne sont plus utilisées.

Nombre insuffisant de GPU pour créer une machine virtuelle de GPU

Si vous essayez de déployer une machine virtuelle sur un appareil GPU sur lequel Kubernetes est déjà activé, aucune GPU n’est disponible et l’approvisionnement de la machine virtuelle échoue avec l’erreur suivante :

Capture d’écran de l’erreur affichée dans le Portail Azure lorsque la création d’une machine virtuelle GPU échoue en raison de l’absence de GPU disponible sur un appareil Azure Stack Edge.

Causes possibles : si Kubernetes est activé avant la création de la machine virtuelle, Kubernetes utilise tous les GPU disponibles et vous ne pourrez pas créer de machines virtuelles de taille GPU. Vous pouvez créer autant de machines virtuelles de taille GPU que le nombre de GPU disponibles. Votre appareil Azure Stack Edge peut être équipé d’un ou de deux GPU.

Solution suggérée : Pour connaître les options de déploiement de machines virtuelles sur un appareil à un ou deux GPU avec Kubernetes configuré, consultez Machines virtuelles GPU et Kubernetes.

Étapes suivantes