Compartir a través de


El nodo de Azure Batch se bloquea en el estado Inutilizable debido a problemas de configuración

Azure Batch puede establecer el estado de un nodo de Batch en Inutilizable por cualquiera de los diversos motivos. No se pueden programar tareas en un nodo en el estado Inutilizable , pero se generan cargos. En la mayoría de los casos, el servicio Batch intenta recuperar el nodo. Sin embargo, si el estado No utilizable se debe a un problema de configuración, el nodo no se puede recuperar. En este artículo se describen algunos problemas de configuración comunes que hacen que los nodos no se puedan usar y proporcionan soluciones.

Problema 1: Problemas de configuración de red virtual

En esta sección se describen los problemas de configuración de la red virtual (VNet) en los modos de comunicación de nodos clásicos y simplificados .

Comunicación de nodo clásico

El modo de comunicación de nodo clásico es la forma de comunicación original de un grupo asociado a una subred de una red virtual. Esta característica se reemplazará por el modo simplificado de nodo de comunicación en 2026.

En un grupo asociado a una subred de una red virtual, todos los nodos están en estado Inutilizable . Pero no hay ningún código de error en los nodos.

Captura de pantalla que muestra el estado de un nodo.

El síntoma anterior significa que el servicio Batch no puede comunicarse con los nodos. En la mayoría de los casos, se debe a problemas de configuración de red virtual. En las secciones siguientes se describen las dos causas más comunes.

Causa 1: Faltan reglas de grupo de seguridad de red (NSG) necesarias

Si un grupo de seguridad de red está configurado en la subred, debe configurar este grupo de seguridad de red para que tenga al menos las reglas de seguridad de entrada y salida (como se muestra en la captura de pantalla siguiente) para que el servicio Batch pueda comunicarse con los nodos. Si el grupo de seguridad de red deniega la comunicación a los nodos de la subred especificada, el servicio Batch establecerá el estado de los nodos en Inutilizable.

  • Reglas de seguridad de entrada

    Captura de pantalla de las reglas de seguridad de entrada.

  • Reglas de seguridad de salida

    Captura de pantalla de las reglas de seguridad de salida.

Solución 1: Configuración del grupo de seguridad de red para que tenga las reglas de seguridad de entrada y salida necesarias

Para resolver este problema, configure el grupo de seguridad de red para que tenga las reglas de seguridad de entrada y salida necesarias, como se recomienda en Grupos de seguridad de red para grupos de configuración de máquina virtual: especificación de reglas de nivel de subred.

Para realizar la configuración, siga estos pasos:

  1. Vaya al grupo desde Azure Portal.

  2. Compruebe las propiedades del grupo para obtener los nombres de red virtual y subred.

    Captura de pantalla de la configuración de red.

  3. Vaya a la red virtual. En la página Red virtual, seleccione Subredes de configuración>. En la lista de subredes, seleccione la subred esperada. En el panel de subred, busque el grupo de seguridad de red.

    Captura de pantalla de la información de la subred.

  4. Vaya al grupo de seguridad de red. Compruebe la configuración en la página NSG.

    Captura de pantalla de la configuración del grupo de seguridad de red.

  5. Configure este grupo de seguridad de red para que tenga las reglas de seguridad de entrada y salida necesarias.

  6. Reinicie el nodo para devolverlo al estado predeterminado.

Causa 2: Faltan rutas definidas por el usuario (UDR) necesarias

Si la red virtual a la que está asociado el grupo habilita la tunelización forzada, debe agregar una UDR que corresponda a la BatchNodeManagement.<region> etiqueta de servicio en la región donde existe la cuenta de Batch. De lo contrario, el tráfico entre el servicio Batch y los nodos se bloquea y los nodos de proceso se vuelven inutilizables.

Solución 2: Agregue UDR correspondiente a BatchNodeManagement.<etiqueta de servicio de región>

