Aggiungi un Persistent Disk a una VM TPU

Una VM TPU include un disco di avvio da 100 GB. Per alcuni scenari, la VM TPU potrebbe richiedere spazio di archiviazione aggiuntivo per l'addestramento o la preelaborazione. Puoi aggiungere un disco permanente per espandere la capacità del disco locale.

Panoramica

Un disco permanente collegato a una TPU per singolo dispositivo (v2-8, v3-8, v4-8 e così via) può essere configurato come read-write o read-only. Quando colleghi un disco permanente a una VM TPU che fa parte di un pod TPU, il disco viene collegato a ogni VM TPU del pod. a evitare che due o più VM TPU di un pod scrivano in un Persistent Disk. tutti i dischi permanenti collegati a una VM TPU in un pod devono essere configurati come read-only. read-only disco è utile per archiviare un set di dati per l'elaborazione su un pod di TPU.

Dopo aver creato e collegato un Persistent Disk alla VM TPU, devi montare il Persistent Disk, specificando la posizione nel file system in cui sono accessibili. Per ulteriori informazioni, consulta la sezione Installare un disco.

Prerequisiti

Devi aver configurato un account e un progetto Google Cloud prima di utilizzare le seguenti procedure. Se non hai ancora configurato un progetto Cloud TPU, segui la procedura descritta in Configurare l'ambiente Cloud TPU prima di continuare.

Passi di alto livello

I passaggi di alto livello per configurare un disco permanente:

  1. Creare un disco permanente
  2. Collegare un disco permanente a una VM TPU
  3. Monta il disco permanente
  4. Pulisci le risorse VM TPU e Persistent Disk

Configurazione di una VM TPU e di un disco permanente

Puoi collegare un disco permanente a una VM TPU quando la crei. Puoi anche collegare un disco permanente a una VM TPU esistente.

Creazione di un disco permanente

Usa il comando seguente per creare un Persistent Disk:

  $ gcloud compute disks create disk-name \
    --size disk-size  \
    --zone zone \
    --type pd-balanced

Descrizioni flag di comando

disk-name
Un nome scelto da te per il disco permanente.
disk-size
Le dimensioni del Persistent Disk in GB.
zone
La zona in cui creare il disco permanente. Questa operazione deve nella stessa zona usata per creare la TPU.
type
Il tipo di disco da aggiungere. I tipi supportati sono: pd-standard, pd-ssd o pd-balanced.

Collega un Persistent Disk

Puoi collegare un Persistent Disk alla VM TPU quando crei VM TPU o puoi aggiungerne una dopo la creazione della VM TPU.

Collega un Persistent Disk quando crei una VM TPU

Utilizza il flag --data-disk per collegare un Persistent Disk quando crei una VM TPU. Se stai creando un pod di TPU, devi specificare mode=read-only. Se creando un singolo dispositivo TPU, puoi specificare mode=read-only o mode=read-write. Il comando seguente crea una singola TPU e imposta la modalità Disco permanente su read-write:

  $ gcloud compute tpus tpu-vm create tpu-name \
    --project project-id \
    --zone=zone \
    --accelerator-type=v3-8 \
    --version=tpu-vm-image \
    --data-disk source=projects/project-id/zones/zone/disks/disk-name,mode=read-write

Descrizioni flag di comando

tpu-name
Il nome che hai scelto per le risorse TPU.
project
Il tuo ID progetto.
zone
La zona in cui creare la Cloud TPU.
accelerator-type
Il tipo di acceleratore specifica la versione e le dimensioni della Cloud TPU che vuoi creare. Per ulteriori informazioni sui tipi di acceleratori supportati per ogni versione di TPU, vedi Versioni TPU.
version
L'immagine VM TPU per il tuo framework.
data-disk
Il nome e la modalità di lettura/scrittura del disco permanente da collegare alla VM TPU.

Collega un Persistent Disk a una VM TPU esistente

Usa il comando gcloud alpha compute tpus tpu-vm attach-disk per collegare un Persistent Disk su una VM TPU esistente. Consulta la gcloud documentazione per ulteriori dettagli ed esempi.

  $ gcloud alpha compute tpus tpu-vm attach-disk tpu-name \
    --zone=zone \
    --disk=disk-name \
    --mode=disk-mode

Descrizioni dei flag dei comandi

tpu-name
Il nome delle risorse TPU.
zone
La zona in cui si trova Cloud TPU.
disk-name
Il nome del disco permanente da collegare alla VM TPU.
mode
La modalità del disco. La modalità deve essere read-only o read-write.

Se vuoi eliminare il Persistent Disk quando elimini la VM TPU, per impostare lo stato di eliminazione automatica del Persistent Disk utilizzando il seguente comando:

$ gcloud compute instances set-disk-auto-delete vm-instance \
  --zone=zone \
  --auto-delete \
  --disk=disk-name

Descrizioni dei flag dei comandi

vm-instance
Dopo aver eseguito l'accesso tramite SSH alla VM TPU, il prompt della shell cambia per includere il tuo ID utente seguito dal nome dell'istanza VM generata (ad es. pjohnston@t1v-n-...$). Sostituisci vm-instance con generato il nome dell'istanza VM,
zone
La zona in cui si trova il Persistent Disk.
auto-delete
Elimina automaticamente il disco persistente quando vengono eliminate le risorse TPU.
disk-name
Un nome del Persistent Disk.

