Scollegamento e ricollegamento di dischi

Questo documento descrive come collegare e ricollegare dischi di avvio e non di avvio alle istanze bare metal e di macchine virtuali (VM) di Compute Engine.

Scollegare il disco di avvio di un'istanza ti consente di completare le seguenti attività senza dover ricreare l'istanza:

  • Sostituire il disco di avvio di un'istanza con un disco diverso
  • Riparare il disco di avvio di un'istanza collegandolo temporaneamente a un'altra istanza

Scollegare un disco non di avvio da un'istanza e collegarlo a un'altra consente di utilizzare i dati sul disco dalla seconda istanza senza doverli copiare su un nuovo disco.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Seleziona la scheda relativa alla modalità di utilizzo degli esempi in questa pagina:

    Console

    Quando utilizzi la Google Cloud console per accedere a Google Cloud servizi e API, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  • Imposta una regione e una zona predefinite.
  • REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI.

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella Google Cloud documentazione sull'autenticazione di.

Autorizzazioni richieste per questa attività

Per eseguire questa attività, devi disporre delle seguenti autorizzazioni:

  • compute.instances.detachDisk sull'istanza
  • compute.instances.attachDisk sull'istanza

Spostare un disco di avvio tra le istanze

Prima di spostare un disco di avvio tra istanze che utilizzano serie di macchine diverse, verifica che l'architettura del disco di avvio di entrambe le istanze corrisponda. Ad esempio, non puoi collegare un disco di avvio da un'istanza C4A a un'istanza C4 perché C4A e C4 utilizzano rispettivamente le architetture Arm e x86. Per determinare l' architettura di una serie di macchine, consulta la riga Architettura nella tabella di confronto delle serie di macchine.

Per ulteriori fattori da considerare quando sposti un disco di avvio tra le serie di macchine, consulta Sposta il workload in una nuova istanza di computing.

Limitazioni

  • L'architettura del disco di avvio deve corrispondere a quella dell'istanza. Ad esempio, non puoi collegare un disco di avvio che utilizza x86 a un'istanza Arm.
  • Puoi collegare o scollegare un disco di avvio solo da un' istanza VM arrestata.
  • Puoi collegare un solo disco di avvio per istanza VM.
  • Se utilizzi gcloud CLI o REST, puoi collegare solo i dischi di avvio esistenti a un'istanza VM.
  • Non puoi scollegare un disco SSD locale da un'istanza. Puoi collegare i dischi SSD locali a un'istanza solo quando crei l'istanza.

Scollegare un disco di avvio

Prima di scollegare il disco di avvio dall'istanza VM, devi arrestare l'istanza. Non è necessario smontare il disco.

Console

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Se richiesto, seleziona il progetto e fai clic su Continua.
  3. Fai clic sull'istanza per cui vuoi scollegare il disco di avvio.
  4. Fai clic su Arresta per arrestare la VM. Se non è presente l'opzione Arresta, fai clic su Altre azioni > Arresta.
  5. Fai clic su Modifica.
  6. Nella sezione Disco di avvio, fai clic su Scollega disco di avvio.
  7. Fai clic su Salva.

gcloud

Utilizza il gcloud compute instances detach-disk comando per scollegare il disco di avvio dall'istanza:

gcloud compute instances detach-disk INSTANCE_NAME \
    --disk=DISK_NAME

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza.
  • DISK_NAME: il nome del disco da scollegare. Di solito il nome del disco è uguale al nome dell'istanza.

REST

Crea una richiesta POST per scollegare il disco:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto.
  • INSTANCE_NAME: il nome dell'istanza.
  • ZONE: la zona in cui si trova l'istanza.
  • DISK_NAME: il nome del disco da scollegare. Di solito il nome del disco è uguale al nome dell'istanza.

Ricollegare un disco di avvio

Qualsiasi disco può essere ricollegato come disco di avvio a un'istanza, a condizione che l'istanza non abbia già un disco di avvio collegato e che il disco di avvio si trovi nella stessa zona dell'istanza VM. Se personalizzi un disco di avvio, devi assicurarti che si avvii correttamente dopo il collegamento.

Sia il disco esistente sia il nuovo disco devono essere compatibili con UEFI o meno. Per creare un disco compatibile con UEFI, utilizza il comando gcloud compute disk create con il flag --guest-os-features impostato su UEFI_COMPATIBLE.

Console

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Se richiesto, seleziona il progetto e fai clic su Continua.
  3. Fai clic sull'istanza per cui vuoi collegare il disco di avvio.
  4. Se la VM è in esecuzione, fai clic su Arresta per arrestarla. Se non è presente l'opzione Arresta, fai clic su Altre azioni > Arresta.
  5. Fai clic su Modifica.
  6. Vai alla sezione Disco di avvio.
  7. Fai clic su Aggiungi elemento.
  8. Seleziona un disco di avvio dal menu a discesa.
  9. Fai clic su Salva.

