Aggiungi un Persistent Disk a una VM TPU
Una VM TPU include un disco di avvio da 100 GB. In alcuni scenari, la VM TPU potrebbe richiedere spazio di archiviazione aggiuntivo per l'addestramento o la pre-elaborazione. Puoi aggiungere un disco permanente per espandere la capacità del disco locale.
Panoramica
È possibile collegare un Persistent Disk a una TPU per dispositivo singolo (v2-8, v3-8, v4-8 e così via)
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:
- Crea un disco permanente
- Collega un Persistent Disk a una VM TPU
- Installare il disco permanente
- Pulisci le risorse VM TPU e Persistent Disk
Configurazione di una VM TPU e di un Persistent Disk
Puoi collegare un Persistent Disk a una VM TPU quando crei la VM TPU. Puoi collegare un Persistent Disk 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 a tua scelta per il Persistent Disk.
disk-size
- Le dimensioni del disco permanente in GB.
zone
- La zona in cui creare il Persistent Disk. Questa operazione deve nella stessa zona usata per creare la TPU.
type
- La
tipo di disco da aggiungere. I tipi supportati sono:
pd-standard
,pd-ssd
opd-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 tua 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
- Il Immagine VM TPU per il tuo framework.
data-disk
- Il nome e la modalità di lettura/scrittura del Persistent Disk a cui collegarlo la 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 flag di comando
tpu-name
- Il nome delle risorse TPU.
zone
- La zona in cui si trova il Cloud TPU.
disk-name
- Il nome del Persistent Disk da collegare alla VM TPU.
mode
- La modalità del disco. La modalità deve essere
read-only
oread-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 flag di comando
vm-instance
- Dopo aver eseguito l'accesso tramite SSH alla VM TPU, la tua shell richiede di includere il tuo ID utente seguito dal nome di un'istanza VM generato (ad esempio, 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 Persistent Disk quando le risorse TPU eliminati.
disk-name
- Un nome per il disco permanente.
Se la VM si arresta per qualsiasi motivo, il disco permanente potrebbe essere disconnesso. Consulta Configurare il montaggio automatico al riavvio del sistema per Persistent Disk da montare automaticamente al riavvio della VM.
Per ulteriori informazioni sull'eliminazione automatica di un disco permanente, consulta Modificare un disco permanente.
Monta un Persistent Disk
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.
Connettiti alla VM TPU tramite SSH:
$ gcloud compute tpus tpu-vm ssh tpu-name --zone zone
Quando si lavora con un pod di 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).
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 esdb
è il nome del Persistent Disk collegato. Il nome del disco permanente collegato dipende dal numero di dischi permanenti collegati alla VM.Quando utilizzi un pod di TPU, devi montare il Persistent Disk su tutte le TPU nel tuo pod. Il nome del disco permanente dovrebbe essere lo stesso per tutte le VM TPU, ma non è garantito. Ad esempio, se scolleghi un'app e poi ricollega il Persistent Disk, il nome del dispositivo verrà incrementato, dalle ore
sdb
alle oresdc
.Se il disco non è stato formattato, formatta ora il Persistent Disk collegato:
(vm)$ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
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"
Monta il Persistent Disk:
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"
Esegui la pulizia
Al termine, elimina le risorse TPU.
Disconnettiti dall'istanza Compute Engine, se non l'hai già fatto. Fatto:
(vm)$ exit
Il tuo prompt ora dovrebbe essere
username@projectname
, a indicare che ti trovi in in Cloud Shell.Elimina le tue risorse Cloud TPU e Compute Engine.
$ gcloud compute tpus tpu-vm delete tpu-name \ --zone=zone
Verifica che le risorse siano state eliminate eseguendo
gcloud list
. La l'eliminazione potrebbe richiedere diversi minuti. L'output digcloud list
non deve visualizzare nessuna delle risorse VM TPU create da questa procedura.$ gcloud compute tpus tpu-vm list --zone=zone
Verifica che il Persistent Disk sia stato eliminato automaticamente quando La VM TPU è stata eliminata elencando tutti i dischi nella zona in cui hai creato il Persistent Disk:
$ gcloud compute disks list --filter="zone:( us-central1-b )"
Se il disco permanente non è stato eliminato quando è stata eliminata la VM TPU, utilizza i seguenti comandi per eliminarlo:
$ gcloud compute disks delete disk-name \ --zone zone