Recupere uma VM com um disco danificado ou cheio

Se a sua VM estiver inacessível ou danificada, pode recuperar a VM ou o respetivo disco de arranque completo.

Recuperar uma VM inacessível ou um disco de arranque completo

Se não conseguir estabelecer ligação à sua instância ou o disco de arranque estiver cheio e não conseguir redimensioná-lo, tem de criar uma instância e recriar o disco de arranque a partir de uma imagem instantânea para o redimensionar. Tem de saber o tamanho do disco de arranque que está a recriar.

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

    1. Clique no nome da instância para abrir a página Detalhes da instância de VM.
    2. Clique em Parar para parar a VM. Se não existir a opção Parar, clique em Mais ações > Parar.
    3. Na secção Disco de arranque, tome nota do tamanho e do nome do disco de arranque.
  2. Na Google Cloud consola, aceda à página Criar uma captura de ecrã.

    Aceda a Crie um instantâneo

    1. Introduza um Nome para o instantâneo.
    2. Selecione o disco de arranque na lista pendente Disco de origem.
    3. Clique em Criar.
  3. Na Google Cloud consola, aceda à página Criar uma instância.

    Aceda a Criar uma instância

  4. Introduza os detalhes da instância.

  5. Crie um novo disco de arranque a partir da imagem instantânea do disco de arranque antigo.

    1. Em Disco de arranque, selecione Alterar.
    2. Selecione Fotos rápidas.
    3. Selecione a imagem instantânea do disco de arranque antigo na lista pendente Imagem instantânea.
    4. Selecione o tipo de disco de arranque.
    5. Introduza o novo tamanho do disco.
    6. Clique em Selecionar para confirmar as opções de disco.
  6. Clique em Criar.

Recuperar uma VM danificada

Se o SO de uma VM estiver corrompido, pode obter os dados do disco de arranque para recuperar a VM. Para recuperar o disco de arranque, tem de criar primeiro uma VM temporária com uma imagem fornecida pela Google, porque o instantâneo da VM de origem pode estar danificado.

Para obter dados da VM, siga estes passos:

  1. Crie um instantâneo a partir do disco de arranque da VM de origem.
  2. Crie uma VM temporária com uma imagem pública.
  3. Verifique se consegue estabelecer ligação à VM temporária através do SSH.
  4. Adicione um disco adicional à VM temporária seguindo estes passos:

    1. Na Google Cloud consola, aceda à página Instâncias de VM.

      Aceder às instâncias de VM

    2. Selecione a VM temporária que criou.

    3. Clique em Editar.

    4. Em Discos adicionais, clique em Adicionar novo disco e, de seguida, faça o seguinte:

      1. Adicione o nome do disco.
      2. Para Tipo de origem, selecione o separador Instantâneo.
      3. No menu pendente Instantâneo de origem, selecione o instantâneo da VM de origem que criou anteriormente nestes passos.
      4. Clique em Concluído.
    5. Clique em Guardar.

  5. Estabeleça ligação à VM através do SSH.

  6. Verifique o disco e as partições na VM e tome nota do nome do disco, por exemplo, /dev/sdb1:

     lsblk
     

    O resultado é semelhante ao seguinte:

     NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
     sda      8:0    0   10G  0 disk
     └─sda1   8:1    0   10G  0 part /
     sdb      8:16   0  100G  0 disk
     ├─sdb1   8:17   0   96G  0 part
     ├─sdb2   8:18   0    1K  0 part
     └─sdb5   8:21   0    4G  0 part
     

  7. Crie um ponto de montagem em /mnt/newdisk:

     sudo mkdir /mnt/newdisk
     

  8. Monte a partição do disco adicional no ponto de montagem /mnt/newdisk:

     sudo mount -o discard,defaults DISK_NAME /mnt/newdisk
     

    Substitua DISK_NAME pelo nome do disco que anotou anteriormente nestes passos, por exemplo, /dev/sdb1.

    O sistema de ficheiros do instantâneo está montado em /mnt/newdisk. Pode navegar nos diretórios e obter dados.

Para criar uma VM com o disco de arranque recuperado, siga estes passos:

  1. Crie uma imagem a partir do disco da VM temporária.
  2. Crie uma VM com a imagem da VM temporária.

Depois de criar a VM, pode transferir os dados recuperados para a VM.