Partager via


Résoudre les problèmes de gestion des machines virtuelles Azure Arc

S’applique à : Azure Stack HCI, version 23H2

Cet article fournit des conseils sur la collecte des journaux et la résolution des problèmes liés aux machines virtuelles Azure Arc dans votre cluster Azure Stack HCI. Il répertorie également les limitations et les problèmes connus qui existent actuellement avec la gestion des machines virtuelles Azure Arc.

Collecter les journaux d’activité

Vous pouvez collecter des journaux pour identifier et résoudre les problèmes liés aux machines virtuelles Arc dans votre système Azure Stack HCI. Utilisez ces journaux pour collecter des informations clés avant de contacter le support Microsoft pour obtenir de l’aide supplémentaire.

Vérifiez que vous disposez du dernier module PowerShell pour la collecte de journaux. Pour mettre à jour le module PowerShell, exécutez la commande suivante :

#Update the PowerShell module
Install-Module -Name ArcHci -Force -Confirm:$false -SkipPublisherCheck -AcceptLicense

Pour collecter les journaux des machines virtuelles Arc dans votre cluster Azure Stack HCI, exécutez la commande suivante :

$csv_path="<input-from-admin>"
$VMIP_1="<input-from-admin>"
az login --use-device-code
Get-ArcHCILogs -workDirectory $csv_path\ResourceBridge -kvaTokenPath $csv_path\ResourceBridge\kvatoken.tok -ip $VMIP_1

Où :

  • $csv_path est le chemin complet du volume partagé de cluster fourni pour créer un pont de ressources Arc.

  • $VMIP_1 est l’adresse IP de la machine virtuelle Arc Resource Bridge.

  • Si vous le souhaitez, définissez le -logDir paramètre pour spécifier le chemin d’accès au répertoire dans lequel les journaux générés sont stockés. Si vous ne spécifiez pas le chemin d’accès ou le paramètre, par défaut, les journaux sont stockés dans votre répertoire de travail actuel.

Résoudre les problèmes liés aux machines virtuelles Azure Arc

Cette section décrit les erreurs liées à la gestion des machines virtuelles Azure Arc et à leurs résolutions recommandées.

Échec lors de la tentative d’activation de la gestion des invités

Lorsque vous essayez d’exécuter la commande pour activer la gestion des invités, vous voyez l’erreur suivante :

Erreur : Deployment failed. Correlation ID: 5d0c4921-78e0-4493-af16-dffee5cbf9d8. VM Spec validation failed for guest agent provisioning: Invalid managed identity. A system-assigned managed identity must be enabled in parent resource: Invalid Configuration

L’échec ci-dessus est dû au fait que l’identité managée n’a pas été créée pour cette machine virtuelle. L’identité managée affectée par le système est nécessaire pour activer la gestion des invités.

Résolution :

