Erros de quota
Se receber um erro de quota quando tentar iniciar uma instância, tem de pedir uma quota de CPU adicional. Para mais informações, consulte a secção Instâncias de VM da documentação de quotas de alocação do Compute Engine.
Discos de arranque
Se a sua instância não for iniciada e não conseguir estabelecer ligação à mesma nem iniciar sessão através da consola série interativa, identifique o motivo pelo qual o disco de arranque não está a concluir o processo de arranque e inicialização.
Identifique o motivo pelo qual o disco de arranque não está a arrancar
Confirme se o disco de arranque não está cheio.
Se o disco de arranque estiver completamente cheio e o seu sistema operativo não suportar a redimensionamento automático, não vai poder estabelecer ligação à sua instância. Tem de criar uma nova instância e recriar o disco de arranque. Para mais informações, consulte o artigo Recuperar VMs ou discos de arranque completos.
Examine o resultado da porta série da instância da máquina virtual.
O BIOS, o carregador de arranque e o kernel de uma instância imprimem as respetivas mensagens de depuração na saída da porta série da instância, o que fornece informações valiosas sobre quaisquer erros ou problemas que a instância tenha tido. Se ativar o registo de saída da porta série no Cloud Logging, pode aceder a estas informações mesmo quando a instância não estiver em execução.
Ative o acesso interativo à consola de série.
Pode ativar o acesso interativo à consola série de uma instância para poder iniciar sessão e depurar problemas de arranque a partir da instância sem que esta tenha de ser totalmente iniciada. Para mais informações, consulte o artigo Resolução de problemas através da consola série.
Verifique se a clonagem do disco de arranque não está em curso
Se a clonagem do disco de arranque estiver em curso, não pode iniciar a VM e é apresentado um erro semelhante ao seguinte.
Failed to start example-vm: The instance resource 'projects/example-project/zones/us-central1-b/instances/example-vm' is already being used by 'projects/example-project/zones/us-central1-b/disks/clone'
Aguarde a conclusão da clonagem e, em seguida, inicie a VM.
Verifique se a captura instantânea do disco de arranque não está em curso
Se estiver em curso uma captura de ecrã do disco de arranque, não pode iniciar a VM e é apresentado um erro semelhante ao seguinte:
The instance resource 'projects/example-project/zones/asia-east1-b/instances/example-vm' is already being used by 'projects/example-project/global/snapshots/example-vm-prod-asia-east1-b-abc'
Aguarde pela conclusão do instantâneo e, em seguida, inicie a VM.
Confirme se o disco tem um sistema de ficheiros válido.
Se o seu sistema de ficheiros estiver danificado ou for inválido, não pode iniciar a instância. Valide o sistema de ficheiros do disco:
Desanexe o disco em questão de qualquer instância à qual esteja anexado, se aplicável:
gcloud compute instances delete old-instance --keep-disks boot
Inicie uma nova instância com a imagem mais recente fornecida pela Google:
gcloud compute instances create debug-instance
Anexe o disco como um disco não de arranque, mas não o monte. Substitua
DISK
pelo nome do disco que não arranca. Tome nota do nome do dispositivo que identifica o disco na instância:gcloud compute instances attach-disk debug-instance \ --disk DISK \ --device-name debug-disk
Associe-se à instância:
gcloud compute ssh debug-instance
Procure a partição raiz do disco, que é identificada com a notação
part1
. Neste caso, a partição raiz do disco encontra-se em/dev/sdb1
:ls -l /dev/disk/by-id total 0 lrwxrwxrwx 1 root root 9 Jan 22 17:09 google-debug-disk -> ../../sdb lrwxrwxrwx 1 root root 10 Jan 22 17:09 google-debug-disk-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 9 Jan 22 17:02 google-persistent-disk-0 -> ../../sda lrwxrwxrwx 1 root root 10 Jan 22 17:02 google-persistent-disk-0-part1 -> ../../sda1 lrwxrwxrwx 1 root root 9 Jan 22 17:09 scsi-0Google_PersistentDisk_debug-disk -> ../../sdb lrwxrwxrwx 1 root root 10 Jan 22 17:09 scsi-0Google_PersistentDisk_debug-disk-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 9 Jan 22 17:02 scsi-0Google_PersistentDisk_persistent-disk-0 -> ../../sda lrwxrwxrwx 1 root root 10 Jan 22 17:02 scsi-0Google_PersistentDisk_persistent-disk-0-part1 -> ../../sda1
Execute uma verificação do sistema de ficheiros na partição raiz:
sudo fsck /dev/sdb1 fsck from util-linux 2.20.1 e2fsck 1.42.5 (29-Jul-2012) /dev/sdb1: clean, 19829/655360 files, 208111/2621184 blocks
Monte o sistema de ficheiros:
sudo mkdir /mydisk
sudo mount /dev/sdb1 /mydisk
Verifique se o disco tem ficheiros do kernel:
ls /mydisk/boot/vmlinuz-* /mydisk/boot/vmlinuz-3.2.0-4-amd64
Verifique se o disco tem um registo de arranque principal (MBR) válido.
Execute o seguinte comando na instância de depuração que tem o disco de arranque persistente anexado, como
/dev/sdb
:sudo parted /dev/sdb print
Se o MBR for válido, apresenta informações sobre o sistema de ficheiros:
Disk /dev/sdb: 10.7GB Sector size (logical/physical): 512B/4096B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 2097kB 10.7GB 10.7GB primary ext4 boot
Corrija o problema de arranque
Depois de identificar onde o processo de arranque e inicialização está a falhar, pode corrigir o problema concluindo uma das seguintes ações:
Use a imagem importada para criar um disco de arranque autónomo
Comece novamente e importe a imagem do disco de arranque novamente
Criar um disco de arranque autónomo
Monte a imagem importada num disco secundário associado a uma instância de VM temporária. Use a Google Cloud consola ou a CLI gcloud para criar um disco autónomo a partir da imagem que carregou e criar uma VM temporária com o disco autónomo anexado. Pode usar esta instância para modificar ficheiros no disco autónomo e corrigir problemas que impedem o início dessa imagem.
Consola
Crie um disco autónomo a partir da imagem do disco de arranque que importou. Em alternativa, pode separar um disco de arranque de uma instância e criar a instância com esse disco de arranque separado.
- In the Google Cloud console, go to the Disks page.
- Click Create disk.
-
On the Create a disk page,
specify the following attributes:
-
Zone:
Select a zone near you. You must use this same zone when you create your temporary instance.
- Disk source type: Image
- Source image: Specify the name of the boot disk image that you imported.
-
Zone:
- To create the disk, click Create.
Crie uma instância temporária onde possa anexar o disco autónomo e configurar o carregador de arranque para funcionar num ambiente de Google Cloud consola Google Cloud .
Na Google Cloud consola, aceda à página Instâncias de VM.
Clique no botão Criar instância.
Na página Criar uma instância, especifique um nome de instância e uma zona onde localizar a instância. A zona tem de ser a mesma zona onde criou o disco autónomo.
Expanda a secção Gestão, segurança, discos, trabalhar em rede, arrendamento único.
No separador Discos na secção Discos adicionais, clique em Anexar disco existente. É apresentada uma nova secção.
Na secção Disco, selecione o disco autónomo que criou na lista pendente. Isto anexa o disco autónomo à instância para que o possa montar e modificar o conteúdo do disco mais tarde.
Clique em Concluído para terminar a associação do disco.
Clique no botão Criar para criar a instância.
gcloud
Crie um disco autónomo a partir da imagem do disco de arranque que importou. Em alternativa, pode separar um disco de arranque de uma instância e criar a instância usando esse disco de arranque separado.
gcloud compute disks create DISK_NAME \ --zone=ZONE \ --image=IMAGE_NAME
Substitua o seguinte:
DISK_NAME
: o nome do novo disco autónomo.
: uma zona perto de si. Tem de usar esta mesma zona quando criar a instância temporária.ZONE
IMAGE_NAME
: o nome da imagem do disco de arranque que importou.
Crie uma instância temporária onde possa anexar o disco autónomo e configurar o carregador de arranque para funcionar num ambiente de Google Cloud consola Google Cloud .
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --disk name=DISK_NAME
Substitua o seguinte:
INSTANCE_NAME
: um nome exclusivo para a sua instânciaZONE
: a zona onde criou o disco autónomoDISK_NAME
: o nome do disco autónomo que criou a partir da imagem do disco de arranque importada
Depois de criar a instância com o disco autónomo anexado, tem um ambiente virtual onde pode modificar o carregador de arranque a partir da imagem de disco de arranque original.
Configurar o disco de arranque
Ligue-se à instância, monte o disco autónomo e configure o carregador de arranque para que arranque corretamente no Compute Engine.
- Estabeleça ligação à instância temporária
através do SSH no navegador ou do
comando
gcloud compute ssh
. Use o comando
blkid
para identificar o disco que quer modificar e as partições que tem de montar. Neste exemplo,/dev/sdb
é o disco que importou.lsblk
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
Monte a partição raiz do disco autónomo no diretório
/tmp
. Neste exemplo,/dev/sdb1
é a partição raiz e as outras partições não requerem modificações. O seu esquema de partição pode exigir que monte várias partições antes de poder aceder a todos os ficheiros que precisa de alterar.sudo mount /dev/sdb1 /tmp
Editar ficheiros que podem fazer com que o disco falhe o processo de arranque. Para mais informações, consulte as instruções de configuração do carregador de arranque.
Desmonte o disco de arranque da instância temporária.
sudo umount /tmp
Usar o disco de arranque
Quando terminar de configurar este disco, desanexe-o e use-o como o disco de arranque para a nova instância.
Consola
Desassocie o disco autónomo da instância temporária.
Na Google Cloud consola, aceda à página Instâncias de VM.
Na lista de instâncias, clique no nome da instância temporária onde modificou o disco de arranque autónomo. É apresentada a página de detalhes da instância.
Na parte superior da página de detalhes da instância, clique em Editar.
Em Discos adicionais, clique no X junto ao disco autónomo para indicar que o quer desanexar da instância temporária.
Clique em Guardar para guardar as alterações.
Use o disco autónomo desanexado para criar uma instância.
Na Google Cloud consola, aceda à página Instâncias de VM.
Clique no botão Criar instância.
Na página Criar uma instância, especifique um nome de instância e uma zona onde localizar a instância. A zona tem de ser a mesma zona onde criou o disco autónomo.
Em Disco de arranque, clique em Alterar para começar a configurar o disco de arranque.
No separador Discos existentes, escolha o disco de arranque autónomo a usar como disco de arranque para esta nova instância.
Clique no botão Criar para criar a instância.
gcloud
Desassocie o disco autónomo da instância temporária.
gcloud compute instances detach-disk INSTANCE_NAME \ --disk name=DISK_NAME
Substitua o seguinte:
INSTANCE_NAME
: um nome exclusivo para a sua instância.DISK_NAME
: o nome do novo disco autónomo.
Use o disco autónomo desanexado para criar uma instância.
gcloud compute instances create INSTANCE_NAME \ --zone ZONE \ --disk name=DISK_NAME,boot=yes
Substitua o seguinte:
INSTANCE_NAME
: um nome exclusivo para a sua instânciaZONE
: a zona onde o disco autónomo está localizadoDISK_NAME
: o nome do disco autónomo que criou a partir da imagem do disco de arranque importada
Teste a instância que criou com o disco de arranque modificado. Se ainda não conseguir estabelecer ligação à instância, veja novamente o resultado da porta série para identificar onde o processo de arranque está a falhar. Repita o processo de resolução de problemas até corrigir os problemas com a imagem do disco de arranque.