Condividi tramite


Risolvere i problemi di gestione delle macchine virtuali di Azure Arc

Si applica a: Azure Stack HCI, versione 23H2

Questo articolo fornisce indicazioni su come raccogliere i log e risolvere i problemi relativi alle macchine virtuali (VM) di Azure Arc nel cluster Azure Stack HCI. Vengono inoltre elencate le limitazioni e i problemi noti esistenti con la gestione delle macchine virtuali di Azure Arc.

Raccogliere i log

È possibile raccogliere i log per identificare e risolvere i problemi relativi alle macchine virtuali Arc nel sistema Azure Stack HCI. Usare questi log per raccogliere informazioni chiave prima di contattare il supporto tecnico Microsoft per ulteriori informazioni.

Assicurarsi di avere il modulo PowerShell più recente per la raccolta di log. Per aggiornare il modulo di PowerShell, eseguire il comando seguente:

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

Per raccogliere i log per le macchine virtuali Arc nel cluster Azure Stack HCI, eseguire il comando seguente:

$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

Dove:

  • $csv_path è il percorso completo del volume condiviso del cluster fornito per la creazione di Arc Resource Bridge.

  • $VMIP_1 è l'indirizzo IP della macchina virtuale Arc Resource Bridge.

  • Facoltativamente, impostare il -logDir parametro per specificare il percorso della directory in cui vengono archiviati i log generati. Se non si specifica il percorso o il parametro , per impostazione predefinita i log vengono archiviati nella directory di lavoro corrente.

Risolvere i problemi delle macchine virtuali di Azure Arc

Questa sezione descrive gli errori correlati alla gestione delle macchine virtuali di Azure Arc e alle relative risoluzioni consigliate.

Errore durante il tentativo di abilitare la gestione guest

Quando si tenta di eseguire il comando per abilitare la gestione guest, viene visualizzato l'errore seguente:

Errore: 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'errore precedente è dovuto al fatto che l'identità gestita non è stata creata per questa macchina virtuale. L'identità gestita assegnata dal sistema è necessaria per abilitare la gestione guest.

Risoluzione:

Seguire questa procedura per verificare che l'identità gestita non sia stata creata per questa macchina virtuale e quindi abilitare l'identità gestita assegnata dal sistema.

  1. Nella portale di Azure passare alla macchina virtuale. Passare alla pagina Panoramica . Nella scheda Proprietà, in Configurazione, la gestione guest dovrebbe essere disabilitata. Selezionare la visualizzazione JSON nell'angolo in alto a destra.

    Screenshot di come passare alla visualizzazione JSON.

  2. Sotto Identity il parametro , l'oggetto type deve essere visualizzato come None.

    Screenshot della visualizzazione JSON che indica che l'identità gestita è assente.

  3. Per creare un'identità gestita, connettersi al server Azure Stack HCI tramite RDP. Esegui questo comando:

    az extension add --name connectedmachine
    
  4. Verificare che l'estensione dell'interfaccia della riga di comando del computer connesso sia installata nel cluster. Ecco un output di esempio con l'estensione installata correttamente. Indica connectedmachine che è installata la versione 0.7.0.

    [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. Eseguire il comando seguente per assegnare un'identità gestita dal sistema alla macchina virtuale.

    az connectedmachine update --ids "<Resource Manager ID for the VM>" --set identity.type="SystemAssigned"
    
  6. Passare alla portale di Azure e passare alla pagina Panoramica. La visualizzazione JSON dovrebbe indicare che l'identità gestita dal sistema è ora assegnata alla macchina virtuale.

    Screenshot della visualizzazione JSON quando l'identità gestita è abilitata.

Errore durante la distribuzione di una macchina virtuale Arc

Quando si tenta di distribuire una macchina virtuale Arc nel cluster Azure Stack HCI, viene visualizzato l'errore seguente:

Errore: {"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'errore precedente è dovuto al fatto che l'oggetto SystemAssigned identità gestita non è nel Microsoft.HybridCompute/machines tipo di risorsa.

Risoluzione:

Verificare nel modello di distribuzione che:

L'oggetto SystemAssigned identità gestita è nel Microsoft.HybridCompute/machines tipo di risorsa e non nel Microsoft.AzureStackHCI/VirtualMachineInstances tipo di risorsa.

Il modello di distribuzione deve corrispondere al modello di esempio fornito. Per altre informazioni, vedere il modello di esempio in Creare macchine virtuali Arc in Azure Stack HCI.

Errore durante l'eliminazione del percorso di archiviazione

Quando si tenta di eliminare un percorso di archiviazione nel cluster Azure Stack HCI, è possibile che venga visualizzato un errore simile al messaggio seguente. I numeri di risorse e le versioni possono variare in base allo scenario in uso.

Errore: "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,

Risoluzione:

Le immagini elencate nel messaggio di errore differiscono dai carichi di lavoro tipici, rappresentati come oggetti di Azure Resource Manager (ARM) nella portale di Azure e nell'interfaccia della riga di comando. Questo errore si verifica perché queste immagini vengono scaricate direttamente nel file system, che Azure non è riuscito a riconoscere.

Seguire questa procedura prima di provare a rimuovere un percorso di archiviazione:

  1. Rimuovere i carichi di lavoro associati e le immagini presenti nel percorso di archiviazione da eliminare. Cercare i prefissi seguenti nei nomi delle immagini: linux-cblmariner, windows-windows2019, windows-windows2022windows_k8s, aks-image-merged. linux-K8s
  2. Inviare un ticket di supporto nel portale di Azure.

L'installazione dell'interfaccia della riga di comando di Azure non viene riconosciuta

Se l'ambiente non riconosce l'interfaccia della riga di comando di Azure dopo l'installazione, eseguire il blocco di codice seguente per aggiungere il percorso di installazione dell'interfaccia della riga di comando di Azure al percorso dell'ambiente.

        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"
        }

Passaggi successivi