Corrección de un error AllocationFailed o ZonalAllocationFailed al crear, reiniciar o cambiar el tamaño de los conjuntos de escalado de máquinas virtuales 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 causar daños irreversibles en los clústeres y la pérdida de datos en este escenario. Para 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.
- Causas de los errores de asignación.
- Cómo solucionar errores de asignación cuando surjan.
Para solucionar problemas 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 detenida (desasignada) del conjunto de escalado.
- 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 éxito de asignación 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 VM
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. Obtenga más información sobre cómo mejorar la probabilidad de éxito de asignación 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 pone en marcha 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 se aprovisiona correctamente el número solicitado de instancias de máquina virtual. 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 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.
Haga clic en Guardar.
Obtenga más información sobre el sobreaprovisionamiento.
Habilite conjuntos de gran escala. Los conjuntos de escalado de máquinas virtuales 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 gran escala sea especial no es el número de instancias de máquina virtual, pero 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
establecidofalse
en , tiene una mayor probabilidad de éxito de asignación, 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 para 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. En el caso de implementaciones más grandes, es posible que quiera evaluar conjuntos de escalado de máquinas virtuales de Azure con varios grupos de selección de ubicación. El número de instancias de máquina virtual puede aumentar o disminuir automáticamente según la demanda, o de acuerdo 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 tener en cuenta las instrucciones de las secciones siguientes como una solución temporal.
Identifique el escenario que mejor se adapte a 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. También puede volver a intentarlo más adelante. Es posible que los recursos suficientes se hayan liberado en el clúster, la región o la zona para dar cabida a la solicitud en otro momento.
Causa
La región o zona no tiene suficiente capacidad de núcleo para la SKU solicitada.
Causa 1: Se ha cambiado el tamaño de un conjunto de escalado o se han agregado instancias de máquina virtual 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, se debe probar 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 un clúster diferente de la misma región con una 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 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 y, a continuación, 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.
Consulte Creación de un conjunto a gran escala.
Causa 2: Se ha reiniciado una máquina virtual detenida parcialmente (desasignada)
La desasignación parcial significa que detuvo (desasignó) una o varias instancias de máquina virtual, pero no todas, en un conjunto de escalado. 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 desasignado parcialmente es la misma 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, lo 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 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 capacidad suficiente.
Causa 3: Instancias de máquina virtual reiniciadas que estaban completamente detenidas
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 tendrá como destino 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 se le permite 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 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 otra zona dentro de la región que puede 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. Los clientes pueden experimentar ocasionalmente errores de asignación para estas SKU heredadas. Animamos a los clientes que usan máquinas virtuales de serie heredadas a considerar 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:
Serie o tamaño de máquina virtual heredada | Serie o tamaño de máquina virtual más reciente recomendado | Vínculo de blog |
---|---|---|
Serie Av1 | Serie Av2 | Nuevos tamaños de máquina virtual de la serie A_v2 |
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 del 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 adicional
Cómo funciona la asignación
La plataforma Azure intenta crear particiones de servidores de centros de datos en clústeres. Normalmente, intenta una solicitud de asignación en varios clústeres. Pero ciertas restricciones de la solicitud de asignación pueden obligar a la plataforma Azure a intentar la solicitud en un solo clúster ("anclado a un clúster"). En el diagrama 1 siguiente se muestra una asignación normal que se intenta en varios clústeres (clúster 1 a clúster n). En el diagrama 2, se ancla una asignación al clúster 2, ya que ese clúster hospeda el servicio en la nube (CS_1) o el conjunto de disponibilidad existentes.
¿Por qué se producen errores de asignación?
Si una solicitud de asignación está anclada a un clúster, existe una mayor posibilidad 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 solicitado? A continuación, se producirá un error en la solicitud incluso si el clúster tiene recursos gratuitos. En el diagrama 3 siguiente se 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.