Se per qualsiasi motivo la VM viene arrestata, il Persistent Disk potrebbe essere disconnesso. Consulta Configurare il montaggio automatico al riavvio del sistema per montare automaticamente il disco permanente al riavvio della VM.

Per ulteriori informazioni sull'eliminazione automatica di un disco permanente, consulta Modificare un disco permanente.

Montare un disco permanente

Per accedere a un Persistent Disk da una VM TPU, devi montare il disco. Questo specifica una posizione nel file system VM TPU in cui il Persistent Disk sono accessibili.

  1. Connettiti alla VM TPU tramite SSH:

    $ gcloud compute tpus tpu-vm ssh tpu-name --zone zone

    Quando utilizzi un pod TPU, è presente una VM TPU per ogni TPU nel pod. Il comando precedente funziona sia per i dispositivi TPU sia per i pod TPU. Se utilizzando i pod TPU, questo comando ti connette alla prima TPU nel pod chiamato worker 0).

  2. Dalla VM TPU, elenca i dischi collegati alla VM TPU:

    (vm)$ sudo lsblk

    L'output del comando lsblk dovrebbe essere simile al seguente:

    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0     7:0    0  55.5M  1 loop /snap/core18/1997
    loop1     7:1    0  67.6M  1 loop /snap/lxd/20326
    loop2     7:2    0  32.3M  1 loop /snap/snapd/11588
    loop3     7:3    0  32.1M  1 loop /snap/snapd/11841
    loop4     7:4    0  55.4M  1 loop /snap/core18/2066
    sda       8:0    0   300G  0 disk
    ├─sda1    8:1    0 299.9G  0 part /
    ├─sda14   8:14   0     4M  0 part
    └─sda15   8:15   0   106M  0 part /boot/efi
    sdb       8:16   0    10G  0 disk    <== Persistent Disk
    

    In questo esempio, sda è il disco di avvio e sdb è il nome del disco permanente appena collegato. Il nome del disco permanente collegato dipende dal numero di dischi permanenti collegati alla VM.

    Quando utilizzi un pod TPU, devi montare il disco permanente su tutte le VM TPU del pod. Il nome del Persistent Disk deve essere uguale per tutti VM TPU, ma non è garantito. Ad esempio, se scolleghi e poi ricolleghi il disco permanente, il nome del dispositivo verrà incrementato, passando da sdb a sdc.

  3. Se il disco non è stato formattato, formatta il disco permanente collegato:

    (vm)$ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
  4. Crea una directory per montare il Persistent Disk:

    Se utilizzi un dispositivo TPU, esegui questo comando per creare una directory per montare il Persistent Disk:

    (vm)$ sudo mkdir -p /mnt/disks/persist

    Se utilizzi un pod di TPU, esegui questo comando all'esterno della VM TPU. Verrà creata la directory su tutte le VM TPU nel pod.

    (vm)$ gcloud compute tpus tpu-vm ssh $TPU_NAME --worker=all --command="sudo mkdir -p /mnt/disks/persist"
  5. Monta il disco permanente:

    Se utilizzi un dispositivo TPU, esegui il seguente comando per montare il disco persistente sulla VM TPU.

    (vm)$ sudo mount -o discard,defaults /dev/sdb /mnt/disks/persist

    Se utilizzi un pod di TPU, esegui questo comando all'esterno VM TPU. Il Persistent Disk verrà montato su tutte le VM TPU nel pod.

    (vm)$ gcloud compute tpus tpu-vm ssh $TPU_NAME --worker=all --command="sudo mount -o discard,defaults /dev/sdb /mnt/disks/persist"

Smonta un disco permanente

Per smontare (scollegare) un disco permanente, esegui il seguente comando:

  $ gcloud alpha compute tpus tpu-vm detach-disk tpu-name \
    --zone=zone \
    --disk=disk-name

Descrizioni dei flag dei comandi

tpu-name
Il nome delle risorse TPU.
zone
La zona in cui si trova il Cloud TPU.
disk-name
Il nome del disco permanente da scollegare dalla VM TPU.

Esegui la pulizia

Al termine, elimina le risorse TPU.

  1. Se non l'hai ancora fatto, disconnettiti dall'istanza Compute Engine:

    (vm)$ exit

    Il tuo prompt dovrebbe ora essere username@projectname, a indicare che ti trovi in Cloud Shell.

  2. Elimina le risorse Cloud TPU e Compute Engine.

    $ gcloud compute tpus tpu-vm delete tpu-name \
     --zone=zone
  3. Verifica che le risorse siano state eliminate eseguendo gcloud list. L'eliminazione potrebbe richiedere alcuni minuti. L'output di gcloud list non deve mostrare nessuna delle risorse VM TPU create da questa procedura.

    $ gcloud compute tpus tpu-vm list --zone=zone
  4. Verifica che il disco permanente sia stato eliminato automaticamente quando è stata eliminata la VM TPU elencando tutti i dischi nella zona in cui hai creato il disco permanente:

    $ gcloud compute disks list --filter="zone:( us-central1-b )"

    Se il Persistent Disk non è stato eliminato quando è stata eliminata la VM TPU, utilizza il metodo seguenti comandi per eliminarlo:

    $ gcloud compute disks delete disk-name \
    --zone zone