gcloud

Utilizza il gcloud compute instances attach-disk comando per collegare o ricollegare un disco di avvio a un'istanza VM. Includi il --boot flag per indicare che il disco viene utilizzato come disco di avvio per l'istanza. Se questo flag non è presente, il disco viene collegato come disco dati non di avvio.

gcloud compute instances attach-disk INSTANCE_NAME \
    --disk=DISK_NAME \
    --boot

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza.
  • DISK_NAME: il nome del disco da collegare. Il nome del disco può essere uguale al nome dell'istanza.

REST

Crea una richiesta POST per collegare il disco. Includi il parametro facoltativo "boot": true per indicare che questo disco è il disco di avvio. Se questo parametro non è presente, il disco viene collegato come disco dati non di avvio.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
{
 "boot": true,
 "source": "zones/ZONE/disks/DISK_NAME"
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto.
  • INSTANCE_NAME: il nome dell'istanza a cui stai collegando il nuovo Persistent Disk.
  • ZONE: la zona in cui si trovano l'istanza e il nuovo disco.
  • DISK_NAME: il nome del nuovo disco.

Dopo aver collegato il disco all'istanza VM, riavvia l'istanza.

Aggiornare un disco di avvio per un'istanza

Puoi utilizzare solo la Google Cloud console per aggiornare il disco di avvio di una VM in un unico passaggio. In particolare, puoi scollegare un disco di avvio esistente e collegarne uno nuovo come un'unica azione.

Questa funzionalità non è disponibile tramite gcloud CLI o REST.

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Se richiesto, seleziona il progetto e fai clic su Continua.
  3. Fai clic sull'istanza per cui vuoi collegare il disco di avvio.
  4. Se la VM è in esecuzione, fai clic su Arresta per arrestarla. Se non è presente l'opzione Arresta, fai clic su Altre azioni > Arresta.
  5. Fai clic su Modifica nella parte superiore della pagina.
  6. Nella sezione Disco di avvio, fai clic su Scollega disco di avvio.
  7. Fai clic su Aggiungi elemento.
  8. Seleziona un disco di avvio dal menu a discesa.
  9. Fai clic su Salva.

La Google Cloud console procede a scollegare il disco di avvio esistente e a collegare il nuovo disco di avvio che hai specificato. Al termine di questa procedura, riavvia l'istanza VM.

Collegare un disco non di avvio a un'istanza

Per istruzioni dettagliate su come collegare un disco non di avvio nuovo o esistente a un'istanza in esecuzione, consulta Collegare un disco a un'istanza.

Scollegare un disco non di avvio da un'istanza

Non è necessario arrestare un'istanza per scollegare un disco non di avvio. Puoi eseguire queste operazioni mentre l'istanza è in esecuzione.

Console

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sull'istanza da cui vuoi scollegare il disco.
  3. Fai clic su Modifica.
  4. Nella sezione Dischi aggiuntivi, individua il disco che vuoi scollegare e fai clic su close Rimuovi disco.
  5. Fai clic su Salva.

gcloud

Utilizza il comando gcloud compute instances detach-disk:

 gcloud compute instances detach-disk INSTANCE_NAME \
   DISK_OR_DEVICE_NAME --disk-scope DISK_SCOPE

Sostituisci quanto segue:

  • INSTANCE_NAME: il nome dell'istanza.
  • DISK_OR_DEVICE_NAME: il nome del disco o il nome del dispositivo specificato durante la creazione del disco. Il nome del dispositivo è il nome utilizzato dal sistema operativo per identificare il disco. Se hai fornito un nome dispositivo per il disco, devi specificarlo con il flag --device-name.

    • Per specificare il nome del disco, specifica --disk=DISK_NAME, dove DISK_NAME è il nome del disco, ad esempio my-data-disk.
    • Per specificare il nome del dispositivo, specifica --device-name=DEVICE_NAME, dove DEVICE_NAME è il nome del dispositivo che hai fornito per il disco.

      Per trovare il nome del dispositivo del disco, esegui il gcloud compute instances describe comando. Ad esempio, per stampare un elenco dei dischi collegati dell'istanza in formato JSON, esegui gcloud compute instances describe INSTANCE_NAME --format="json(disks)".

  • DISK_SCOPE: l'ambito del disco. Per un disco a livello di zona, specifica zonal. Per un disco a livello di regione, specifica regional.

REST

Crea una richiesta POST al metodo instances.detachDisk.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DEVICE_NAME

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto.
  • INSTANCE_NAME: il nome dell'istanza.
  • ZONE: la zona in cui si trova l'istanza.
  • DEVICE_NAME: il nome del dispositivo del disco. Per trovare il nome del dispositivo del disco, crea una GET richiesta alla instances risorsa per visualizzare i dischi collegati e i nomi dei dispositivi.

Passaggi successivi