Solucionar problemas de consumo de reservas


En este documento, se describe cómo resolver problemas con el consumo de reservas de recursos zonales de Compute Engine.

Dificultad para realizar un seguimiento del consumo de reservas

Problema: No es posible hacer un seguimiento de qué VMs consumen una reserva, aunque puedes ver cuántas VMs consumen una reserva si verificas el consumo de la reserva.

Resolución: Si puedes crear correctamente una VM que se oriente a una reserva específica, la VM consume la reserva especificada en la propiedad de afinidad (reservationAffinity) de la VM. De lo contrario, la creación de la VM falla porque las propiedades no coinciden o no hay recursos disponibles en la zona de la VM.

Para obtener más información sobre el seguimiento del consumo de reservas, consulta Verifica el consumo de reservas.

Menos VMs disponibles para el consumo

Problema: La cantidad de VMs reservadas físicamente (el campo assuredCount) no coincide con la cantidad de VMs reservadas especificadas en una reserva (el campo count). Esto significa que se reservan menos VMs para tu proyecto y cualquier proyecto con el que se comparta una reserva compartida.

Este problema puede ocurrir por uno o más de los siguientes motivos:

  • El proyecto de consumidor de una reserva compartida se suspendió o se migró a otra organización. En este caso, Compute Engine disminuye el campo assuredCount en función de la cantidad de VMs que consume el proyecto consumidor.

  • Se suspendió el proyecto en el que se creó la reserva. En este caso, Compute Engine establece el campo assuredCount en 0.

  • Un error del anfitrión afectó la reserva.

Solución: A menos que se haya suspendido el proyecto en el que se creó la reserva, Compute Engine hace todo lo posible para resolver automáticamente una discrepancia entre los campos assuredCount y count en una reserva en un plazo de 24 horas. Además, hasta que se resuelva esta discrepancia, Google Cloud solo te facturará por la capacidad reservada físicamente.

Problemas de VMs que no consumen reservas

Si una VM no puede consumir una reserva, puede deberse a uno o más de los siguientes problemas:

En esta sección, se describe cómo identificar cada uno de estos problemas, cómo resolverlos y cómo verificar el consumo de reservas.

Propiedades de VM no coincidentes

Problema: Una VM no puede consumir una reserva con propiedades de VM diferentes.

Para identificar qué propiedades no coinciden entre la VM y la reserva, haz lo siguiente:

  1. Consulta los detalles de la reserva

  2. Consulta los detalles de la VM

Luego, compara los dos resultados para verificar que las siguientes propiedades coincidan exactamente:

  • project

    • Si la reserva se comparte con varios proyectos (en particular, si la reserva tiene el campo shareType configurado como SPECIFIC_PROJECTS), las VMs se pueden ubicar en el proyecto en el que la reserva creado (el proyecto propietario) o en cualquier proyecto con el que se comparta la reserva (proyectos de consumidor).
  • zone

  • machineType

  • guestAccelerators.acceleratorType (si existen)

  • guestAccelerators.acceleratorCount (si existen)

  • minCpuPlatform

    • La VM y la reserva deben tener la misma configuración de minCpuPlatform. Por ejemplo, configurar minCpuPlatform como Intel Broadwell cuando creas una VM no coincidirá con el valor minCpuPlatform de Automatic dentro de una reserva.
  • localSsds.interface (si existen)

    • La reserva y la VM deben tener la misma cantidad de discos SSD locales con una propiedad localSsds.interface coincidente para cada disco SSD local.
  • resourcePolicies (si existen)

  • locationHint (si existen)

    • Solo si una reserva especifica el campo locationHint. Puedes especificar el campo locationHint solo cuando creas VMs con REST.

