Solución de problemas de administración de máquinas virtuales de Azure Arc

Se aplica a: Azure Stack HCI, versión 23H2

En este artículo se proporcionan instrucciones sobre cómo recopilar registros y solucionar problemas con máquinas virtuales (VM) de Azure Arc en el clúster de Azure Stack HCI. También se enumeran las limitaciones y los problemas conocidos que existen actualmente con la administración de máquinas virtuales de Azure Arc.

Recopilación de registros

Puede recopilar registros para identificar y solucionar problemas con las máquinas virtuales de Arc en el sistema de Azure Stack HCI. Use estos registros para recopilar información clave antes de ponerse en contacto con el soporte técnico de Microsoft para obtener ayuda adicional.

Asegúrese de que tiene el módulo de PowerShell más reciente para la recopilación de registros. Para actualizar el módulo de PowerShell, ejecute el siguiente comando:

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

Para recopilar registros de máquinas virtuales de Arc en el clúster de Azure Stack HCI, ejecute el siguiente comando:

$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

donde:

  • $csv_path es la ruta de acceso completa del volumen compartido del clúster que se proporciona para crear Arc Resource Bridge.

  • $VMIP_1 es la dirección IP de la máquina virtual de Arc Resource Bridge.

  • Opcionalmente, establezca el -logDir parámetro para especificar la ruta de acceso al directorio donde se almacenan los registros generados. Si no especifica la ruta de acceso o el parámetro , los registros se almacenan de forma predeterminada en el directorio de trabajo actual.

Solución de problemas de máquinas virtuales de Azure Arc

En esta sección se describen los errores relacionados con la administración de máquinas virtuales de Azure Arc y sus soluciones recomendadas.

Error al intentar habilitar la administración de invitados

Al intentar ejecutar el comando para habilitar la administración de invitados, verá el siguiente error:

Error: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

El error anterior se debe a que la identidad administrada no se creó para esta máquina virtual. La identidad administrada asignada por el sistema es necesaria para habilitar la administración de invitados.

Solución:

Siga estos pasos para comprobar que la identidad administrada no se ha creado para esta máquina virtual y, a continuación, habilite la identidad administrada asignada por el sistema.

  1. En el Azure Portal, vaya a la máquina virtual. Vaya a la página Información general . En la pestaña Propiedades , en Configuración, la administración de invitados debe mostrarse como Deshabilitada. Seleccione la vista JSON en la esquina superior derecha.

    Captura de pantalla de cómo acceder a la vista JSON.

  2. En Identity el parámetro , type debe mostrarse como None.

    Captura de pantalla de la vista JSON que indica que la identidad administrada no está presente.

  3. Para crear una identidad administrada, conéctese al servidor de Azure Stack HCI mediante RDP. Ejecute el siguiente comando:

    az extension add --name connectedmachine
    
  4. Compruebe que la extensión de la CLI de máquina conectada está instalada en el clúster. Esta es una salida de ejemplo con la extensión instalada correctamente. connectedmachine indica que está instalada la versión 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. Ejecute el siguiente comando para asignar una identidad administrada del sistema a la máquina virtual.

    az connectedmachine update --ids "<Resource Manager ID for the VM>" --set identity.type="SystemAssigned"
    
  6. Vaya a la Azure Portal y vaya a la página Información general. La vista JSON debe indicar que la identidad administrada del sistema ahora está asignada a la máquina virtual.

    Captura de pantalla de la vista JSON cuando la identidad administrada está habilitada.

Error al implementar una máquina virtual de Arc

Verá el siguiente error al intentar implementar una máquina virtual de Arc en el clúster de Azure Stack HCI:

Error:{"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."}

El error anterior se debe a que el SystemAssigned objeto de identidad administrada no está bajo el tipo de Microsoft.HybridCompute/machines recurso.

Solución:

Compruebe en la plantilla de implementación que:

El SystemAssigned objeto de identidad administrada está en Microsoft.HybridCompute/machines el tipo de recurso y no en Microsoft.AzureStackHCI/VirtualMachineInstances el tipo de recurso.

La plantilla de implementación debe coincidir con la plantilla de ejemplo proporcionada. Para más información, consulte la plantilla de ejemplo en Create máquinas virtuales de Arc en Azure Stack HCI.

No se reconoce la instalación de la CLI de Azure

Si el entorno no reconoce la CLI de Azure después de instalarla, ejecute el siguiente bloque de código para agregar la ruta de instalación de la CLI de Azure a la ruta de acceso del entorno.

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

Pasos siguientes