> ## Documentation Index
> Fetch the complete documentation index at: https://docs.basaltic.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Cotas e solução de problemas

> Por que um lançamento falhou, o que os dois campos de estado estão dizendo, os três contadores que uma instância possui ao mesmo tempo e as recusas que valem a pena reconhecer.

<a id="desired-state-and-current-state" />

## Estado desejado e estado atual

Leia `current_state` para ver onde a instância está. `desired_state` registra o que você pediu: `running`, `stopped` ou `deleted`. Enquanto uma requisição está sendo aplicada, os dois podem diferir: um stop define `desired_state=stopped` e `current_state=stopping` até que o guest se desligue.

`current_state` também relata condições observadas no convidado:

* `crashed`: o convidado caiu. Se ainda for desejado executar, a recuperação automática tenta um reinício, no máximo uma vez a cada 60 segundos. O erro fatal é relatado antes da recuperação, portanto, esse estado pode ser breve.
* `paused`: a execução do convidado está pausada.
* `suspended`: o convidado entrou em suspensão de gerenciamento de energia.

Os convidados pausados e suspensos não são reiniciados automaticamente. Você pode parar uma instância que falhou, foi pausada ou suspensa e iniciá-la novamente. Parar também cancela a recuperação automática de falhas. [saída do console](/pt/compute/console) para investigar a causa, mesmo que a recuperação automática já tenha trazido de volta ao `running`.

<a id="what-each-failure-is-telling-you" />

## O que cada fracasso está te dizendo

<AccordionGroup>
  <Accordion title="current_state é erro logo após criar" icon="triangle-alert">
    Leia `faults`. Cada entrada carrega um `code`, uma `severity`, uma `message` e `details` da etapa que falhou. Mais de um código pode estar ativo ao mesmo tempo. Veja [Resource faults](/pt/resource-faults) para o próprio array.

    `POST /v1/instances/{instance_id}/start` aceita uma instância em `error`, então uma falha que aconteceu enquanto o convidado estava chegando pode ser re-tentada sem recriar nada. Uma nova tentativa de início resolve `START_FAILED` e `LEGACY_FAILURE_STATE` somente. Ele não limpa códigos de propriedade do provisionamento.

    Não reconstrui o que nunca foi construído. Uma falha anterior a isso — o volume de inicialização ou as interfaces — não deixa nada para um início para trazer, e a instância é melhor excluída e criada novamente uma vez que a causa é corrigida. As causas usuais estão na solicitação: uma sub-rede que não roteia para um gateway de internet enquanto uma NIC pediu um endereço público, um documento `user_data` que não é um YAML válido, ou um tamanho de inicialização abaixo do chão da imagem.

    | Código | Significado e recuperação |
    | - | - |
    | `PROVISION_START_FAILED` | A saga do provisionamento não começou. Exclua e crie novamente assim que a causa for corrigida. Uma nova tentativa de início não limpa isso. |
    | `BOOT_VOLUME_FAILED` | O disco de inicialização não foi construído. Exclua e crie novamente. Uma nova tentativa de início não limpa isso. |
    | `DATA_VOLUME_FAILED` | Um volume de dados não foi anexado durante o provisionamento. Exclua e crie novamente. Uma nova tentativa de início não limpa isso. |
    | `NIC_PROVISION_FAILED` | Uma interface de rede não foi provisionada. Exclua e crie novamente. Uma nova tentativa de início não limpa isso. |
    | `PUBLIC_IP_FAILED` | Um endereço público não foi atribuído. Exclua e crie novamente. Uma nova tentativa de início não limpa isso. |
    | `SEED_ISO_FAILED` | A semente cloud-init não foi compilada. Exclua e crie novamente. Uma nova tentativa de início não limpa isso. |
    | `VMSPEC_PUBLISH_FAILED` | A especificação da instância não foi publicada. Exclua e crie novamente. Uma nova tentativa de início não limpa isso. |
    | `START_FAILED` | Um início não alcançou `running`. Tente iniciar novamente ou aguarde a reconciliação. |
    | `STOP_FAILED` | Uma parada não alcançou `stopped`. Tente parar novamente ou aguarde a reconciliação. |
    | `REBOOT_FAILED` | Uma reinicialização não foi concluída. Tente reiniciar ou aguarde a reconciliação. |
    | `RECONCILE_FAILED` | O host não convergiu a geração atual. Uma reconciliação correspondente ou uma nova tentativa de energia a limpa. |
    | `MIGRATION_FAILED` | Um movimento ao vivo não foi concluído. Isso é um `warning` — a instância continua servindo em seu host de origem. |
    | `RESIZE_PENDING_RESTART` | O tipo de instância cresceu, mas o convidado em execução mantém seu tamanho antigo. Este é um `warning` — pare e inicie a instância para aplicá-lo. |
  </Accordion>

  <Accordion title="A instância diz running mas nada responde" icon="activity">
    Verifique o `current_state`. Um convidado `running` ainda pode ter um problema de rede ou de configuração de convidado; `running` não significa que o SSH está pronto.

    Leia a saída [console](/pt/compute/console) a seguir — ela funciona em um convidado que nunca chegou à rede, que é precisamente o caso em que o SSH não pode diagnosticar.
  </Accordion>

  <Accordion title="Meu cloud-init nunca foi executado" icon="file-code">
    Duas causas, ambas silenciosas.

    Seu `user_data` tem que decodificar para um documento começando com `#cloud-config`. Um script de shell não é mesclado e não é executado — coloque os comandos em `runcmd`.

    Valores de cloud-init de nível superior substituem valores base. Verifique os logs do documento e do cloud-init do convidado quando um comando personalizado falhar.
  </Accordion>

  <Accordion title="Não consigo fazer SSH em" icon="key-round">
    Para [IAM SSH](/pt/compute/ssh), use o nome de usuário Linux do seu perfil ou conta de serviço. Verifique sua chave pública, a função da conta atual e a permissão de login, e que o IAM SSH esteja habilitado no convidado.

    Verifique se o grupo de segurança da NIC admite sua fonte na porta 22. Confirme o endereço de `GET /v1/instances/{instance_id}/nics`: inspecione os `addresses` de cada NIC e o `floating_ips` aninhado. O objeto de instância não tem campos de resumo IP.
  </Accordion>

  <Accordion title="Redimensionamento é recusado com um erro de capacidade" icon="cpu">
    Uma instância não move hosts quando redimensiona, portanto, o crescimento tem que caber onde já está. Um tipo de instância `dedicated` precisa de threads livres inteiros, não apenas um host sub-assinado.

    A solução é iniciar uma nova instância no tipo de instância de destino (o agendador pode colocá-la em qualquer lugar) e mover a carga de trabalho ou reinstalar em uma nova instância e reanexar os volumes de dados.
  </Accordion>

  <Accordion title="Um 409 no início, parada ou reinicialização" icon="circle-x">
    Cada ação aceita um conjunto restrito de estados: start precisa de `stopped` ou `error`; stop aceita `running`, `crashed`, `paused` ou `suspended`; reboot precisa de `running`; redimensionar e reinstalar precisam de `stopped`. Qualquer coisa no meio da transição — `pending`, `building`, `stopping`, `rebooting`, `deleting` — é recusada até que ela se acomode. Sondagem `current_state` e tente novamente.
  </Accordion>

  <Accordion title="Uma operação em uma instância responde 404, mas eu posso vê-lo" icon="lock">
    Verifique `managed_by`. Uma instância de propriedade de um balanceador de carga ou um cluster de banco de dados é somente leitura através desta API, e cada mutação responde `404` em vez de `403` — a superfície do cliente não admite que seja acionável.

    Um `403` é o outro caso, e um diferente: a instância é sua e a verificação do IAM nessa ação específica falhou. As ações são por operação, portanto, um principal pode ler uma instância e ainda não ter permissão para pará-la.
  </Accordion>
