Corrección de un error AllocationFailed o ZonalAllocationFailed al crear, reiniciar o cambiar el tamaño de Virtual Machine Scale Sets en Azure
Advertencia
Si el conjunto de escalado de máquinas virtuales de Microsoft Azure forma parte de un clúster de Azure Service Fabric, no siga esta guía de solución de problemas. Esta guía puede provocar pérdida de datos y daños irreversibles en el clúster en este escenario. Para obtener más información, consulte ¿Puedo usar grandes conjuntos de escalado de máquinas virtuales en mi clúster de Service Fabric?
En este artículo, obtenga información sobre:
- Errores AllocationFailed o ZonalAllocationFailed en Microsoft Azure Virtual Machine Scale Sets.
- Cómo evitar errores de asignación.
- Las causas de los errores de asignación.
- Cómo solucionar errores de asignación cuando surgen.
Para solucionar problemas de errores de asignación de máquinas virtuales (VM) estándar, consulte Solución de errores de asignación al crear, reiniciar o cambiar el tamaño de las máquinas virtuales en Azure.
Síntoma
Debido a la alta demanda de servicios de Azure, puede producirse un error de asignación si intenta crear o iniciar instancias de máquina virtual en determinadas regiones. Azure intenta asignar recursos de proceso a la suscripción cada vez que:
- Cree un conjunto de escalado de máquinas virtuales.
- Reinicie una instancia de máquina virtual del conjunto de escalado detenida (desasignada).
- Cambiar el tamaño de un conjunto de escalado.
Los siguientes detalles de error son un ejemplo del mensaje de error de asignación.
Código de error: AllocationFailed o ZonalAllocationFailed
Mensaje de error 1: Error de asignación. No tenemos capacidad suficiente para el tamaño de VM solicitado en esta región. Obtenga más información sobre cómo mejorar la probabilidad de que la asignación se realice correctamente en https://aka.ms/allocation-guidance.
Mensaje de error 2: Error de asignación. Las máquinas virtuales con las siguientes restricciones no se pueden asignar porque la condición es demasiado restrictiva. Quite algunas restricciones e inténtelo de nuevo. Las restricciones aplicadas son:
- Zona de disponibilidad
- Tamaño de máquina virtual
Mensaje de error 3: Error de asignación. Si intenta agregar una VM nueva a un conjunto de escalado de máquinas virtuales con un único grupo de selección de ubicación o actualizar o cambiar el tamaño de una VM existente en un conjunto de escalado de máquinas virtuales con un único grupo de selección de ubicación, tenga en cuenta que dicha asignación se limita a un único clúster, y es posible que el clúster no tenga capacidad. Lea más sobre cómo mejorar la probabilidad de que la asignación se realice correctamente en https://aka.ms/allocation-guidance.
Cómo evitar errores de asignación
Para evitar errores de asignación, puede aplicar algunas opciones de configuración al conjunto de escalado para optimizar las solicitudes de asignación.
Sobreaprovisionamiento. Con el sobreaprovisionamiento activado, el conjunto de escalado realmente activa más instancias de máquina virtual de las que solicitó. A continuación, elimina las instancias de máquina virtual adicionales una vez que el número solicitado de instancias de máquina virtual se aprovisiona correctamente. Esta práctica mejora las tasas de éxito de aprovisionamiento y reduce el tiempo de implementación. No se le facturan las instancias de máquina virtual adicionales y no cuentan para los límites de cuota. Para habilitar el sobreaprovisionamiento:
En el Azure Portal, busque y seleccione Conjuntos de escalado de máquinas virtuales.
Seleccione el nombre del conjunto de escalado.
En el panel de menús, seleccione Configuración.
En el encabezado Sobreaprovisionamiento , establezca Habilitar sobreaprovisionamiento en Activado.
Seleccione Guardar.
Obtenga más información sobre el sobreaprovisionamiento.
Habilite conjuntos de escalado de gran tamaño. Los Virtual Machine Scale Sets grandes se definen como conjuntos de escalado que se pueden escalar a más de 100 instancias de máquina virtual. Esta funcionalidad se establece mediante una propiedad de conjunto de escalado (
singlePlacementGroup=false
). Lo que hace que un conjunto de escalado grande sea especial no es el número de instancias de máquina virtual, sino el número de grupos de selección de ubicación que contiene. Un grupo de selección de ubicación es similar a un conjunto de disponibilidad de Azure, con sus propios dominios de error y dominios de actualización. ConsinglePlacementGroup
establecido enfalse
, tiene una mayor probabilidad de que la asignación se realice correctamente, ya que las implementaciones se pueden distribuir entre varios clústeres cuando se implementan como un grupo de varios lugares. Obtenga más información sobre cómo trabajar con grandes conjuntos de escalado de máquinas virtuales, específicamente cómo convertir un conjunto de escalado existente para abarcar varios grupos de selección de ubicación.Nota:
Puede cambiar un conjunto de escalado de admitir un único grupo de selección de ubicación a admitir varios grupos de selección de ubicación, pero no puede realizar una conversión en la otra dirección. Una vez
singlePlacementGroup
establecido enfalse
, no se puede volver a cambiar.
Reduzca el número de instancias del tamaño de VM solicitado y, a continuación, vuelva a intentar la operación de implementación. Para implementaciones más grandes, es posible que desee evaluar Azure Virtual Machine Scale Sets con varios grupos de selección de ubicación. El número de instancias de máquina virtual puede aumentar o disminuir automáticamente en respuesta a la demanda o a una programación definida.
Otras sugerencias
Hasta que el tipo de máquina virtual preferido esté disponible en su región preferida, los clientes que experimentan problemas de implementación deben considerar las instrucciones de las secciones siguientes como una solución temporal.
Identifique el escenario que mejor coincida con su caso. Para aumentar la probabilidad de que la asignación se realice correctamente, vuelva a intentar la solicitud de asignación mediante la solución sugerida correspondiente. O bien, siempre puede volver a intentarlo más tarde. Es posible que se hayan liberado suficientes recursos en el clúster, región o zona para dar cabida a la solicitud en otro momento.
Causa
La región o zona no tiene suficiente capacidad básica para la SKU solicitada.
Causa 1: Cambio de tamaño de un conjunto de escalado o de instancias de máquina virtual agregadas a un conjunto de escalado existente
Si hay una solicitud para cambiar el tamaño de un conjunto de escalado o agregar una instancia de máquina virtual a un conjunto de escalado existente, debe probarse en el clúster original que hospeda el conjunto de escalado existente. O bien, el clúster admite el tamaño de máquina virtual solicitado, pero es posible que actualmente no tenga suficiente capacidad.
Solución para la causa 1
Pruebe una de las siguientes acciones:
Intente mover el conjunto de escalado a otro clúster de la misma región con la capacidad adecuada.
Detenga (desasigne) todas las instancias de máquina virtual del conjunto de escalado y, a continuación, cambie el tamaño del conjunto de escalado según sea necesario. Una vez completado el cambio de tamaño, reinicie las instancias de máquina virtual. Para detener las instancias de máquina virtual:
En el Azure Portal, busque y seleccione Conjuntos de escalado de máquinas virtuales.
Seleccione el nombre del conjunto de escalado.
Seleccione Detener.
Después de detener todas las instancias de máquina virtual para ejecutar el cambio de tamaño e iniciar el conjunto de escalado, el nuevo intento de asignación puede identificar un clúster con capacidad suficiente para hospedar todo el conjunto de escalado.
Configure el conjunto de escalado para escalar en más de un grupo de selección de ubicación.
Causa 2: Reinicio de una máquina virtual parcialmente detenida (desasignada)
La desasignación parcial significa que ha detenido (desasignado) una o varias instancias de máquina virtual en un conjunto de escalado, pero no todas. Al desasignar una instancia de máquina virtual, se liberan los recursos asociados. Reiniciar las instancias de máquina virtual en un conjunto de disponibilidad parcialmente desasignado es lo mismo que agregar instancias de máquina virtual a un conjunto de disponibilidad existente. Por lo tanto, debe probar la solicitud de asignación en el clúster original que hospeda el conjunto de disponibilidad existente, que podría tener una capacidad insuficiente.
Solución para la causa 2
Detenga (desasigne) todas las instancias de máquina virtual del conjunto de escalado y reinicie cada instancia de máquina virtual. Para detener las instancias de máquina virtual:
En el Azure Portal, busque y seleccione Conjuntos de escalado de máquinas virtuales.
Seleccione el nombre del conjunto de escalado.
En el panel de menús, seleccione Instancias.
Seleccione todas las instancias de máquina virtual que aparecen en la lista.
Seleccione Detener.
Una vez que todas las máquinas virtuales se detengan, seleccione la primera instancia de máquina virtual y, a continuación, seleccione Iniciar. Azure realiza un nuevo intento de asignación y selecciona un nuevo clúster que tiene suficiente capacidad.
Causa 3: Instancias de máquina virtual reiniciadas que se detuvieron por completo
La desasignación completa significa que ha detenido (desasignado) todas las instancias de máquina virtual de un conjunto de disponibilidad. La solicitud de asignación para reiniciar estas instancias de máquina virtual se dirigirá a todos los clústeres que admitan el tamaño necesario dentro de la región o zona.
Solución para la causa 3
Cambie la solicitud de asignación mediante las sugerencias de este artículo. A continuación, vuelva a intentar la solicitud para mejorar la posibilidad de que la asignación se realice correctamente.
Si usa tamaños o series de máquinas virtuales anteriores (como Dv1, DSv1, Av1, D15v2 o DS15v2), considere la posibilidad de pasar a versiones más recientes. Consulte estas recomendaciones para tamaños de VM específicos. ¿No está autorizado a usar un tamaño de máquina virtual diferente? A continuación, intente implementar en una región diferente dentro de la misma geografía. Para obtener más información sobre los tamaños de máquina virtual disponibles en cada región en https://aka.ms/azureregions.
Si usa zonas de disponibilidad, pruebe con otra zona dentro de la región que pueda tener capacidad disponible para el tamaño de máquina virtual solicitado.
Si la solicitud de asignación es grande (más de 500 núcleos), consulte las secciones siguientes para dividir la solicitud en implementaciones más pequeñas.
Intente volver a implementar la instancia de máquina virtual, que asigna la instancia de máquina virtual a un nuevo clúster dentro de la región.
Errores de asignación para tamaños de máquina virtual anteriores
Algunos tamaños de máquina virtual de serie anteriores no se ejecutan en nuestra infraestructura de última generación. En ocasiones, los clientes pueden experimentar errores de asignación para estas SKU heredadas. Recomendamos a los clientes que usan máquinas virtuales de serie heredadas que consideren la posibilidad de migrar a las máquinas virtuales más recientes equivalentes. Las máquinas virtuales más recientes están optimizadas para el hardware más reciente y le permiten aprovechar mejor los precios y el rendimiento.
Consulte las siguientes recomendaciones:
Tamaño o serie de máquinas virtuales heredadas | Tamaño o serie de máquinas virtuales más recientes recomendados | Vínculo de blog |
---|---|---|
Serie Av1 | Serie Av2 | Nuevos tamaños de máquina virtual A_v2-Series |
Serie Dv1 o DSv1 (D1 a D5) | Serie Dv3 o DSv3 | Presentación de los nuevos tamaños de máquina virtual Dv3 y Ev3 |
Serie Dv1 o DSv1 (D11 a D14) | Serie Ev3 o ESv3 | |
D15v2 o DS15v2 | Si usa el modelo de implementación de Resource Manager para aprovechar los tamaños de máquina virtual más grandes, considere la posibilidad de pasar a D16v3/DS16v3 o D32v3/DS32v3. Estos tamaños están diseñados para ejecutarse en el hardware de última generación. ¿Usa el modelo de implementación de Resource Manager para asegurarse de que la instancia de máquina virtual está aislada en hardware dedicado a un solo cliente? A continuación, considere la posibilidad de pasar a los nuevos tamaños de máquina virtual aislados, E64i_v3 o E64is_v3, que están diseñados para ejecutarse en el hardware de última generación. |
Nuevos tamaños de máquina virtual aislados ahora disponibles |
Información de contexto
Cómo funciona la asignación
La plataforma Azure intenta particionar los servidores del centro de datos en clústeres. Normalmente, intenta una solicitud de asignación en varios clústeres. Sin embargo, ciertas restricciones de la solicitud de asignación pueden forzar a la plataforma Azure a intentar la solicitud en un solo clúster ("anclado a un clúster"). El diagrama 1 siguiente muestra una asignación normal que se intenta en varios clústeres (clúster 1 a clúster n). En el diagrama 2, una asignación se ancla al clúster 2, porque ese clúster hospeda el servicio en la nube (CS_1) o el conjunto de disponibilidad existente.
¿Por qué se producen errores de asignación?
Si una solicitud de asignación está anclada a un clúster, hay una mayor probabilidad de no encontrar recursos gratuitos, ya que el grupo de recursos disponible es menor. ¿Qué ocurre si la solicitud de asignación está anclada a un clúster que no admite el tipo de recurso que solicitó? A continuación, se producirá un error en la solicitud incluso si el clúster tiene recursos gratuitos. El diagrama 3 siguiente muestra dónde se produce un error en una asignación anclada porque el único clúster candidato no tiene recursos gratuitos. En el diagrama 4 se muestra dónde se produce un error en una asignación anclada, porque el único clúster candidato no admite el tamaño de máquina virtual solicitado, aunque el clúster tenga recursos gratuitos.
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.