Para resolver este problema, agregue una UDR que corresponda a la etiqueta de BatchNodeManagement.<region> servicio en la región en la que existe la cuenta de Batch. A continuación, establezca el tipo de próximo salto en Internet. Para obtener más información, consulte Rutas definidas por el usuario para la tunelización forzada.

Para ello, siga estos pasos:

  1. Vaya al grupo desde Azure Portal.

  2. Compruebe las propiedades del grupo para obtener los nombres de red virtual y subred.

    Captura de pantalla de la configuración de red.

  3. Vaya a la red virtual. En la página Red virtual, seleccione Subredes de configuración>. En la lista de subredes, seleccione la tabla de rutas asociada a la subred esperada.

    Captura de pantalla que muestra la subred y su tabla de rutas.

  4. En la página de la tabla raíz, seleccione Rutas>Agregar. En el panel Agregar ruta , agregue la UDR necesaria y, a continuación, establezca el tipo de próximo salto en Internet.

    Captura de pantalla que muestra cómo agregar una UDR.

  5. Reinicie el nodo para devolverlo al estado predeterminado.

Comunicación simplificada de nodos

El uso del modo de comunicación de nodo simplificado puede simplificar la configuración de la red virtual en un grupo. Si los nodos de un grupo que usa el modo de comunicación de nodo simplificado muestran el estado No utilizable , compruebe las siguientes causas posibles y soluciones para la solución de problemas automáticas.

Causa 1: Faltan reglas de NSG salientes

Al aplicar una red virtual, debe configurar correctamente la solicitud de salida desde el nodo interno al externo. De lo contrario, el nodo se volverá inutilizable.

Solución 1: Agregar una etiqueta de servicio saliente BatchNodeManagement.<región>

Para resolver este problema, agregue la etiqueta de BatchNodeManagement.<region> servicio en la regla de NSG de salida.

Captura de pantalla que muestra la regla de NSG que bloquea la solicitud de salida.

Para obtener más información, consulte Reglas de seguridad de salida.

Causa 2: Falta el acceso saliente para la administración de nodos de Batch

Esta causa solo se aplica al escenario en el que el grupo de Batch no tiene direcciones IP públicas. De forma predeterminada, a todos los nodos de un grupo de configuración de máquina virtual de Azure Batch se les asignan direcciones IP públicas. Sin embargo, los usuarios pueden aprovisionar el grupo sin direcciones IP públicas para restringir el acceso a estos nodos y reducir la detectabilidad de estos nodos en Internet. Un grupo sin direcciones IP públicas no tiene habilitado el acceso saliente a Internet de forma predeterminada, lo que provoca problemas de comunicación de red entre los nodos de Batch y el servicio de administración de nodos de Batch.

Solución 2: Configuración de un punto de conexión privado de administración de nodos

Para comprobar la configuración de red, vaya a la cuenta de Batch y seleccione Configuración>redes. Si la opción Red seleccionada o Deshabilitar está habilitada, pero solo configura un batchAcount punto de conexión privado o no configura ningún punto de conexión privado, configure un nodeManagement punto de conexión privado para garantizar la comunicación interna entre nodos.

Causa 3: una configuración DNS incorrecta impide que el nodo se comunique con el punto de conexión de administración de nodos.

Si el DNS no está configurado correctamente, es posible que los nodos no puedan comunicarse con el punto de conexión de servicio de Batch. Esta situación hace que los nodos de Batch se bloqueen en un estado inutilizable.

Nota:

Este escenario es para grupos de lotes que habilitan un punto de conexión privado de administración de nodos. Normalmente, estos grupos tienen comunicación simplificada de nodo y no usan direcciones IP públicas.

Solución 3: Corrección de la configuración de DNS

Compruebe si la resolución de nombres DNS funciona correctamente y corrija la configuración de DNS si es necesario. El proceso correcto para comprobar la configuración de DNS depende de si ha creado el punto de conexión privado de administración de nodos mediante una integración dns privada automática o una configuración de DNS personalizada.

