Langlebigen Blockspeicher an eine TPU-VM anhängen
Eine TPU-VM enthält ein 10-GB-Bootlaufwerk. In einigen Fällen benötigen Sie möglicherweise zusätzlichen Speicherplatz für das Training oder die Vorverarbeitung. Sie können ein Google Cloud Hyperdisk- oder Persistent Disk-Volume (PD) hinzufügen, um die Kapazität des lokalen Laufwerks zu erweitern.
Für höchste Leistung und erweiterte Funktionen empfiehlt Google die Verwendung von Hyperdisk, sofern diese Option für Ihre TPU-Version verfügbar ist. Verwenden Sie andernfalls Persistent Disk. Weitere Informationen zu Blockspeicheroptionen in Compute Engine finden Sie unter Laufwerkstyp auswählen.
TPU-Unterstützung für Hyperdisk und Persistent Disk
In der folgenden Tabelle sehen Sie die unterstützten Laufwerkstypen für jede TPU-Version:
| TPU-Version | Unterstützte Laufwerkstypen | Maximale Anzahl von Laufwerken pro VM (einschließlich des Bootlaufwerks) |
|---|---|---|
| TPU7x | Hyperdisk Balanced Hyperdisk ML |
128 |
| v6e | Hyperdisk Balanced Hyperdisk ML |
32 |
| v5p | Hyperdisk ML Abgestimmter nichtflüchtiger Speicher |
128 |
Zugriffsmodi
Konfigurieren Sie ein Laufwerk, das an eine einzelne TPU-VM (auch als Single-Host-TPU-Slice bezeichnet) angehängt ist, z. B. ct6e-standard-4t, im Lese-/Schreibmodus (rw) oder im schreibgeschützten Modus (ro).
Wenn Sie ein Laufwerk an einen Multi-Host-TPU-Slice anhängen, wird es an jede VM im Slice angehängt. Damit nicht mehrere TPU-VMs gleichzeitig auf ein Laufwerk schreiben, müssen Sie alle Laufwerke, die an einen TPU-Slice mit mehreren Hosts angehängt sind, als schreibgeschützt (ro) konfigurieren. Schreibgeschützte Laufwerke sind nützlich, um ein Dataset für die Verarbeitung auf einem TPU-Slice zu speichern.
Vorbereitung
Bevor Sie diese Verfahren verwenden, müssen Sie ein Konto in Google Cloud und ein Projekt einrichten. Weitere Informationen finden Sie unter Cloud TPU-Umgebung einrichten.
Laufwerk erstellen
Verwenden Sie den folgenden Befehl, um ein Laufwerk zu erstellen:
gcloud compute disks create DISK_NAME \
--size DISK_SIZE \
--zone ZONE \
--type DISK_TYPE
Ersetzen Sie die folgenden Platzhalter:
- DISK_NAME: Der Name des neuen Laufwerks.
- DISK_SIZE: Die Größe des neuen Laufwerks. Der Wert muss eine ganze Zahl sein, gefolgt von der Größeneinheit GiB für Gibibyte oder TiB für Tebibyte. Wenn Sie keine Größeneinheit angeben, geht das System von GB aus.
- ZONE: Der Name der Zone, in der das neue Laufwerk erstellt werden soll. Dies muss dieselbe Zone sein, in der Sie die TPU erstellen.
- DISK_TYPE: Der Laufwerkstyp.
Verwenden Sie einen der folgenden Werte:
hyperdisk-balanced,hyperdisk-mloderpd-balanced.
Für Hyperdisk können Sie optional das Flag --access-mode mit einem der folgenden Werte angeben:
- READ_WRITE_SINGLE: Lese-/Schreibzugriff von einer Instanz (Standard).
- READ_ONLY_MANY: (nur Hyperdisk ML) Gleichzeitiger schreibgeschützter Zugriff von mehreren Instanzen.
Weitere Informationen zum Erstellen von Laufwerken finden Sie unter Neues Hyperdisk-Volume erstellen und Neues Persistent Disk-Volume erstellen.
Laufwerk anhängen
Sie können ein Laufwerks-Volume an Ihre TPU-VM oder Ihren TPU-Slice anhängen, wenn Sie ihn erstellen. Alternativ können Sie es nach der Erstellung anhängen.
Laufwerk beim Erstellen einer TPU-VM anhängen
Verwenden Sie beim Erstellen einer TPU-VM oder Instanzvorlage das Flag --disk, um ein Laufwerks-Volume anzuhängen.
Laufwerk beim Erstellen einer einzelnen TPU-VM anhängen
Das folgende Beispiel zeigt, wie Sie beim Erstellen einer einzelnen TPU-VM ein Laufwerks-Volume anhängen:
gcloud compute instances create TPU_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--maintenance-policy=TERMINATE \
--disk=name=DISK_NAME,device-name=DEVICE_NAME,mode=MODE
Ersetzen Sie die folgenden Platzhalter:
- TPU_NAME: Ein Name für Ihre TPU-VM.
- MACHINE_TYPE: Der Maschinentyp für die TPU-VM (z. B.
ct6e-standard-8t). - IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag
--image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images. - IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält.
Bei TPU-Images ist dies
ubuntu-os-accelerator-images. - ZONE: Die Zone für die TPU-VM.
- DEVICE_NAME: Der Name des Geräts, das für das Laufwerk verwendet werden soll. Dieser Name identifiziert das Laufwerk im Betriebssystem.
- MODE: Der Modus für das Laufwerk. Dies kann
rw(Lese-/Schreibzugriff) oderro(schreibgeschützt) sein. Weitere Informationen finden Sie unter Zugriffsmodi.
Laufwerk beim Erstellen eines TPU-Slice mit mehreren Hosts anhängen
Wenn Sie einen TPU-Slice mit mehreren Hosts erstellen, müssen Sie mode=read-only angeben (nur Hyperdisk ML und abgestimmter nichtflüchtiger Speicher). Weitere Informationen finden Sie unter Zugriffsmodi.
Wenn Sie ein Laufwerk an einen Multi-Host-TPU-Slice anhängen möchten, erstellen Sie eine Instanzvorlage mit dem angehängten Laufwerk, erstellen Sie eine Arbeitslastrichtlinie und erstellen Sie dann eine MIG:
Instanzvorlage erstellen
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --disk=name=DISK_NAME,mode=MODEErsetzen Sie die folgenden Platzhalter:
- INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.
- MACHINE_TYPE: Der Maschinentyp für die TPU-VM, z. B.
ct6e-standard-8t. - IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag
--image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images. - IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält.
Bei TPU-Images ist dies
ubuntu-os-accelerator-images. - DISK_NAME: Der Name des Laufwerks, das an die TPU-VM angehängt werden soll.
- MODE: Der Modus für das Laufwerk. Der Modus muss für TPU-Slices mit mehreren Hosts
ro(schreibgeschützt) sein.
Arbeitslastrichtlinie erstellen
gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \ --type=high-throughput \ --accelerator-topology=TOPOLOGYErsetzen Sie die folgenden Platzhalter:
- WORKLOAD_POLICY_NAME: Der Name Ihrer Arbeitslastrichtlinie.
- TOPOLOGY: Die Topologie der TPU-VMs, z. B.
4x4x8. Weitere Informationen zur Topologie für die einzelnen TPU-Versionen finden Sie unter Systemarchitektur.
Eine MIG erstellen:
gcloud compute instance-groups managed create MIG_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --template=TEMPLATE_NAME \ --size=SIZE \ --workload-policy=WORKLOAD_POLICY_NAMEErsetzen Sie die folgenden Platzhalter:
- MIG_NAME: Name der MIG.
- PROJECT_ID: die Projekt-ID
- ZONE: Die Zone, in der sich die Cloud TPU befindet.
- TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.
- SIZE: Die Anzahl der VMs für Ihr Multi-Host-TPU-Slice.
- WORKLOAD_POLICY_NAME: Der Name Ihrer Arbeitslastrichtlinie.
Laufwerk beim Erstellen einer MIG mit mehreren TPU-Slices mit einzelnem Host anhängen
Wenn Sie einen TPU-Slice mit einem einzelnen Host erstellen, können Sie mode=read-only (nur Hyperdisk ML und abgestimmter nichtflüchtiger Speicher) oder mode=read-write angeben.
Wenn Sie einer MIG mit unabhängigen Single-Host-TPU-Slices dauerhaften Speicher zuweisen möchten, konfigurieren Sie die Instanzvorlage so, dass mit dem Flag --create-disk ein neues Laufwerk für jede Instanz erstellt wird:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--disk=name=DISK_NAME,mode=MODE
Ersetzen Sie die folgenden Platzhalter:
- INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.
- MACHINE_TYPE: Der Maschinentyp für die TPU-VM (z. B.
ct6e-standard-8t). - IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM.
- IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image (
ubuntu-os-accelerator-images) enthält. - DISK_NAME: Der Basisname des Laufwerks, das erstellt und an jede TPU-VM angehängt werden soll.
- DISK_SIZE: Die Größe des Laufwerks in GB.
- DISK_TYPE: Der Laufwerkstyp (z. B.
pd-balanced,hyperdisk-balanced).
Erstellen Sie dann die MIG wie im vorherigen Abschnitt beschrieben und legen Sie --size auf die von Ihnen gewählte Anzahl von TPU-VMs fest.
Laufwerk an eine vorhandene TPU-VM anhängen
Verwenden Sie den Befehl gcloud compute instances attach-disk, um ein Laufwerk an eine vorhandene TPU-VM anzuhängen.
gcloud compute instances attach-disk VM_NAME \
--zone=ZONE \
--disk=DISK_NAME \
--mode=MODE
Ersetzen Sie die folgenden Platzhalter:
- VM_NAME: Der Name der TPU-VM.
- ZONE: Die Zone, in der sich die Cloud TPU befindet.
- DISK_NAME: Der Name des Laufwerks, das an die TPU-VM angehängt werden soll.
- MODE: Der Modus für das Laufwerk. Weitere Informationen finden Sie unter Zugriffsmodi.
Wenn Ihre VM aus irgendeinem Grund heruntergefahren wird, müssen Sie das Laufwerk möglicherweise erneut bereitstellen, nachdem Sie die VM neu gestartet haben. Informationen dazu, wie Sie festlegen, dass Ihr Laufwerk beim VM-Neustart automatisch bereitgestellt wird, finden Sie unter Automatische Bereitstellung beim Systemneustart konfigurieren.
Weitere Informationen zum automatischen Löschen eines Laufwerks finden Sie unter Hyperdisk ändern und Persistent Disk ändern.
Laufwerk formatieren und bereitstellen
Wenn Sie an Ihre TPU-VM ein neues, leeres Laufwerk anhängen, müssen Sie das Laufwerk formatieren und bereitstellen, bevor Sie es verwenden können. Wenn Sie ein Laufwerk anhängen, das bereits Daten enthält, müssen Sie es bereitstellen, bevor Sie es verwenden können.
Weitere Informationen zum Formatieren und Bereitstellen eines Nicht-Bootlaufwerks finden Sie unter Nicht-Bootlaufwerk auf einer Linux-VM formatieren und bereitstellen.
Laufwerk trennen
Führen Sie den folgenden Befehl aus, um ein Laufwerk von Ihrer TPU-VM zu trennen:
gcloud compute instances detach-disk VM_NAME \
--zone=ZONE \
--disk=DISK_NAME
Ersetzen Sie die folgenden Platzhalter:
- VM_NAME: Der Name der TPU-VM.
- ZONE: Die Zone, in der sich die Cloud TPU befindet.
- DISK_NAME: Der Name des Laufwerks, das von der TPU-VM getrennt werden soll.
Weitere Informationen zum Trennen eines Laufwerks finden Sie unter Laufwerk trennen.
Bereinigen
Löschen Sie Ihre Cloud TPU- und Compute Engine-Ressourcen, wenn Sie sie nicht mehr benötigen.
Trennen Sie die Verbindung zur Cloud TPU, sofern noch nicht geschehen:
exitSo löschen Sie Ihre TPU-VM:
gcloud compute instances delete VM_NAME \ --zone=ZONEErsetzen Sie die folgenden Platzhalter:
- VM_NAME: Der Name der TPU-VM.
- ZONE: Die Zone, in der sich die Cloud TPU befindet.
Wenn Sie einen TPU-Slice mit mehreren Hosts mithilfe einer MIG erstellt haben, löschen Sie stattdessen die Instanzgruppe:
gcloud compute instance-groups managed delete MIG_NAME \ --zone=ZONEErsetzen Sie die folgenden Platzhalter:
- MIG_NAME: Name der MIG.
- ZONE: Die Zone, in der sich die Cloud TPU befindet.
Prüfen Sie, ob die Cloud TPU gelöscht wurde. Das Löschen kann einige Minuten dauern.
gcloud compute instances list --zone=ZONEPrüfen Sie, ob das Laufwerk beim Löschen der TPU-VM automatisch gelöscht wurde. Listen Sie dazu alle Laufwerke in der Zone auf, in der Sie das Laufwerk erstellt haben:
gcloud compute disks list --filter="zone:( ZONE )"Ersetzen Sie die folgenden Platzhalter:
- ZONE: Die Zone, in der sich die Cloud TPU befindet.
Wenn das Laufwerk beim Löschen der TPU-VM nicht gelöscht wird, löschen Sie es mit dem folgenden Befehl:
gcloud compute disks delete DISK_NAME \ --zone=ZONEErsetzen Sie die folgenden Platzhalter:
- DISK_NAME: Der Name des zu löschenden Laufwerks.
- ZONE: Die Zone, in der sich die Cloud TPU befindet.