Resolva problemas de consumo de reservas

Este documento descreve como resolver problemas com o consumo de reservas de recursos zonais do Compute Engine.

Dificuldade em acompanhar o consumo de reservas

Problema: não é possível monitorizar que VMs estão a consumir uma reserva, embora possa ver quantas VMs estão a consumir uma reserva validando o consumo da reserva.

Resolução: se conseguir criar com êxito uma VM que segmenta uma reserva específica, significa que a VM está a consumir a reserva especificada na propriedade de afinidade (reservationAffinity) da VM. Caso contrário, a criação da VM falha porque as propriedades não correspondem ou não existem recursos disponíveis na zona da VM.

Para mais informações sobre o acompanhamento do consumo de reservas, consulte o artigo Verifique o consumo de reservas.

Menos VMs disponíveis para consumo

Problema: o número de VMs reservadas fisicamente (o campo assuredCount) não corresponde ao número de VMs reservadas especificado numa reserva (o campo count). Isto significa que são reservadas menos VMs para o seu projeto e para todos os projetos com os quais uma reserva partilhada é partilhada.

Este problema pode ocorrer por um ou mais dos seguintes motivos:

  • O projeto de consumidor de uma reserva partilhada foi suspenso ou migrado para outra organização. Neste caso, o Compute Engine diminui o campo assuredCount pelo número de VMs que o projeto consumidor está a consumir.

  • O projeto no qual a reserva foi criada foi suspenso. Neste caso, o Compute Engine define o campo assuredCount como 0.

  • Um erro do anfitrião afetou a reserva.

Resolução: a menos que o projeto no qual a reserva foi criada tenha sido suspenso, o Compute Engine faz o seu melhor para resolver automaticamente uma discrepância entre os campos assuredCount e count numa reserva no prazo de 24 horas. Além disso, até que esta discrepância seja resolvida, Google Cloud a Google fatura-lhe apenas a capacidade reservada fisicamente.

Problemas para VMs que não consomem reservas

Se uma VM não conseguir consumir uma reserva, tal pode dever-se a um ou mais dos seguintes problemas:

Esta secção descreve como identificar cada um destes problemas, resolvê-los e validar o consumo de reservas.

Propriedades da VM não correspondentes

Problema: uma VM não pode consumir uma reserva com propriedades de VM diferentes.

Para identificar as propriedades que não correspondem entre a VM e a reserva, veja as propriedades da reserva e da VM fazendo o seguinte:

  1. Veja os detalhes da reserva

  2. Veja os detalhes da VM

Em seguida, compare as duas saídas para verificar se as seguintes propriedades correspondem exatamente:

  • project

    • Se a reserva for partilhada com vários projetos (especificamente, se o camposhareType estiver definido como SPECIFIC_PROJECTS), as VMs podem estar localizadas no projeto onde a reserva foi criada (o projeto proprietário) ou em quaisquer projetos com os quais a reserva seja partilhada (projetos consumidores).
  • zone

  • machineType

  • guestAccelerators.acceleratorType (se existir)

  • guestAccelerators.acceleratorCount (se existir)

  • minCpuPlatform

    • A VM e a reserva têm de ter exatamente a mesma configuração.minCpuPlatform Por exemplo, definir minCpuPlatform como Intel Broadwell quando cria uma MV não corresponde ao valor de Automatic numa reserva.minCpuPlatform
  • localSsds.interface (se existir)

    • A reserva e a VM têm de ter o mesmo número de discos SSD locais com uma propriedade localSsds.interface correspondente para cada disco SSD local.
  • resourcePolicies (se existir)

  • locationHint (se existir)

    • Apenas se uma reserva especificar o campo locationHint. Só pode especificar o campo locationHint quando cria VMs através de REST.