Procedimiento para la integración automática de DNS privado Compruebe que la integración dns privada automática está configurada correctamente siguiendo estos pasos:
  1. Asegúrese de que el punto de conexión privado está integrado en la zona privatelink.batch.azure.comDNS privada .

    Captura de pantalla de Azure Portal de la página de configuración dns (versión de configuración automática) del punto de conexión privado de administración de nodos.

  2. Asegúrese de que esta zona DNS privada esté vinculada a la misma red virtual emparejada o emparejada que usa el grupo de lotes.

    Captura de pantalla de Azure Portal de la página Vínculos de red virtual de la zona DNS privada.

Procedimiento para la configuración de DNS personalizada Compruebe si el DNS personalizado está configurado correctamente y apunta a la dirección IP del punto de conexión privado siguiendo estos pasos:
  1. En Azure Portal, busque y seleccione Cuentas de Batch.

  2. En la lista de cuentas de Batch, seleccione el nombre de la cuenta de Batch.

  3. En la página Información general de la cuenta de Batch, busque la sección Essentials y, a continuación, copie el valor en el campo Punto de conexión de administración de nodos. (Este valor suele ser una dirección URL con el siguiente formato: <guid>.<region>.service.batch.azure.com.

    Captura de pantalla de Azure Portal de la página Información general de la cuenta de Batch. El valor del punto de conexión de administración de nodos está resaltado.

  4. En el panel de navegación de la cuenta de Batch, busque el encabezado Configuración y, a continuación, seleccione Redes. En la página Redes , seleccione la pestaña Acceso privado y, después, en la lista de puntos de conexión privados, seleccione el punto de conexión privado de administración de nodos.

    Captura de pantalla de Azure Portal de la página Redes de la cuenta de Batch. La pestaña Acceso privado y el punto de conexión privado de administración de nodos están resaltados.

  5. En el panel de navegación del punto de conexión privado, busque el encabezado Configuración y, a continuación, seleccione Configuración de DNS. En la página configuración de DNS, busque la sección FQDN visibles del cliente y, a continuación, copie el valor en la columna Direcciones IP para la interfaz de red del punto de conexión privado de administración de nodos.

    Captura de pantalla de Azure Portal de la página de configuración dns (versión de configuración manual) del punto de conexión privado de administración de nodos.

  6. Cree un nodo de Batch o una máquina virtual (VM) dentro de la misma subred en la que se crea el grupo. A continuación, conéctese a la máquina virtual y abra una consola de PowerShell (en Windows) o una consola de Shell (en Linux).

  7. Pruebe la resolución de nombres DNS mediante la ejecución del siguiente comando nslookup . (En Windows, nslookup está instalado de forma predeterminada. En Linux, instale nslookup o use otras herramientas).

    nslookup <node-management-endpoint-url>
    

    El resultado esperado es el mismo que para la dirección IP privada del punto de conexión privado de administración de nodos:

    PS C:\Users\xxx> nslookup <node-management-endpoint-url>
    Server:  UnKnown
    Address:  x.x.x.x
    
    Name:     <node-management-endpoint-url>
    Address:  <private-ipnode-management-endpoint-private-ip>
    Aliases:  <node-management-endpoint-url>
    
  8. Pruebe la conectividad con la dirección URL del punto de conexión de administración del nodo en el puerto 443. Para ello, ejecute el cmdlet Test-NetConnection en Windows o ejecute el comando Netcat (nc) en Linux.

    Test-NetConnection -ComputerName <node-management-endpoint-url> -Port 443
    
    nc -v <node-management-endpoint-url> 443
    

    El resultado esperado es una conexión correcta, como se muestra en la salida del ejemplo siguiente:

    PS C:\Users\xxx> Test-NetConnection -ComputerName <node-management-endpoint-url> -Port 443
    
    ComputerName     : <node-management-endpoint-url>
    RemoteAddress    : <private-ipnode-management-endpoint-private-ip>
    RemotePort       : 443
    InterfaceAlias   : Ethernet
    SourceAddress    : <vm-private-ip>
    TcpTestSucceeded : True
    
  9. Si encuentra algún problema después de probar los dos pasos anteriores, aplique las instrucciones de solución de problemas de la tabla siguiente.

    Escenario del problema Guía de solución de problemas
    El resultado del comando nslookup no es el esperado. Compruebe la configuración de DNS personalizada de la red virtual del grupo de lotes. Los valores que se van a comprobar incluyen los siguientes elementos:
    • El nombre de la zona DNS privada
    • El servidor DNS personalizado
    • Cualquier otro servicio o componente que pueda afectar a la resolución de nombres DNS
    Se espera el resultado del comando nslookup, pero el resultado del Test-NetConnection cmdlet o nc comando es inesperado. Compruebe si existe algún servicio (como el grupo de seguridad de red y el firewall) que pueden bloquear la conectividad saliente de la red virtual.

Para más información, consulte Solución de problemas de puntos de conexión privados de administración de nodos.

Problema 2: Problema completo del disco

Un nodo está en estado Inutilizable y aparece el siguiente mensaje de error en el nodo:

Código: DiskFull
Mensaje:
No hay suficiente espacio en disco en el nodo
Valores:
Mensaje: el disco de máquina virtual está lleno. Elimine el trabajo, las tareas o el archivo del nodo para liberar espacios y, a continuación, reinicie el nodo.

Captura de pantalla del mensaje de error

Causa: No hay suficiente espacio en disco en el nodo

Cuando un trabajo se ejecuta en el nodo, cada tarea del trabajo puede generar datos de salida. Estos datos de salida se escriben en el sistema de archivos del nodo batch. Cuando estos datos alcanzan más del 90 % de capacidad del tamaño de disco de la SKU del nodo, el servicio Batch marca el nodo como inutilizable y impide que el nodo ejecute cualquier otra tarea hasta que el servicio Batch realice una limpieza.

El agente de nodo de Batch reserva un 10 % de capacidad del espacio en disco para su funcionalidad. Antes de que se programe la ejecución de las tareas, en función de la capacidad del nodo Batch, es esencial mantener suficiente espacio en el disco. Para conocer los procedimientos recomendados que debe seguir al diseñar las tareas, consulte Tareas.

Solución: Borrar archivos en carpetas de tareas

Para resolver el problema, siga estos pasos:

  1. Conéctese al nodo mediante RDP.

  2. Compruebe el espacio disponible en el disco.

    • Si no hay suficiente espacio disponible en el disco, vaya al paso 3.

      En el ejemplo siguiente se muestra que no hay suficiente espacio disponible en el disco. En este ejemplo, la SKU de máquina virtual para Windows y Linux es Standard_D2s_V3 y el tamaño del disco es de 16 Gigabytes (GB).

      Para Windows, en la captura de pantalla siguiente se muestra que hay menos de 1 GB de espacio disponible en el disco.

      Captura de pantalla que muestra que el espacio en disco disponible es inferior a 1 Gigabyte.

      Nota:

      Para Windows, también puede usar Explorador de archivos para comprobar el espacio en disco.

      Para Linux, en la captura de pantalla siguiente se muestra que se usa el 100 % del disco montado.

      Captura de pantalla que muestra el 100 % del disco montado.

      Los archivos relacionados con tareas en Linux se encuentran en ./mnt/batch/tasks/workitems/.

    • Si hay suficiente espacio en disco disponible para que se ejecuten las tareas, pero el nodo no se puede usar, es posible que el servicio Batch haya limpiado los archivos en función de la directiva de retención de la tarea. En este caso, vaya al paso 4.

  3. Vaya a cada carpeta de tareas y borre los archivos.

  4. Una vez borrados los archivos, reinicie el nodo.

    Una vez reiniciado el nodo, el nodo debe estar en un estado correcto y puede aceptar nuevas tareas.

    Captura de pantalla del nodo en un estado correcto.

Problema 3: Problema de configuración de imagen personalizada

A veces, los problemas de configuración de imágenes personalizadas (como la preparación incorrecta) pueden dañar los nodos. Las imágenes personalizadas usan una amplia gama de variables que pueden hacer que los nodos no se puedan usar.

Por ejemplo, un nodo Batch está en el estado Unusable o Starting , y el siguiente código de error aparece en el nodo:

Código:
BatchAgentInstallationFailure
Mensaje:
Error en el aprovisionamiento de la extensión del agente por lotes en el nodo de proceso

Captura de pantalla del mensaje de error BatchAgentInstallationFailure.

Causa: La SKU del sistema operativo de imagen personalizada difiere de la SKU del sistema operativo seleccionada durante la creación del grupo

Al crear un grupo de Azure Batch a través de Azure Portal y se establece El tipo de imagen en Imagen personalizada: Shared Image Gallery, Azure Portal no ejecuta la validación de la SKU del sistema operativo. Si selecciona una SKU del sistema operativo que difiere de la SKU del sistema operativo real que se usa en la imagen personalizada, Azure Batch instala el agente de nodo de Batch que coincide con la SKU del sistema operativo seleccionada en lugar de la SKU del sistema operativo real que se usa en la imagen personalizada.

En la captura de pantalla siguiente, la imagen personalizada se basa en la imagen de Ubuntu 20 de Azure Marketplace de Canonical. Al establecer la SKU del sistema operativo, Azure Batch no ejecuta la validación.

Captura de pantalla que muestra la configuración del tipo de imagen y la SKU del sistema operativo durante la creación del grupo.

Solución: vuelva a crear el grupo que tiene la SKU del sistema operativo de imagen personalizada

Para resolver este problema, vuelva a crear el grupo para que tenga la SKU del sistema operativo que se usa en la imagen personalizada.

Para obtener más información sobre cómo crear una imagen personalizada, consulte los siguientes artículos:

Problema 4: Problema de configuración de identidad administrada

Si el modo de autenticación de la cuenta de Azure Storage vinculada (también denominada cuenta de almacenamiento automático) se establece en Identidad administrada de la cuenta de Batch (como se muestra en la captura de pantalla siguiente), la configuración incorrecta en la identidad del grupo hace que los nodos se vuelvan inutilizables. Para obtener más información, consulte Escenarios de comportamiento.

Captura de pantalla del modo de autenticación

Un nodo batch está en estado Inutilizable y el código de error siguiente aparece en el nodo:

Código: ApplicationPackageError
Mensaje:
Uno o varios paquetes de aplicación especificados para el grupo no son válidos
Valores:
ApplicationPackageReference: asdf:0.0.1
Mensaje: Error de descarga de recursos

Captura de pantalla de ApplicationPackageError.

Causa: La identidad administrada definida en la referencia de identidad del nodo no se agrega a la identidad del grupo

Al crear el grupo, puede especificar varias identidades administradas. Si la identidad administrada definida en la referencia de identidad del nodo (configurada en la cuenta de almacenamiento automático) no se agrega a la identidad del grupo, los nodos no pueden usar la identidad administrada correcta para la autenticación. Esto hace que se produzca un error en el proceso de descarga del paquete de aplicación y el nodo se vuelva inutilizable.

Solución: vuelva a crear el grupo para corregir la identidad administrada

Para resolver este problema, vuelva a crear el grupo para incluir la identidad administrada correcta (configurada en la cuenta de almacenamiento automático) definida en la referencia de identidad del nodo. Para más información sobre cómo usar la identidad administrada por grupos de Batch, consulte Configuración de la identidad administrada en el grupo de lotes.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.