Suivez ces étapes pour vérifier que l’identité managée n’est pas créée pour cette machine virtuelle, puis activez l’identité managée affectée par le système.

  1. Dans la Portail Azure, accédez à la machine virtuelle. Accédez à la page Vue d’ensemble. Sous l’onglet Propriétés , sous Configuration, la gestion des invités doit s’afficher comme désactivée. Sélectionnez l’affichage JSON dans le coin supérieur droit.

    Capture d’écran montrant comment accéder à la vue JSON.

  2. Sous Identity paramètre, la type valeur doit s’afficher sous None.

    Capture d’écran de la vue JSON indiquant que l’identité managée est absente.

  3. Pour créer une identité managée, connectez-vous au serveur Azure Stack HCI via RDP. Exécutez la commande suivante :

    az extension add --name connectedmachine
    
  4. Vérifiez que l’extension CLI de l’ordinateur connecté est installée sur le cluster. Voici un exemple de sortie avec l’extension correctement installée. Indique connectedmachine que la version 0.7.0 est installée.

    [v-hostl]: PS C:\Clusterstorage\lnfrastructure_l\ArcHci> az version
    {
    "azure-cli": "2.53.0",
    "azure-cli-core": "2.53.0",
    "azure-cli-telemetry": "1.1.0",
    "extensions": {
        "akshybrid": "0.1.1",
        "arcappliance"^ "1.0.2",
        "connectedk8s": "1.5.4",
        "connectedmachine": "0.7.0",
        "customlocation": "0.1.3",
        "hybridaks": "0.2.4",
        "k8s-extension": "1.4.5",
        "stack-hci-vm": "0.1.8"
        }
    }
    [v-hostl]: PS C:\ClusterStorage\Infrastructure_l\ArcHci>
        ```
    
  5. Exécutez la commande suivante pour affecter une identité managée système à la machine virtuelle.

    az connectedmachine update --ids "<Resource Manager ID for the VM>" --set identity.type="SystemAssigned"
    
  6. Accédez au Portail Azure et accédez à la page Vue d’ensemble. La vue JSON doit indiquer que l’identité managée système est maintenant affectée à la machine virtuelle.

    Capture d’écran de la vue JSON lorsque l’identité managée est activée.

Échec du déploiement d’une machine virtuelle Arc

Vous voyez l’erreur suivante lors de la tentative de déploiement d’une machine virtuelle Arc sur votre cluster Azure Stack HCI :

Erreur : {"code":"ConflictingOperation","message":"Unable to process request 'Microsoft.AzureStackHCI/virtualMachineInstances'. There is already a previous running operation for resource '/subscriptions/<subscription ID>/resourceGroups/<Resource group name>/providers/Microsoft.HybridCompute/machines/<VM name>/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default'. Please wait for the previous operation to complete."}

L’échec ci-dessus est dû au fait que l’objet SystemAssigned d’identité managée n’est pas sous le Microsoft.HybridCompute/machines type de ressource.

Résolution :

Vérifiez dans votre modèle de déploiement que :

L’objet SystemAssigned d’identité managée est sous Microsoft.HybridCompute/machines le type de ressource et non sous Microsoft.AzureStackHCI/VirtualMachineInstances le type de ressource.

Le modèle de déploiement doit correspondre à l’exemple de modèle fourni. Pour plus d’informations, consultez l’exemple de modèle dans Créer des machines virtuelles Arc sur Azure Stack HCI.

Échec de suppression du chemin de stockage

Lorsque vous essayez de supprimer un chemin de stockage sur votre cluster Azure Stack HCI, une erreur similaire au message suivant peut s’afficher. Les numéros de ressources et les versions peuvent varier dans votre scénario.

Erreur : "errorMessage" serviceClient returned an error during deletion: The storage container service returned an error during deletion: rpc error: code = Unknown desc = Container is in ACTIVE use by Resources [6:
- linux-cblmariner-0.2.0.10503
- windows-windows2019-0.2.0.10503
- windows-windows2022-0.2.0.10503
].
Remove all the Resources from this container, before trying to delete: In Use: Failed,

Résolution :

Les images répertoriées dans le message d’erreur diffèrent des charges de travail classiques, qui sont représentées en tant qu’objets Azure Resource Manager (ARM) sur le Portail Azure et l’interface CLI. Cette erreur se produit parce que ces images sont directement téléchargées sur le système de fichiers, qu’Azure n’a pas pu reconnaître.

Suivez ces étapes avant d’essayer de supprimer un chemin d’accès de stockage :

  1. Supprimez les charges de travail associées et les images présentes sur le chemin de stockage que vous souhaitez supprimer. Recherchez les préfixes suivants sur les noms d’image : linux-cblmariner, , windows-windows2019windows_k8swindows-windows2022, , aks-image-merged, . linux-K8s
  2. Déposez un ticket de support dans le Portail Azure.

L’installation d’Azure CLI n’est pas reconnue

Si votre environnement ne parvient pas à reconnaître Azure CLI après l’avoir installé, exécutez le bloc de code suivant pour ajouter le chemin d’installation d’Azure CLI au chemin d’accès de l’environnement.

        if ( -not( $env:PATH -like '*C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin*') ) {
            $env:PATH += "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin;"
            Write-Host "Updated path $env:PATH"
        }

Étapes suivantes