Resolução: depois de identificar as propriedades que não correspondem, experimente uma das seguintes opções:

  • Se as propriedades da VM não corresponderem à reserva, efetue uma das seguintes ações:

    • Elimine a VM e crie uma nova VM com propriedades que correspondam às propriedades da reserva.

    • Atualize a VM para corresponder às propriedades da reserva.

  • Se as propriedades da reserva devem corresponder às propriedades da VM, então elimine a reserva e crie uma nova reserva que corresponda às propriedades da VM. Opcionalmente, pode criar uma reserva específica. Quando cria VMs para consumir uma reserva específica, ocorrem erros se as propriedades da VM não corresponderem às propriedades da reserva.

Depois de atualizar a VM ou criar uma nova reserva, verifique se a VM está a consumir a reserva validando o consumo da reserva.

A afinidade de reserva está incorreta

Problema: a afinidade de reserva da VM está configurada incorretamente. A afinidade de reserva de uma VM controla as reservas que uma VM pode consumir. Para verificar a afinidade de reserva da VM, faça o seguinte:

  1. Veja os detalhes de uma reserva e verifique se a reserva é consumida automaticamente ou específica. Para mais informações, consulte o artigo Tipo de consumo.

  2. Veja os detalhes da VM e verifique a afinidade da reserva.

Resolução: se a afinidade de reserva da VM e a reserva não corresponderem, faça uma das seguintes ações:

  • Crie uma nova VM com uma propriedade de afinidade de reserva que corresponda ao tipo da reserva.

  • Atualize a propriedade reservationAffinity na VM para especificar se a VM pode consumir qualquer reserva correspondente ou uma reserva específica. Para finalizar a atualização da VM, tem de reiniciar a VM.

Para verificar se a VM está a consumir a reserva, consulte o artigo Verifique o consumo de reservas.

A reserva já foi totalmente consumida

Problema: o número de VMs que consomem esta reserva corresponde ao número total de VMs reservadas da reserva. Isto indica que a reserva foi totalmente consumida.

Resolução: para verificar se a reserva foi totalmente consumida, veja os detalhes da reserva, e, em seguida, verifique se o número de VMs que consomem a reserva corresponde ao número total de VMs reservadas na reserva.

Se a reserva for totalmente consumida, experimente uma das seguintes opções:

Se a reserva não for totalmente consumida, mas a VM não estiver a consumir a reserva, pode resolver o problema da seguinte forma:

  1. Crie uma reserva específica com propriedades correspondentes.

  2. Crie uma VM para consumir a reserva. Se a VM e as propriedades da reserva não corresponderem, a criação da VM falha.

Quota de recursos excedida para reservas partilhadas

Problema: uma VM não está a consumir uma reserva partilhada porque o seu projeto não tem quota suficiente para os recursos que está a tentar consumir.

Resolução: as reservas partilhadas têm requisitos de quota adicionais. Se precisar de aumentar a quota no seu projeto para consumir os recursos reservados, consulte Peça um ajuste da quota na documentação das quotas do Google Cloud.

A contagem de VMs não é restaurada após parar ou eliminar uma VM

Problema: se parar, suspender ou eliminar uma VM que esteja a consumir uma reserva, a operação tem de ser concluída antes de a VM deixar de ser contabilizada para a reserva, e os recursos consumidos anteriormente ficam novamente disponíveis para consumo.

Resolução: aguarde alguns minutos para que a operação de paragem, suspensão ou eliminação nas VMs seja concluída. Em seguida, para verificar se as VMs paradas, suspensas ou eliminadas já não contam para a reserva, verifique o número total de VMs consumidas na reserva através de um dos seguintes métodos:

  • Recomendado: Monitorize a reserva e procure uma alteração nas medições da reserva.

  • Veja os detalhes da reserva e verifique se o valor do campo inUseCount diminuiu. Se o valor não tiver diminuído, significa que uma ou mais VMs começaram a consumir a reserva enquanto a operação de paragem, suspensão ou eliminação estava a ser concluída.

A VM está a consumir reservas involuntariamente

Problema: quando cria reservas consumidas automaticamente (predefinição), uma VM pode consumir involuntariamente estas reservas.

Resolução: para evitar que uma ou mais VMs consumam involuntariamente uma reserva, faça uma das seguintes ações: