Resolver problemas de discos cheios e redimensionamento de disco


Nesta página, descrevemos problemas comuns que você pode encontrar ao redimensionar um disco permanente ou quando ele está cheio e como corrigir cada um deles.

Antes de começar

  • Sempre crie um snapshot do disco antes de executar qualquer etapa de solução de problemas para garantir que os dados sejam armazenados em backup.
  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine da seguinte maneira.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Erro de limitação de taxa ao modificar um disco

Veja a seguir erros comuns que você pode encontrar ao tentar modificar o disco permanente extremo ou o hiperdisco do Google Cloud. Esses erros podem aparecer em vários locais, como na saída do console serial ou nos registros do aplicativo.

    Disk cannot be resized due to being rate limited.
    
    Cannot update provisioned iops due to being rate limited.
    
    Cannot update provisioned throughput due to being rate limited.
    

Confira os seguintes limites de tempo para modificar discos:

  • Só é possível redimensionar um volume de disco permanente extremo ou de capacidade de processamento do hiperdisco uma vez a cada seis horas.
  • Só é possível redimensionar um volume extremo do hiperdisco uma vez a cada quatro horas.
  • Só é possível alterar a capacidade ou as IOPS provisionadas de um volume do hiperdisco uma vez a cada quatro horas.

Para resolver esses erros, aguarde o tempo necessário desde a última modificação antes de tentar modificar os discos novamente.

Erros de capacidade de disco

Discos completos

Veja a seguir erros comuns que podem ser encontrados quando o disco permanente atingir a capacidade total. Esses erros podem aparecer em vários locais, como na saída do console serial ou nos registros do aplicativo.

    No space left on device
    
    Not enough storage is available to process this command
    

Para resolver esse problema, faça o seguinte:

  1. Crie um snapshot do disco.

  2. Exclua os arquivos desnecessários do disco para liberar espaço.

  3. Se o disco exigir mais espaço depois disso, redimensione o disco.

VM inacessível devido ao disco de inicialização completo

A VM pode ficar inacessível se o disco de inicialização estiver cheio. Esse cenário pode ser difícil de identificar; nem sempre é óbvio quando o problema de conectividade da VM ocorre devido a um disco de inicialização completo. Veja a seguir exemplos de erros comuns que podem ser observados se você não conseguir acessar sua VM pela Google Cloud CLI porque o disco de inicialização está cheio:

      Network error: Software caused connection abort
      
      ERROR: (gcloud.compute.ssh) Could not SSH into the instance.  It is possible
      that your SSH key has not propagated to the instance yet. Try running this
      command again.  If you still cannot connect, verify that the firewall and
      instance are set to accept ssh traffic.
      
      You cannot connect to the VM instance because of an unexpected error. Wait a
      few moments and then try again.
      
      No space left on device
      
      ERROR Exception calling the response handler. [Errno 2] No usable temporary
      directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/']...
      

Para resolver os problemas acima, faça o seguinte:

  1. Confirme se a falha de SSH da VM se deve a um disco de inicialização completo:

    gcloud compute instances tail-serial-port-output VM_NAME
    

    Se o disco de inicialização estiver cheio, a saída resultante conterá a mensagem No space left on device.

  2. Se você ainda não tiver feito isso, crie um snapshot do disco de inicialização da VM.

  3. Tente reiniciar a VM.

  4. Se você ainda não conseguir acessar a VM, faça o seguinte:

    1. Pare a VM:

      gcloud compute instances stop VM_NAME
      

      Substitua VM_NAME pelo nome da VM.

    2. Aumente o tamanho do disco de inicialização:

      gcloud compute disks resize BOOT_DISK_NAME --size DISK_SIZE
      

      Substitua:

      • BOOT_DISK_NAME: o nome do disco de inicialização da VM;
      • DISK_SIZE: o novo tamanho maior, em gigabytes, do disco de inicialização.

      Por exemplo, para redimensionar um disco chamado example-disk-1 para 6 GB, execute o seguinte comando:

      gcloud compute disks resize example-disk-1 --size=6GB
      
    3. Inicie a VM:

      gcloud compute instances start VM_NAME
      
  5. Tente novamente com SSH para a VM. Se você ainda não conseguir acessar a VM, siga um destes procedimentos:

Problemas do sistema de arquivos

Redimensionamento do sistema de arquivos

Depois de redimensionar um disco de inicialização de VM, a maioria das VMs redimensiona o sistema de arquivos raiz e reinicia a VM. No entanto, para alguns tipos de imagens de VM, pode ser necessário redimensionar o sistema de arquivos manualmente. Se a VM não for compatível com o redimensionamento automático do sistema de arquivos raiz ou se você tiver redimensionado um disco permanente (sem inicialização) de dados, redimensione manualmente o sistema de arquivos e as partições.

Para verificar se o sistema de arquivos raiz foi expandido automaticamente depois de redimensionar o disco de inicialização de VM, faça o seguinte:

  1. Verifique se a VM redimensionou o disco de inicialização usando um dos seguintes métodos:

    • Verifique a saída da porta serial. Procure uma linha que indique que a partição raiz foi redimensionada.

      Por exemplo, em VMs com imagens do Debian, se o redimensionamento automático tiver sido bem-sucedido, os registros do console incluirão a linha ... expand-root.sh[..]: Resizing ext4 filesystem on /dev/sda1.

    • Se você puder se conectar a uma VM do Linux usando o SSH, execute o comando df -h para verificar se há espaço livre em disco.

      Por exemplo, a saída mostra que o sistema de arquivos raiz está 92% cheio:

      Filesystem                                    Size  Used Avail Use% Mounted on
      udev                                           63G     0   63G   0% /dev
      tmpfs                                          13G  1.4M   13G   1% /run
      /dev/sda1                                     339G  315G   24G  92% /
      
  2. Se a VM não redimensionou o sistema de arquivos raiz, redimensione manualmente o sistema de arquivos e as partições.