O Google-compute-engine não está inicializando corretamente, incapaz de acessar o SSH

1

Minha instância no Google Compute Engine não está sendo inicializada corretamente, o que não é possível para o SSH. Eu tenho um monte de coisas na instância. Como posso recuperar isso?

Os logs são os seguintes. Quando eu tento se está na rede do Windows eu recebo o nat IP, mas não consigo SSH que estava funcionando bem. Nem eu posso SSH do navegador.

[    0.519999] md: autorun ...
[    0.520794] md: ... autorun DONE.
[    0.521761] VFS: Cannot open root device "sda1" or unknown-block(0,0): error -6
[    0.523744] Please append a correct "root=" boot option; here are the available partitions:
[    0.525886] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    0.527829] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.19.0-25-generic #26~14.04.1-Ubuntu
[    0.529875] Hardware name: Google Google, BIOS Google 01/01/2011
[    1.656059] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
    
por user311640 16.09.2015 / 17:18

2 respostas

4

Durante a migração do teste para o usuário pago, perdi minha instância em execução com sintomas semelhantes. No entanto, e no meu caso, o "flag" auto-delete o disco ao excluir a instância foi verificado, o que estava me impedindo de usar o método descrito acima. Então, aqui está como consegui recuperar minha unidade:

Em primeiro lugar, não exclua sua instância corrompida. Você precisará disso.

  1. No seu console principal, identifique o nome do disco correspondente à instância corrompida: " gcloud compute disks list "
  2. Crie um instantâneo da unidade que parece estar corrompido: gcloud compute disks instantâneo my-disk-1 --snapshot-names snapshot-1
  3. Crie e inicialize uma instância a partir do instantâneo recém-criado ( certifique-se de desativar o sinalizador de exclusão automática ao criar a nova instância ). É provável que a instância recém-criada tenha o mesmo problema de inicialização que o original. Tudo bem, desta vez, porque agora você poderá encerrar e excluir essa instância sem perder a unidade, que agora deve estar disponível ao listar com a lista de discos gcloud compute (digamos: new_disk).
  4. Depois que a instância for excluída, você deverá ter uma nova unidade montável. Para isso, crie uma terceira instância com características de SO semelhantes às originais.
  5. No console do Google Cloud e usando o comando gcloud, anexe a unidade a essa nova instância (por exemplo, ubuntu-trusty-3). gcloud compute instância attach-disk ubuntu-trusty-3 - disco DISK --device-name new_disk Agora você deve ter duas unidades disponíveis nessa instância.

$ sudo blkid /dev/sda1: LABEL="cloudimg-rootfs" UUID="87f65d22-c9a9-428c-b1ab-b4ad9f8e4c05" TYPE="ext4" /dev/sdb1: LABEL="cloudimg-rootfs" UUID="87f65d22-c9a9-428c-b1ab-b4ad9f8e4c05" TYPE="ext4"

  1. Reinicialize essa instância se a unidade não aparecer (sudo blkid).

Veja como ficou no meu: painel

No meu caso, para minha maior surpresa o kernel inicializou a partir da unidade recuperada (gmap-server) e eu estava de volta aos negócios. Não tenho ideia de como o kernel escolheu este, comparado ao criado na criação da instância. Se alguém souber, por favor, ligue aqui.

    
por 18.02.2016 / 15:06
-1

Pode ser um problema com o / etc / fstab em que o UUID não corresponde ao UUID do disco, portanto, o sistema operacional não pode montar o disco com o UUID correto.

Para fazer as alterações necessárias em / etc / fstab no disco de inicialização, você pode seguir os passos abaixo:

  1. Exclua sua instância SEM excluir seu disco de inicialização (é uma boa ideia tirar um instantâneo do disco antes de excluir a instância, para que você tenha um backup para recuperar).
  2. Crie uma instância temporária e anexe o disco de inicialização em questão como um disco secundário.
  3. SSH para esta instância e execute $ sudo blkid para obter o UUID do disco secundário.
  4. Monte o disco secundário.
  5. Agora você pode modificar o / DISK-MOUNT-PATH / etc / fstab no disco secundário.
  6. Salve as alterações e encerre a instância.
  7. Depois de concluído, você pode excluir a instância temporária e criar uma nova instância com o disco original.

Espero que ajude.

    
por 17.09.2015 / 19:25