Solución: Después de identificar las propiedades que no coinciden, prueba una de las siguientes opciones:

  • Si las propiedades de la VM no coinciden con la reserva, haz una de las siguientes acciones:

    • Borra la VM y crea una VM nueva con propiedades que coincidan con las de la reserva.

    • Actualiza la VM para que coincida con las propiedades de la reserva.

  • Si se supone que las propiedades de la reserva deben coincidir con las de la VM, borra la reserva y crea una reserva nueva que coincida con las propiedades de la VM. De forma opcional, puedes crear una reserva específica. Cuando creas VMs para consumir una reserva específica, se producen errores si las propiedades de la VM no coinciden con las de la reserva.

Después de actualizar la VM o crear una reserva nueva, verifica si la VM consume la reserva verificando el consumo de la reserva.

La afinidad de reserva es incorrecta

Problema: La afinidad de reserva de la VM está mal configurada. La afinidad de reserva de una VM controla las reservas que puede consumir una VM. Para verificar la afinidad de reserva de tu VM, haz lo siguiente:

  1. Visualiza los detalles de una reserva y verifica si es una reserva específica o que se consume automáticamente. Para obtener más información, consulta Tipo de consumo.

  2. Consulta los detalles de la VM y verifica la afinidad de reserva.

Resolución: Si la afinidad de reserva de la VM y la reserva no coinciden, haz una de las siguientes acciones:

  • Crea una VM nueva con una propiedad de afinidad de reserva que coincida con el tipo de la reserva.

  • Actualiza la propiedad reservationAffinity en la VM para especificar si la VM puede consumir cualquier reserva coincidente o una reserva específica. Para finalizar la actualización de la VM, debes reiniciarla.

Para verificar si la VM consume la reserva, consulta Verifica el consumo de las reservas.

La reserva ya se consumió por completo

Problema: La cantidad de VMs que consumen esta reserva coincide con la cantidad total de VMs reservadas. Esto indica que la reserva se consumió por completo.

Resolución: Para verificar si la reserva se consumió por completo, consulta los detalles de la reserva y, luego, verifica que la cantidad de VMs que consumen la reserva coincida con la cantidad total de VMs reservadas.

Si la reserva se consumió por completo, prueba una de las siguientes opciones:

Si la reserva no se consume por completo, pero la VM no la consume, puedes solucionar el problema si haces lo siguiente:

  1. Crea una reserva específica con propiedades coincidentes.

  2. Crea una VM para consumir la reserva. Si la VM y las propiedades de la reserva no coinciden, la creación de la VM fallará.

Se superó la cuota de recursos para las reservas compartidas

Problema: Una VM no consume una reserva compartida porque tu proyecto no tiene suficiente cuota para los recursos que intentas consumir.

Resolución: Las reservas compartidas tienen requisitos de cuota adicionales. Si necesitas aumentar la cuota de tu proyecto para consumir los recursos reservados, consulta Solicita una cuota más alta en la documentación de Cuotas de Cloud.

El recuento de VM no se restablece después de detener o borrar una VM

Problema: si detienes, suspendes o borras una VM que consume una reserva, la operación debe completarse antes de que la VM ya no cuente para la reserva, y los recursos consumidos previamente vuelven a estar disponibles para su consumo.

Resolución: espera unos minutos a que se complete la operación de detención, suspensión o eliminación en las VM. Luego, para verificar que las VMs detenidas, suspendidas o borradas ya no cuentan para la reserva, verifica la cantidad total de VMs consumidas en la reserva con uno de los siguientes métodos:

  • Recomendado: Supervisa la reserva y busca un cambio en las mediciones de la reserva.

  • Visualiza los detalles de la reserva y verifica si el valor del campo inUseCount disminuyó. Si su valor no disminuyó, entonces una o más VMs comenzaron a consumir la reserva mientras se completaba la operación de detención, suspensión o eliminación.

VM que consume reservas de forma involuntaria

Problema: Cuando creas reservas que se consumen de forma automática (configuración predeterminada), una VM podría consumir estas reservas de forma involuntaria.

Resolución: Para evitar que una o más VMs consuman una reserva de forma no intencional, haz una de las siguientes acciones: