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. Com isso, você confirma sua identidade para acesso a Google Cloud serviços e APIs do. Para executar código ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine selecionando uma das seguintes opções:
    1. Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

    2. Defina uma região e uma zona padrão.

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 Extreme Persistent Disk ou Hyperdisk Throughput 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

As seções a seguir descrevem erros comuns relacionados à capacidade do disco e como resolvê-los.

Discos cheios

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
    
    Error: There isn't enough space on the disk.
    

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 encontrados se você não conseguir acessar sua VM pela Google Cloud CLI ou usando o protocolo RDP porque o disco de inicialização está cheio:

      Network error: Software caused connection abort
      
      Your Remote Desktop Services session has ended. The connection was lost because the remote computer is running low on memory or disk space.
      
      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 anteriores, faça o seguinte:

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

  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

As seções a seguir descrevem problemas comuns do sistema de arquivos e como resolvê-los.

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.

Limitação do Storage Spaces Direct (S2D)

Ao usar o Storage Spaces Direct (S2D), não é possível aumentar a capacidade redimensionando discos permanentes subjacentes. Se você redimensionar os discos no nível do hardware, o S2D não vai reconhecer o espaço adicionado, e os dados poderão ficar inacessíveis. Para aumentar a capacidade, adicione servidores ou unidades em vez de redimensionar discos permanentes.

Para verificar se o disco está configurado como parte de um cluster S2D ou pool de armazenamento, siga estas etapas:

  1. No Google Cloud console do, acesse a página Instâncias de VM.

    Acesse Instâncias de VM

  2. Ao lado da instância com o disco redimensionado, clique no botão RDP. O navegador abre uma conexão RDP com a instância.

  3. Clique com o botão direito do mouse no botão Iniciar do Windows e selecione Gerenciamento de Disco para abrir essa ferramenta. Por exemplo, a captura de tela a seguir mostra que o Disco 1 tem uma partição de proteção do Storage Spaces:

Detalhes do S2D no Gerenciamento de disco.

Como alternativa, execute um dos seguintes comandos do PowerShell para encontrar qualquer Persistent Disk associado a uma configuração do S2D.

       Get-Disk | Where-Object Model -eq "Storage Space"
       
       Get-PhysicalDisk | Where-Object {$_.ObjectId -like "*Spaces*"}