Collega l'archiviazione a blocchi durevole a una VM TPU
Una VM TPU include un disco di avvio da 100 GiB. Per alcuni scenari, la VM TPU potrebbe richiedere spazio di archiviazione aggiuntivo per l'addestramento o il pre-elaborazione. Puoi aggiungere un volume Google Cloud Hyperdisk o Persistent Disk (DP) per espandere la capacità del disco locale.
Per ottenere le massime prestazioni e funzionalità avanzate, Google consiglia di utilizzare Hyperdisk, se disponibile per la tua TPU. In caso contrario, utilizza Persistent Disk. Per saperne di più sulle opzioni di archiviazione a blocchi in Compute Engine, consulta Scegliere un tipo di disco.
Supporto TPU per Hyperdisk e Persistent Disk
La tabella seguente mostra i tipi di disco supportati per ogni versione della TPU:
Versione TPU | Tipi di dischi supportati | Numero massimo di PD per VM (incluso il disco di avvio) |
---|---|---|
v6e | Hyperdisk bilanciato Hyperdisk ML |
I PD non sono supportati da v6e |
v5p | Disco permanente bilanciato | 128 |
v5e | Disco permanente bilanciato | 128 |
v4 | Disco permanente bilanciato | 128 |
v3 | Disco permanente bilanciato | 128 |
v2 | Disco permanente bilanciato | 128 |
Modalità di accesso
Puoi configurare un disco collegato a una TPU in modalità di singolo writer o di sola lettura, come mostrato nella tabella seguente:
Modalità di accesso | Descrizione | Valore nell'API Compute Engine | Valore nell'API Cloud TPU | Tipi di dischi supportati |
---|---|---|---|---|
Modalità writer singolo | Questa è la modalità di accesso predefinita. Consente di collegare il disco a un massimo di un'istanza alla volta. L'istanza ha accesso in lettura/scrittura al disco. | READ_WRITE_SINGLE |
read-write |
|
Modalità di sola lettura | Consente collegamenti simultanei a più istanze in modalità di sola lettura. Le istanze non possono scrivere sul disco in questa modalità. Obbligatoria per la condivisione di sola lettura. | READ_ONLY_MANY |
read-only |
|
Puoi configurare un disco collegato a una TPU single-host (ad esempio v6e-8, v5p-8 o v5litepod-8) in modalità single-writer o di sola lettura.
Quando colleghi un disco a una TPU multihost, il disco viene collegato a ogni VM della TPU. Per impedire a due o più VM TPU di scrivere su un disco contemporaneamente, devi configurare tutti i dischi collegati a una TPU multi-host come di sola lettura. I dischi di sola lettura sono utili per archiviare un set di dati per l'elaborazione su uno slice TPU.
Prerequisiti
Prima di utilizzare le procedure seguenti, devi configurare un account e un progetto Google Cloud . Per saperne di più, vedi Configurare l'ambiente Cloud TPU.
Crea un disco
Utilizza il seguente comando per creare un disco:
$ gcloud compute disks create DISK_NAME \ --size DISK_SIZE \ --zone ZONE \ --type DISK_TYPE
Descrizioni dei flag dei comandi
DISK_NAME
- Il nome del nuovo disco.
DISK_SIZE
- Le dimensioni del nuovo disco. Il valore deve essere un numero intero seguito da un'unità di misura delle dimensioni in GB per gibibyte o TB per tebibyte. Se non viene specificata alcuna unità di misura, viene utilizzato il GB.
ZONE
- Il nome della zona in cui creare il nuovo disco. Deve essere la stessa zona utilizzata per creare la TPU.
DISK_TYPE
- Il
tipo di disco. Utilizza uno dei seguenti valori:
hyperdisk-balanced
,hyperdisk-ml
opd-balanced
.
Per Hyperdisk, puoi specificare facoltativamente il flag --access-mode
con uno dei seguenti valori:
READ_WRITE_SINGLE
: accesso in lettura/scrittura da un'istanza. Questa è l'impostazione predefinita.READ_ONLY_MANY
: (solo Hyperdisk ML) Accesso simultaneo di sola lettura da più istanze.
Per saperne di più sulla creazione di dischi, consulta Crea un nuovo volume Hyperdisk e Crea un nuovo volume Persistent Disk.
Collega un disco
Puoi collegare un volume del disco alla tua VM TPU quando crei la VM TPU oppure puoi collegarne uno dopo la creazione della VM TPU.
Collega un disco quando crei una VM TPU
Utilizza il flag --data-disk
per collegare un volume del disco quando crei
una VM TPU.
Se crei una TPU multi-host, devi specificare mode=read-only
(solo Hyperdisk ML e disco permanente bilanciato). Se stai creando una TPU a host singolo, puoi specificare mode=read-only
(solo Hyperdisk ML e disco permanente bilanciato) o mode=read-write
. Per saperne di più, vedi Modalità di accesso.
Il seguente esempio mostra come collegare un volume del disco durante la creazione di una VM TPU utilizzando le risorse in coda:
$ gcloud compute tpus queued-resources create QR_NAME \ --node-id=TPU_NAME --project PROJECT_ID \ --zone=ZONE \ --accelerator-type=ACCELERATOR_TYPE \ --runtime-version=TPU_SOFTWARE_VERSION \ --data-disk source=projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME,mode=MODE
Descrizioni dei flag dei comandi
QR_NAME
- Il nome della richiesta di risorsa in coda.
TPU_NAME
- Il nome della nuova TPU.
PROJECT_ID
- L'ID del progetto Google Cloud in cui creare la TPU.
ZONE
- Il nome della zona in cui creare Cloud TPU.
ACCELERATOR_TYPE
- Il tipo di acceleratore specifica la versione e le dimensioni della Cloud TPU che vuoi creare. Per maggiori informazioni sui tipi di acceleratore supportati per ogni versione di TPU, consulta la sezione Versioni di TPU.
TPU_SOFTWARE_VERSION
- La versione software TPU.
DISK_NAME
- Il nome del disco da collegare alla VM TPU.
MODE
- La modalità del disco. La modalità deve essere una delle seguenti:
read-only
oread-write
. Se non specificato, la modalità predefinita èread-write
. Per maggiori informazioni, vedi Modalità di accesso.
Puoi anche collegare un disco quando crei una VM TPU utilizzando il comando
gcloud compute tpus tpu-vm create
:
$ gcloud compute tpus tpu-vm create TPU_NAME \ --project PROJECT_ID \ --zone=ZONE \ --accelerator-type=ACCELERATOR_TYPE \ --version=TPU_SOFTWARE_VERSION \ --data-disk source=projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME,mode=MODE
Descrizioni dei flag dei comandi
TPU_NAME
- Il nome della nuova TPU.
PROJECT_ID
- L'ID del progetto Google Cloud in cui creare la TPU.
ZONE
- Il nome della zona in cui creare Cloud TPU.
ACCELERATOR_TYPE
- Il tipo di acceleratore specifica la versione e le dimensioni della Cloud TPU che vuoi creare. Per maggiori informazioni sui tipi di acceleratore supportati per ogni versione di TPU, consulta la sezione Versioni di TPU.
TPU_SOFTWARE_VERSION
- La versione software TPU.
DISK_NAME
- Il nome del disco da collegare alla VM TPU.
MODE
- La modalità del disco. La modalità deve essere una delle seguenti:
read-only
oread-write
. Se non specificato, la modalità predefinita èread-write
. Per maggiori informazioni, vedi Modalità di accesso.
Collega un disco a una VM TPU esistente
Utilizza il comando gcloud alpha compute tpus tpu-vm
attach-disk
per collegare un disco a una VM TPU esistente.
$ gcloud alpha compute tpus tpu-vm attach-disk TPU_NAME \ --zone=ZONE \ --disk=DISK_NAME \ --mode=MODE
Descrizioni dei flag dei comandi
TPU_NAME
- Il nome della TPU.
ZONE
- La zona in cui si trova Cloud TPU.
DISK_NAME
- Il nome del disco da collegare alla VM TPU.
MODE
- La modalità del disco. La modalità deve essere una delle seguenti:
read-only
oread-write
. Se non specificato, la modalità predefinita èread-write
. Deve corrispondere alla modalità di accesso del disco.
Se la VM si arresta per qualsiasi motivo, potrebbe essere necessario montare il disco dopo averla riavviata. Per informazioni su come abilitare il montaggio automatico del disco al riavvio della VM, consulta Configurare il montaggio automatico al riavvio del sistema.
Per saperne di più sull'eliminazione automatica di un disco, consulta Modificare un Hyperdisk e Modificare un Persistent Disk.
Formatta e monta un disco
Se hai collegato un nuovo disco vuoto alla tua VM TPU, prima di poterlo utilizzare devi formattarlo e montarlo. Se hai collegato un disco che contiene già dati, devi montarlo prima di poterlo utilizzare.
Per ulteriori informazioni sulla formattazione e sul montaggio di un disco non di avvio, consulta Formattare e montare un disco non di avvio su una VM Linux.
Connettiti alla VM TPU utilizzando SSH:
$ gcloud compute tpus tpu-vm ssh TPU_NAME --zone ZONE
Se utilizzi una TPU multi-host, questo comando ti connetterà alla prima TPU nella slice TPU (chiamata anche worker 0).
Dalla VM TPU, elenca i dischi collegati alla VM TPU:
(vm)$ sudo lsblk
L'output del comando
lsblk
è 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
In questo esempio,
sda
è il disco di avvio esdb
è il nome del disco appena collegato. Il nome del disco collegato dipende dal numero di dischi collegati alla VM.Quando utilizzi una TPU multi-host, devi montare il disco su tutte le VM TPU nella sezione TPU. Il nome del disco deve essere lo stesso per tutte le VM TPU, ma non è garantito. Ad esempio, se scolleghi e poi ricolleghi il disco, il nome del dispositivo viene incrementato, passando da
sdb
asdc
.Se il disco non è stato formattato, formattalo utilizzando lo strumento
mkfs
. Sostituisci sdb se il disco ha un nome del dispositivo diverso. Sostituisci ext4 se vuoi utilizzare un file system diverso.(vm)$ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
Crea una directory per montare il disco sulla TPU.
Se utilizzi una TPU single-host, esegui il seguente comando dalla TPU per creare una directory in cui montare il disco:
(vm)$ sudo mkdir -p /mnt/disks/MOUNT_DIR
Sostituisci MOUNT_DIR con la directory in cui montare il disco.
Se utilizzi una TPU multi-host, esegui il seguente comando al di fuori della VM TPU. Questo comando creerà la directory su tutte le VM TPU nello slice TPU.
(vm)$ gcloud compute tpus tpu-vm ssh TPU_NAME --worker=all --command="sudo mkdir -p /mnt/disks/MOUNT_DIR"
Monta il disco sulla TPU utilizzando lo strumento
mount
.Se utilizzi una TPU single-host, esegui il seguente comando per montare il disco sulla tua VM TPU:
(vm)$ sudo mount -o discard,defaults /dev/sdb /mnt/disks/MOUNT_DIR
Se utilizzi una TPU multi-host, esegui il seguente comando al di fuori della VM TPU. Il disco verrà montato su tutte le VM TPU nello slice TPU.
(vm)$ gcloud compute tpus tpu-vm ssh TPU_NAME --worker=all --command="sudo mount -o discard,defaults /dev/sdb /mnt/disks/MOUNT_DIR"
Configura le autorizzazioni di lettura e scrittura sul disco. Ad esempio, il seguente comando concede l'accesso in scrittura al disco per tutti gli utenti.
(vm)$ sudo chmod a+w /mnt/disks/MOUNT_DIR
Smontare un disco
Per smontare (scollegare) un disco dalla VM TPU, esegui questo 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 della TPU.
ZONE
- La zona in cui si trova Cloud TPU.
DISK_NAME
- Il nome del disco da scollegare dalla VM TPU.
Esegui la pulizia
Elimina le risorse Cloud TPU e Compute Engine quando non ti servono più.
Disconnettiti dalla Cloud TPU, se non l'hai già fatto:
(vm)$ exit
Il tuo prompt dovrebbe ora essere
username@projectname
, a indicare che ti trovi in Cloud Shell.Elimina la tua Cloud TPU:
$ gcloud compute tpus tpu-vm delete TPU_NAME \ --zone=ZONE
Verifica che la Cloud TPU sia stata eliminata. L'eliminazione può richiedere qualche minuto.
$ gcloud compute tpus tpu-vm list --zone=ZONE
Verifica che il disco sia stato eliminato automaticamente quando la VM TPU è stata eliminata elencando tutti i dischi nella zona in cui hai creato il disco:
$ gcloud compute disks list --filter="zone:( ZONE )"
Se il disco non è stato eliminato quando è stata eliminata la VM TPU, utilizza questo comando per eliminarlo:
$ gcloud compute disks delete DISK_NAME \ --zone ZONE