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) Compute Engine.

Il distacco del disco di avvio di un'istanza ti aiuta a completare le seguenti attività senza dover ricreare l'istanza:

  • Sostituire il disco di avvio di un'istanza con un altro disco
  • Ripara il disco di avvio di un'istanza collegandolo temporaneamente a un'altra istanza

Se scolleghi un disco non di avvio da un'istanza e lo colleghi a un'altra, puoi 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 a come prevedi di utilizzare i campioni in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle 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 documentazione sull'autenticazione di Google Cloud .

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 Confronto tra serie di macchine.

Per ulteriori fattori da considerare quando sposti un disco di avvio tra 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 dischi di avvio esistenti a un'istanza VM.
  • Non puoi scollegare un disco SSD locale da un'istanza. Puoi collegare dischi SSD locali a un'istanza solo quando la crei.

Scollega 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 comando gcloud compute instances detach-disk 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. Il nome del disco è in genere 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. Il nome del disco è in genere uguale al nome dell'istanza.

Ricollega un disco di avvio

Qualsiasi disco può essere ricollegato a un'istanza come disco di avvio, 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 che quello nuovo 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 a 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 comando gcloud compute instances attach-disk per collegare o ricollegare un disco di avvio a un'istanza VM. Includi il flag --boot per indicare che il disco viene utilizzato come disco di avvio dell'istanza. Se questo flag è assente, il disco viene collegato come disco di 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 potrebbe 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 è assente, il disco viene collegato come disco di 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 colleghi 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.

Aggiorna un disco di avvio per un'istanza

Puoi utilizzare solo la console Google Cloud 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 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 a 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 specificato. Al termine della procedura, riavvia l'istanza VM.

Collega 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, vedi Collegare un disco a un'istanza.

Scollega 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 da scollegare e fai clic su chiudi 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 comando gcloud compute instances describe. Ad esempio, per stampare un elenco dei dischi collegati all'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, invia una richiesta GET alla risorsa instances per visualizzare i dischi collegati e i nomi dei dispositivi.

Passaggi successivi