</AccordionGroup>

<a id="quotas" />

## Cotas

Uma instância contém três contadores regionais ao mesmo tempo, todos reservados juntos na criação e liberados na exclusão: `instances`, `vcpus` e `ram_mb`. É por isso que um pequeno limite de `instances` não é a história toda — um punhado de grandes flavors pode esgotar o `vcpus` primeiro.

`volumes_per_instance` limita o disco de inicialização mais todos os volumes de dados em uma instância, e é verificado antes que a linha de instância exista, portanto, exceder isso é um `4xx` simples, em vez de uma instância que provisiona parcialmente e estaciona em `error`. IPs flutuantes vêm do serviço de rede `floating_ips`.

<Warning>
  `instances` raramente é o limite que você atinge primeiro. Três contadores são reservados juntos na criação e liberados juntos na exclusão, então um punhado de grandes tipos de instância esgota `vcpus` ou `ram_mb` enquanto a contagem de instâncias ainda parece confortável. Uma quota de recusa nomeia o que se esgotou — leia-o em vez de assumir.
</Warning>

IPs flutuantes vêm da cota `floating_ips` do serviço de rede, que [gateways NAT também usam](/pt/networking/troubleshooting#quotas).

<a id="next" />

## Próximo

<CardGroup cols={2}>
  <Card title="Acesso ao console" icon="terminal" href="/pt/compute/console">
    As três formas de entrar, incluindo a que funciona sem rede.
  </Card>

  <Card title="Permissões" icon="key" href="/pt/compute/permissions">
    Quando a recusa é um `403` em vez de um erro de estado.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.