Se la VM Linux non è accessibile per qualsiasi motivo, puoi provare a recuperarla seguendo i passaggi che seguono.
Ruoli obbligatori
Per ottenere le autorizzazioni di cui hai bisogno per recuperare una VM, chiedi all'amministratore di concederti seguenti ruoli IAM sul progetto:
-
Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) -
VM che utilizzano un account di servizio:
Utente account di servizio (
roles/iam.serviceAccountUser
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti le autorizzazioni necessarie per recuperare una VM. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per recuperare una VM sono necessarie le seguenti autorizzazioni:
-
compute.instances.create
del progetto -
compute.disks.create
nel progetto -
compute.instances.get
nel progetto -
compute.disks.createSnapshot
su dischi -
compute.instances.attachDisk
sulla nuova VM -
compute.disks.use
su disco -
compute.instances.start
su una VM nuova e inaccessibile -
compute.instances.stop
su una VM nuova e inaccessibile
Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.
Salva una VM
Se non riesci a connetterti alla VM o se il disco di avvio è pieno, devi una VM temporanea per recuperare la VM inaccessibile.
- (Facoltativo) Arresta la VM inaccessibile.
- Crea uno snapshot dal disco di avvio della VM inaccessibile.
- Crea una VM temporanea utilizzando un'immagine pubblica più simile al sistema operativo della VM inaccessibile.
- Verifica di essere in grado di connetterti alla VM temporanea tramite SSH.
Aggiungi un disco aggiuntivo alla VM temporanea seguendo questa procedura:
Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic sul nome della VM temporanea che hai creato.
Fai clic su
Modifica.In Dischi aggiuntivi, fai clic su
Aggiungi nuovo disco e poi:- Aggiungi il nome del disco, ad esempio my-recovery-disk
- In Tipo di origine, seleziona la scheda Snapshot.
- Nel menu a discesa Istantanea di origine, seleziona l'istantanea del VM di origine che hai creato in precedenza in questi passaggi.
- Fai clic su Fine.
Fai clic su Salva.
Connettiti alla VM temporanea utilizzando SSH.
Esegui questo comando:
ls -l /dev/disk/by-id/google-*
L'output sarà simile al seguente:
/dev/disk/by-id/google-my-vm -> ../../sda /dev/disk/by-id/google-my-vm-part1 -> ../../sda1 /dev/disk/by-id/google-my-vm-part14 -> ../../sda14 /dev/disk/by-id/google-my-vm-part15 -> ../../sda15 /dev/disk/by-id/google-my-recovery-disk -> ../../sdb /dev/disk/by-id/google-my-recovery-disk-part1 -> ../../sdb1 /dev/disk/by-id/google-my-recovery-disk-part2 -> ../../sdb2 /dev/disk/by-id/google-my-recovery-disk-part5 -> ../../sdb5
Utilizza i link simbolici (
/dev/disk/by-id/google-my-recovery-disk-partN
) per individuare il dispositivo e le partizioni sottostanti per il disco appena aggiunto, ad esempio/dev/sdb1
.Il link simbolico per il disco è google-DISK_NAME o, se ha specificato un nome dispositivo personalizzato per il disco, google-DEVICE_NAME. Prendi nota del nome del dispositivo a cui punta il nuovo collegamento simbolico del disco.
Crea un punto di montaggio in
/mnt/newdisk
:sudo mkdir /mnt/newdisk
Monta la partizione del disco aggiuntivo sul punto di montaggio
/mnt/newdisk
:sudo mount -o discard,defaults DISK_NAME /mnt/newdisk
Sostituisci DISK_NAME con il nome del dispositivo che hai annotato in precedenza in questi passaggi, ad esempio
/dev/sdb1
.Se viene visualizzato l'errore
Filesystem has duplicate UUID XXXXXX - can't mount
,mount: /mnt/newdisk: wrong fs type, bad option
obad superblock on /dev/sdb
, utilizza il seguente comando:sudo mount -o nouuid DISK_NAME /mnt/newdisk
Il file system della VM inaccessibile è ora montato in
/mnt/newdisk
. Puoi esplora il file system, modifica i file di configurazione, risolvi i problemi o recupera i e i dati di Google Cloud.
Ripristina le modifiche e riavvia la VM inaccessibile
Una volta risolto il problema o recuperati i dati, devi ripristinare la VM effettiva. Per ripristinare la VM originale:
Smonta il disco aggiuntivo montato in
/mnt/newdisk
nella VM temporanea:cd ~ sudo umount /mnt/newdisk
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona la VM temporanea che hai creato.
Fai clic su
Modifica.In Dischi aggiuntivi, fai clic su
per il disco creato nei passaggi precedenti per scollegare il disco aggiuntivo dalla VM temporanea.Fai clic su Salva.
Vai alla pagina Istanze VM nella console Google Cloud.
Se la VM non accessibile è ancora in esecuzione, interrompila.
Fai clic sul nome della VM appena arrestata, quindi
Modifica.In Disco di avvio, fai clic su
Scollega il disco del libro per scollegare il disco di avvio in uscita la VM inaccessibile.Poi, fai clic su Recupero di una VM in questa pagina.
CONFIGURA BOOT per collegare il disco che hai creato e riparato in precedenza in- Nella sezione Disco di avvio, fai clic sulla scheda Dischi esistenti.
- Nell'elenco a discesa, seleziona il disco creato nella sezione precedente, ad esempio
my-recovery-disk
. - Fai clic su Seleziona e poi su Salva.
Ora dovresti essere in grado di connetterti alla VM tramite SSH.