Partager via


Résolution des problèmes liés à la machine virtuelle Azure Science des données

Cet article explique comment rechercher et corriger des erreurs ou des échecs que vous pouvez rencontrer lors de l’utilisation d’Azure Science des données Machine virtuelle.

Ubuntu

Corriger le GPU sur le processeur du GPU NVIDIA A100 - série Azure NDasrv4

La machine virtuelle de la série ND A100 v4 est un ajout phare à la famille gpu Azure. Il gère les formations Deep Learning haut de gamme et les charges de travail HPC étroitement couplées, mises à l’échelle et montées en puissance.

En raison de son architecture unique, il a besoin d’une configuration différente pour les charges de travail à forte demande, afin de tirer parti de l’accélération GPU à l’aide de frameworks TensorFlow ou PyTorch.

Nous créons une prise en charge prête à l’emploi pour les GPU de machines ND A100. Pendant ce temps, votre GPU peut gérer Ubuntu si vous ajoutez nvidia Fabric Manager et mettez à jour les pilotes. Procédez comme suit sur le terminal :

  1. Ajouter le référentiel NVIDIA pour installer ou mettre à jour les pilotes : recherchez des instructions pas à pas sur cette ressource

  2. [FACULTATIF] Vous pouvez également mettre à jour vos pilotes CUDA à partir de ce référentiel

  3. Installez les pilotes NVIDIA Fabric Manager :

    sudo apt-get install cuda-drivers-460
    sudo apt-get install cuda-drivers-fabricmanager-460
    
  4. Redémarrez votre machine virtuelle (pour préparer les pilotes)

  5. Activez et lancez le service NVIDIA Fabric Manager nouvellement installé :

    sudo systemctl enable nvidia-fabricmanager
    sudo systemctl start nvidia-fabricmanager
    

Exécutez cet exemple de code pour vérifier que votre GPU et vos pilotes fonctionnent :

systemctl status nvidia-fabricmanager.service

Cette capture d’écran montre le service Fabric Manager en cours d’exécution :

Capture d’écran montrant le service Fabric Manager en cours d’exécution.

Échec de la connexion à l’environnement de bureau

Si vous pouvez vous connecter à la machine virtuelle DSVM sur un terminal SSH, mais que vous ne pouvez pas vous connecter via x2go, x2go peut avoir le mauvais paramètre de type de session. Pour vous connecter à l’environnement de bureau DSVM, définissez le type de session dans les préférences/sessions x2go/session sur XFCE. Les autres environnements de bureau ne sont actuellement pas pris en charge.

Les polices semblent incorrectes lors de la connexion à DSVM à l’aide de x2go

Un paramètre de session x2go spécifique peut provoquer l’erreur de certaines polices lorsque vous vous connectez à x2go. Avant de vous connecter à la machine virtuelle DSVM, décochez la case « Définir l’indicateur DPI » dans l’onglet « Entrée/Sortie » de la boîte de dialogue préférences de session.

Vous êtes invité à entrer un mot de passe inconnu

Vous pouvez définir le paramètre de type d’authentification DSVM sur la clé publique SSH. Il est recommandé, au lieu de l’authentification par mot de passe. Vous ne recevez pas de mot de passe si vous utilisez la clé publique SSH. Toutefois, dans certains scénarios, certaines applications demandent toujours un mot de passe. Exécutez sudo passwd <user_name> pour créer un mot de passe pour un utilisateur spécifique. Avec sudo passwd, vous pouvez créer un nouveau mot de passe pour l’utilisateur racine.

L’exécution de cette commande ne modifie pas la configuration SSH et les mécanismes de connexion autorisés restent identiques.

Vous êtes invité à entrer un mot de passe lors de l’exécution de la commande sudo

Lorsque vous exécutez une sudo commande sur une machine Ubuntu, vous pouvez obtenir une demande d’entrer à plusieurs reprises votre mot de passe pour vérifier que vous êtes l’utilisateur connecté. Il s’agit du comportement Ubuntu par défaut attendu. Toutefois, dans certaines situations, une authentification répétée n’est pas nécessaire et plutôt ennuyeuse.

Pour désactiver la réauthentification pour la plupart des cas, vous pouvez exécuter cette commande dans un terminal :

echo -e "\n$USER ALL=(ALL) NOPASSWD: ALL\n" | sudo tee -a /etc/sudoers

