Errori di quota
Se si verifica un errore di quota quando provi ad avviare un'istanza, devi richiedere una quota CPU aggiuntiva. Per ulteriori informazioni, consulta la sezione Istanze VM della documentazione sulle quote delle risorse.
Dischi di avvio
Se l'istanza non si avvia e non riesci a connetterti all'istanza o ad accedere tramite la console seriale interattiva, identifica il motivo per cui il disco di avvio non completa il processo di avvio e avvio.
Identifica il motivo per cui il disco di avvio non si avvia
Verifica che il disco di avvio non sia pieno.
Se il disco di avvio è completamente pieno e il sistema operativo non supporta il ridimensionamento automatico, non potrai connetterti all'istanza. Devi creare una nuova istanza e ricreare il disco di avvio. Per ulteriori informazioni, consulta Recupero delle VM o dei dischi di avvio completi.
Esamina l'output della porta seriale dell'istanza della macchina virtuale.
Il BIOS, il bootloader e il kernel di un'istanza stampano i relativi messaggi di debug nell'output della porta seriale dell'istanza, fornendo informazioni preziose su eventuali errori o problemi riscontrati dall'istanza. Se abiliti il logging degli output della porta seriale in Cloud Logging, puoi accedere a queste informazioni anche quando l'istanza non è in esecuzione.
Abilita l'accesso interattivo alla console seriale.
Puoi abilitare l'accesso interattivo alla console seriale di un'istanza, in modo da poter accedere ed eseguire il debug dei problemi di avvio dall'interno dell'istanza senza che sia necessario che quest'ultima sia completamente avviata. Per maggiori informazioni, consulta la sezione Risoluzione dei problemi utilizzando la console seriale.
Verifica che la clonazione del disco di avvio non sia in corso
Se è in corso la clonazione del disco di avvio, non puoi avviare la VM e viene visualizzato un errore simile al seguente.
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'
Attendi il completamento del clone, quindi avvia la VM.
Verifica che lo snapshot del disco di avvio non sia in corso
Se è in corso un'istantanea del disco di avvio, non puoi avviare la VM e viene visualizzato un errore simile al seguente:
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'
Attendi il completamento dello snapshot, quindi avvia la VM.
Verifica che sul disco sia presente un file system valido.
Se il file system è danneggiato o non è valido in altro modo, non potrai avviare l'istanza. Convalida il file system del tuo disco:
Scollega il disco in questione da qualsiasi istanza a cui è collegato, se applicabile:
gcloud compute instances delete old-instance --keep-disks boot
Avvia una nuova istanza con l'ultima immagine fornita da Google:
gcloud compute instances create debug-instance
Collega il disco come disco non di avvio, ma non montarlo. Sostituisci
DISK
con il nome del disco che non si avvia. Prendi nota del nome del dispositivo che identifica il disco nell'istanza:gcloud compute instances attach-disk debug-instance \ --disk DISK \ --device-name debug-disk
Connettiti all'istanza:
gcloud compute ssh debug-instance
Cerca la partizione radice del disco, identificata con la notazione
part1
. In questo caso, la partizione radice del disco è in/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
Esegui un controllo del file system sulla partizione principale:
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
Monta il file system:
sudo mkdir /mydisk
sudo mount /dev/sdb1 /mydisk
Verifica che il disco contenga file del kernel:
ls /mydisk/boot/vmlinuz-* /mydisk/boot/vmlinuz-3.2.0-4-amd64
Verifica che il disco abbia un record di avvio master (MBR) valido.
Esegui questo comando sull'istanza di debug a cui è collegato il disco di avvio permanente, ad esempio
/dev/sdb
:sudo parted /dev/sdb print
Se il tuo MBR è valido, vengono elencate informazioni sul file system:
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
Risolvi il problema di avvio
Dopo aver identificato il punto in cui il processo di avvio e di avvio non funziona, puoi correggere il problema completando una delle seguenti azioni:
Utilizza l'immagine importata per creare un disco di avvio autonomo
Ricomincia e importa l'immagine disco di avvio
Creazione di un disco di avvio autonomo
Monta l'immagine importata su un disco secondario collegato a un'istanza VM temporanea. Utilizza la console Google Cloud o gcloud CLI per creare un disco autonomo dall'immagine che hai caricato e creare una VM temporanea con il disco autonomo collegato. Puoi utilizzare questa istanza per modificare i file sul disco autonomo e risolvere i problemi che impediscono l'avvio dell'immagine.
Console
Crea un disco autonomo dall'immagine del disco di avvio importata. In alternativa, puoi scollegare un disco di avvio da un'istanza e creare l'istanza utilizzando invece quel disco di avvio scollegato.
- Nella console Google Cloud, vai alla pagina Dischi.
- Fai clic su Crea disco.
-
Nella pagina Crea un disco,
specifica i seguenti attributi:
-
Zona:
Select a zone near you. You must use this same zone when you create your temporary instance.
- Tipo di disco di origine: Immagine
- Immagine di origine: Specify the name of the boot disk image that you imported.
-
Zona:
- Per creare il disco, fai clic su Crea.
Crea un'istanza temporanea in cui puoi collegare il disco autonomo e configurare il bootloader in modo che funzioni in un ambiente della console Google Cloud.
Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic sul pulsante Crea istanza.
Nella pagina Crea un'istanza, specifica un nome istanza e una zona in cui individuare l'istanza. La zona deve essere la stessa in cui hai creato il disco autonomo.
Espandi la sezione Gestione, sicurezza, dischi, networking, single-tenancy.
Nella scheda Dischi nella sezione Dischi aggiuntivi, fai clic su Collega disco esistente. Viene visualizzata una nuova sezione.
Nella sezione Disco, seleziona il disco autonomo che hai creato dall'elenco a discesa. Il disco autonomo viene collegato all'istanza, in modo che tu possa montarlo e modificarne i contenuti in un secondo momento.
Fai clic su Fine per completare il collegamento del disco.
Fai clic sul pulsante Crea per creare l'istanza.
gcloud
Crea un disco autonomo dall'immagine del disco di avvio importata. In alternativa, puoi scollegare un disco di avvio da un'istanza e creare l'istanza utilizzando invece quel disco di avvio scollegato.
gcloud compute disks create DISK_NAME \ --zone=ZONE \ --image=IMAGE_NAME
Sostituisci quanto segue:
DISK_NAME
: il nome del nuovo disco autonomo.
: una zona nelle vicinanze. Devi utilizzare la stessa zona quando crei l'istanza temporanea.ZONE
IMAGE_NAME
: il nome dell'immagine del disco di avvio importata.
Crea un'istanza temporanea in cui puoi collegare il disco autonomo e configurare il bootloader in modo che funzioni in un ambiente della console Google Cloud.
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --disk name=DISK_NAME
Sostituisci quanto segue:
INSTANCE_NAME
: un nome univoco per l'istanzaZONE
: la zona in cui hai creato il disco autonomoDISK_NAME
: il nome del disco autonomo che hai creato dall'immagine disco di avvio importata
Dopo aver creato l'istanza con il disco autonomo collegato, avrai un ambiente virtuale in cui puoi modificare il bootloader dall'immagine del disco di avvio originale.
Configurazione del disco di avvio
Connettiti all'istanza, monta il disco autonomo e configura il bootloader in modo che si avvii correttamente in Compute Engine.
- Connettiti all'istanza temporanea utilizzando SSH nel browser o il comando
gcloud compute ssh
. Utilizza il comando
blkid
per identificare il disco da modificare e le partizioni da montare. In questo esempio,/dev/sdb
è il disco che hai importato.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
Monta la partizione radice dal disco autonomo alla directory
/tmp
. In questo esempio,/dev/sdb1
è la partizione radice e le altre partizioni non richiedono alcuna modifica. Lo schema di partizione potrebbe richiedere il montaggio di più partizioni prima di poter accedere a tutti i file che devi modificare.sudo mount /dev/sdb1 /tmp
Modifica i file che potrebbero causare un errore nel processo di avvio del disco. Per ulteriori informazioni, consulta le istruzioni per la configurazione del bootloader.
Smonta il disco di avvio dall'istanza temporanea.
sudo umount /tmp
Utilizzo del disco di avvio
Dopo aver completato la configurazione di questo disco, scollegalo e utilizzalo come disco di avvio per la nuova istanza.
Console
Scollega il disco autonomo dall'istanza temporanea.
Nella console Google Cloud, vai alla pagina Istanze VM.
Nell'elenco delle istanze, fai clic sul nome dell'istanza temporanea in cui hai modificato il disco di avvio autonomo. Si apre la pagina dei dettagli dell'istanza.
Nella parte superiore della pagina dei dettagli dell'istanza, fai clic su Modifica.
In Dischi aggiuntivi, fai clic sulla X accanto al disco autonomo per indicare che vuoi scollegarlo dall'istanza temporanea.
Fai clic su Salva per salvare le modifiche.
Utilizza il disco autonomo scollegato per creare un'istanza.
Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic sul pulsante Crea istanza.
Nella pagina Crea un'istanza, specifica un nome istanza e una zona in cui individuare l'istanza. La zona deve essere la stessa in cui hai creato il disco autonomo.
In Disco di avvio, fai clic su Cambia per iniziare a configurare il disco di avvio.
Nella scheda Dischi esistenti, scegli il disco di avvio autonomo da utilizzare come disco di avvio per la nuova istanza.
Fai clic sul pulsante Crea per creare l'istanza.
gcloud
Scollega il disco autonomo dall'istanza temporanea.
gcloud compute instances detach-disk INSTANCE_NAME \ --disk name=DISK_NAME
Sostituisci quanto segue:
INSTANCE_NAME
: nome univoco dell'istanza.DISK_NAME
: il nome del nuovo disco autonomo.
Utilizza il disco autonomo scollegato per creare un'istanza.
gcloud compute instances create INSTANCE_NAME \ --zone ZONE \ --disk name=DISK_NAME,boot=yes
Sostituisci quanto segue:
INSTANCE_NAME
: un nome univoco per l'istanzaZONE
: la zona in cui si trova il disco autonomoDISK_NAME
: il nome del disco autonomo che hai creato dall'immagine disco di avvio importata
Verifica l'istanza che hai creato utilizzando il disco di avvio modificato. Se ancora non riesci a connetterti all'istanza, visualizza di nuovo l'output della porta seriale per identificare il punto in cui il processo di avvio non riesce. Ripeti la procedura di risoluzione dei problemi finché non correggi i problemi con l'immagine del disco di avvio.