Compartir a través de


Solución de problemas de validación de implementación de Azure Portal para Azure Local, versión 23H2

Se aplica a: Azure Local, versión 23H2 que ejecuta 2405 o posterior

En este artículo se proporcionan instrucciones sobre cómo solucionar problemas de validación de implementación experimentados durante la implementación de Azure Local a través de Azure Portal.

Error: error de validación de implementación

Al implementar Azure Local, versión 23H2 a través de Azure Portal, podría producirse un error de validación de implementación. Se produce un error en la tarea de validación "Azure Local Network - Check network requirements" (Red local de Azure: Comprobación de los requisitos de red) con el siguiente error:

Could not complete the operation. 400: Resource creation validation failed. Details:
[{"Code":"AnswerFileValidationFailed","Message":"Errors in Value Validation:\r\nPhysicalNodesValidator
found error at deploymentdata.physicalnodes[0].ipv4address: The specified  for 
\u0027deploymentdata.physicalnodes[0].ipv4address\u0027 is not a valid IPv4 address.
Example: 192.168.0.1 or 192.168.0.1","Target":null,"Details":null}].

Si va a la pestaña Redes de la implementación de Azure Portal, en la configuración de intención de red, podría ver el siguiente error:

The selected physical network adapter is not binded to the management virtual switch.

Causa

Este problema se produce en las implementaciones desencadenadas después del 6 de agosto. El problema se produce si la validación de implementación se desencadenó en el sistema y el resultado de la validación fue un error, con reintentos de validación posteriores.

El problema se produce por el siguiente motivo:

  • La validación en el dispositivo crea un conmutador de máquina virtual para las pruebas relacionadas con la red y se elimina al final de las pruebas.
  • DeviceManagementExtension la extensión no detecta la eliminación del conmutador de máquina virtual.

El proceso de resolución de varios pasos incluye los pasos siguientes:

Nota:

Todos los pasos de este artículo deben realizarse en el nodo de inicialización.

Quitar el bloqueo del nodo de inicialización

Siga estos pasos para quitar el bloqueo del nodo de inicialización:

  1. Para quitar el bloqueo, en Azure Portal, vaya al objeto a través del grupo de recursos o en Machines - Azure Arc.
  2. En el panel izquierdo, vaya a Bloqueos de configuración>. Debería ver un bloqueo denominado DoNotDelete. Este es el bloqueo automático de recursos que se crea cuando se incorpora el nodo.
  3. Seleccione Eliminar en el bloqueo.

Si intenta realizar los pasos de la sección siguiente sin quitar el bloqueo, se produce el siguiente error en el comando Delete :

Some resources failed to be deleted (run with `--verbose` for more information):
/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default

Esta es la salida de ejemplo cuando se ejecuta con el --verbose modificador :

(ScopeLocked) The scope '/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.
Code: ScopeLocked
Message: The scope '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.

Eliminación del error de validación

Con el bloqueo quitado, siga estos pasos para quitar el error de validación.

  1. Conéctese al nodo de inicialización. Ejecute el siguiente comando de PowerShell:

    Get-VMSwitch
    
  2. Compruebe la salida del Get-VMSwitch comando para ver los conmutadores de máquina virtual inesperados, por ejemplo, el modificador que se crea durante el paso Validación de red y tiene un nombre similar a: "ConvergedSwitch(compute_management)". El nombre exacto del conmutador depende de la configuración de intención de red elegida.

  3. Si existe un conmutador de máquina virtual que no creó intencionadamente, quite el modificador. Ejecute el siguiente comando de PowerShell:

    Remove-VMSwitch -Name "<VM Switch Name>" -Force
    

    Asegúrese de usar el nombre del modificador de máquina virtual desde el Get-VMSwitch comando . Si no ha creado intencionadamente un conmutador de máquina virtual, el Get-VMSwitch comando no tiene ningún resultado. El error se produce porque el paso de validación de red limpió el conmutador de máquina virtual, pero DeviceManagementExtension no detectó la limpieza.

Continúe con los pasos de limpieza.

Limpieza del recurso de Azure del dispositivo perimetral con información incorrecta del conmutador de máquina virtual

Después de quitar el conmutador de máquina virtual en el dispositivo, limpie el recurso arm del dispositivo perimetral que contiene la información incorrecta del conmutador de máquina virtual a través de la CLI de Azure.

  1. En un cliente que pueda acceder a Azure, compruebe la instalación o instalación de la CLI de AZ: Instalación de la CLI de Azure en Windows

    • Para comprobar la instalación, ejecute: az
    • Si está instalado, se genera un "Welcome to Azure CLI!" mensaje con comandos disponibles.
  2. Inicie sesión en Azure con la CLI de Azure. Ejecute el siguiente comando:

    az login --tenant <tenant ID> --use-device-code
    

    Para más información, inicie sesión interactivamente con la CLI de Azure.

  3. Para establecer una suscripción específica, ejecute el siguiente comando:

    az account set --subscription "<Subscription ID>"
    

    Reemplace el valor del comando de ejemplo anterior por el valor adecuado para <Subscription ID>.

  4. Genera los datos almacenados en el edgeDevices recurso que tienen la información del conmutador de máquina virtual almacenada incorrectamente. Ejecute el siguiente comando:

    az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
    

    Reemplace los valores del comando de ejemplo anterior por los valores adecuados para:<Subscription ID>, <Resource Group Name>y <Machine Name>.

    Este es un ejemplo de salida:

    az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/ASRR1N26R15U33/providers/Microsoft.AzureStackHCI/edgeDevices/default"
    

    La salida de este comando muestra un poco de detalle sobre el nombre> de equipo <usado en el comando . Cerca de la parte inferior de la salida, hay una sección para "switchDetails", que probablemente mostrará lo siguiente (que es el conmutador de máquina virtual de validación que se creó y limpió en el dispositivo, pero no lo detectó DeviceManagementExtension y actualizó la nube): "switchName": "ConvergedSwitch(managementcompute)","switchType": "External"

  5. Después de confirmar que el show comando funcionó mediante la salida de los edgeDevices datos y es probable que confirme , "switchDetails"es el momento delete del recurso de ARM para que se pueda actualizar adecuadamente desde el nodo de inicialización.

    Nota:

    La eliminación de los edgeDevices datos es una acción segura que se debe realizar, pero solo debe realizarse cuando se indique explícitamente. No realice esta acción a menos que se le indique hacerlo.

  6. Elimine el edgeDevices recurso, que tiene la información del conmutador de máquina virtual almacenada incorrectamente. Ejecute el siguiente comando:

    az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
    

    Reemplace los valores (recuerde quitar también los <> caracteres) por los valores adecuados para: <subGUID><resourceGROUPNAME><Machine Name>

    Este es el mismo recurso --ids de show, por lo que solo puede usar esa misma cadena. De hecho, podría simplemente "flecha arriba" en la consola y reemplazar por show delete.

    Este es un ejemplo de salida:

    `az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
    

    Cuando se ejecuta, no hay ninguna salida de este comando. El comando funciona y devuelve el símbolo del sistema o presenta un error. No debe presentar un error, pero si lo hace, eso requerirá más solución de problemas.

  7. Vuelva a ejecutar el show comando para comprobar la eliminación del recurso. Este es un ejemplo de salida:

    (ResourceNotFound) The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found.
    Code: ResourceNotFound
    Message: The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found.
    

Actualización de los datos en la nube edgeDevices

Con el recurso de ARM y todos los conmutadores de máquina virtual no intencionadas quitados, actualice los datos del lado de edgeDevices la nube de nuevo.

Siga estos pasos para actualizar los datos en la nube:

  1. Reinicie en DeviceManagementService el nodo de inicialización. Ejecute el siguiente comando de PowerShell:

     Restart-Service DeviceManagementService
    
  2. Espere unos minutos y compruebe que los datos en la nube edgeDevices se actualizan y reflejan el estado actual. Vuelva a ejecutar el show comando y revise la salida. Asegúrese de que la salida ya no contiene ningún conmutador de máquina virtual inesperado, es decir:

    "switchName": "ConvergedSwitch(managementcompute)", "switchType": "External"

Reinicio de la implementación mediante Azure Portal

Con los datos del dispositivo y la nube ahora sincronizados, puede ir a Azure Portal y proporcionar las entradas de implementación. El paso anterior impide cualquier información almacenada en caché de los intentos anteriores.

Siga estos pasos en Azure Portal:

  1. En la pestaña Aspectos básicos , proporcione las entradas (seleccionando de nuevo en las listas desplegables) a los campos de la parte superior.

  2. Desactive los nodos en la parte inferior de la página.

  3. Vuelva a validar los nodos reeleccionados.

  4. Confirme la información de las páginas posteriores. Debería ver los siguientes cambios:

    • En la página Redes , ya no debería ver el The selected physical network adapter is not binded to the management virtual Switch error que podría haberse visto anteriormente.
    • En la página Validación al final, si ha pasado el problema original, no se mostrará el deploymentdata.physicalnodes[0].ipv4address is not a valid IPv4 address error.
  5. Si no se producen otros problemas de validación, inicie la implementación.

Volver a crear el bloqueo en el recurso del nodo de inicialización

Una vez completada la mitigación, se recomienda encarecidamente volver a crear el bloqueo en el recurso.

Siga estos pasos para volver a crear el bloqueo:

  1. En Azure Portal, vaya al objeto a través del grupo de recursos o en Machines - Azure Arc.
  2. Vaya a Bloqueos de configuración>.
  3. Seleccione + Agregar en la parte superior de la página.
    1. En Nombre de bloqueo, escriba DoNotDelete.
    2. En Tipo de bloqueo, seleccione Eliminar en la lista desplegable.
  4. Seleccione Aceptar para guardar el bloqueo.