Après avoir redémarré le terminal, sudo ne demande pas une autre connexion et considère l’authentification de votre session comme suffisante.

Impossible d’utiliser docker comme utilisateur non-root

Pour utiliser Docker en tant qu’utilisateur nonroot, votre utilisateur a besoin d’appartenance au groupe Docker. La getent group docker commande retourne une liste d’utilisateurs appartenant à ce groupe. Pour ajouter votre utilisateur au groupe Docker, exécutez sudo usermod -aG docker $USER.

Les conteneurs Docker ne peuvent pas interagir avec l’extérieur via le réseau

Par défaut, Docker ajoute de nouveaux conteneurs au « réseau de pont » : 172.17.0.0/16. Le sous-réseau de ce réseau de pont peut chevaucher le sous-réseau de votre machine virtuelle DSVM ou avec un autre sous-réseau privé que vous avez dans votre abonnement. Dans ce cas, aucune communication réseau entre l’hôte et le conteneur n’est possible. En outre, les applications web qui s’exécutent dans le conteneur ne peuvent pas être atteintes et le conteneur ne peut pas mettre à jour les packages à partir d’apt.

Pour résoudre le problème, vous devez reconfigurer Docker pour utiliser un espace d’adressage IP pour son réseau de pont qui ne chevauche pas d’autres réseaux de votre abonnement. Par exemple, si vous ajoutez

"default-address-pools": [
        {
            "base": "10.255.248.0/21",
            "size": 21
        }
    ]

au /etc/docker/daemon.json fichier JSON, Docker affecte un autre sous-réseau au réseau de pont. Vous devez modifier le fichier avec sudo, par exemple en exécutant sudo nano /etc/docker/daemon.json.

Après la modification, exécutez service docker restart pour redémarrer le service Docker. Pour déterminer si vos modifications ont pris effet ou non, peut s’exécuter docker network inspect bridge. Valeur sous IPAM. Config.Subnet doit correspondre au pool d’adresses spécifié précédemment.

GPU non disponible(s) dans le conteneur Docker

La ressource Docker installée sur la machine virtuelle DSVM prend en charge les GPU par défaut. Toutefois, cette prise en charge nécessite certaines conditions préalables.

  • La taille de machine virtuelle de la machine virtuelle DSVM doit inclure au moins un GPU.
  • Lorsque vous démarrez votre conteneur Docker avec docker run, vous devez ajouter un paramètre --gpus : par exemple. --gpus all
  • Les tailles de machine virtuelle qui incluent les GPU NVIDIA A100 nécessitent d’autres packages logiciels installés, en particulier le Gestionnaire NVIDIA Fabric. Ces packages peuvent ne pas être préinstallés dans votre image.

Windows

Virtual Machine Generation 2 (Gen 2) ne fonctionne pas

Lorsque vous essayez de créer Science des données machine virtuelle basée sur la machine virtuelle génération 2 (Gen 2), elle échoue.

À ce stade, nous maintenons et fournissons des images pour les machines virtuelles Science des données Machines Virtuelles (DSVM) basées sur Windows 2019 Server, uniquement pour les machines virtuelles de génération 1. La génération 2 n’est pas encore prise en charge, mais nous prévoyons de les prendre en charge dans un avenir proche.

Accès à SQL Server

Lorsque vous essayez de vous connecter à l’instance SQL Server préinstallée, vous pouvez rencontrer une erreur « Échec de connexion ». Pour vous connecter à l’instance SQL Server, vous devez exécuter le programme auquel vous souhaitez vous connecter( par exemple, SQL Server Management Studio (SSMS) en mode administrateur. Le mode administrateur est requis, car par comportement DSVM par défaut, seuls les administrateurs peuvent se connecter.

Hyper-V ne fonctionne pas

Comme le comportement attendu, Hyper-V ne fonctionne pas initialement sur Windows. Pour des performances optimales, nous avons désactivé certains services. Pour activer Hyper-V :

  1. Ouvrez la barre de recherche sur votre DSVM Windows.
  2. Saisissez « Services ».
  3. Définissez tous les services Hyper-V sur « Manual ».
  4. Définissez « Hyper-V Virtual Machine Management » sur « Automatic ».

Votre écran final doit ressembler à ceci :

Capture d’écran montrant le service Hyper-V en cours d’exécution.