Langlebigen Blockspeicher an eine TPU-VM anhängen

Eine TPU-VM enthält ein 10 GB großes Bootlaufwerk. In einigen Fällen ist zusätzlicher Speicherplatz für das Training oder die Vorverarbeitung erforderlich. Fügen Sie ein Google Cloud Hyperdisk oder ein Persistent Disk-Volume (PD) hinzu, um die Kapazität des lokalen Laufwerks zu erweitern.

Für höchste Leistung und erweiterte Funktionen verwenden Sie Hyperdisk, sofern diese Option für Ihre TPU-Version verfügbar ist. Andernfalls verwenden Sie 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

Sie können ein Laufwerk, das an eine einzelne TPU-VM (auch als TPU-Slice mit einem einzelnen Host bezeichnet) angehängt ist, z. B. ct6e-standard-4t, im Lese-/Schreibmodus (rw) oder im schreibgeschützten Modus (ro) konfigurieren.

Wenn Sie ein Laufwerk an ein TPU-Slice mit mehreren Hosts 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 ein 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, richten Sie ein Google Cloud Konto und ein Projekt ein. 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, wird vom System GB angenommen.
  • 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 Typ des Laufwerks. Verwenden Sie einen der folgenden Werte: hyperdisk-balanced, hyperdisk-ml oder pd-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 Ihr TPU-Slice anhängen, wenn Sie es 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 einer 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 --image Flag. 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-/Schreibmodus) oder ro (schreibgeschützt) sein. Weitere Informationen finden Sie unter Zugriffsmodi.

Laufwerk beim Erstellen eines TPU-Slice mit mehreren Hosts anhängen

Wenn Sie ein 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 ein TPU-Slice mit mehreren Hosts anhängen möchten, erstellen Sie eine Instanzvorlage mit dem angehängten Laufwerk, erstellen Sie eine Arbeitslastrichtlinie und erstellen Sie dann eine MIG:

  1. 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=MODE
    

    Ersetzen Sie die folgenden Platzhalter:

    • INSTANCE_TEMPLATE_NAME: Der Name für Ihre Instanz vorlage.
    • 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.
  2. Arbeitslastrichtlinie erstellen

    gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
    --type=high-throughput \
    --accelerator-topology=TOPOLOGY
    

    Ersetzen 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 jede TPU-Version finden Sie unter Systemarchitektur.
  3. 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_NAME
    

    Ersetzen Sie die folgenden Platzhalter:

    • MIG_NAME: Der Name Ihrer MIG.
    • PROJECT_ID: Die Projekt-ID.
    • ZONE: Die Zone, in der sich die Cloud TPU befindet.
    • TEMPLATE_NAME: Der Name für Ihre Instanzvorlage.
    • SIZE: Die Anzahl der VMs für Ihr TPU -Slice.
    • WORKLOAD_POLICY_NAME: Der Name Ihrer Arbeitslastrichtlinie.

Laufwerk beim Erstellen einer MIG mit mehreren TPU-Slices mit einem einzelnen Host anhängen

Wenn Sie ein 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 langlebigen Speicher an eine MIG mit unabhängigen TPU-Slices mit einem einzelnen Host anhängen 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 für Ihre 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 enthält (ubuntu-os-accelerator-images).
  • 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, 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 gcloud compute instances attach-disk Befehl, 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 Einstellung für das automatische Löschen eines Laufwerks ä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.

  1. Trennen Sie die Verbindung zur Cloud TPU, sofern noch nicht geschehen:

    exit
    
  2. Löschen Sie Ihre TPU-VM:

    gcloud compute instances delete VM_NAME \
        --zone=ZONE
    

    Ersetzen Sie die folgenden Platzhalter:

    • VM_NAME: Der Name der TPU-VM.
    • ZONE: Die Zone, in der sich die Cloud TPU befindet.

    Wenn Sie ein TPU-Slice mit mehreren Hosts mit einer MIG erstellt haben, löschen Sie stattdessen die Instanzgruppe:

    gcloud compute instance-groups managed delete MIG_NAME \
        --zone=ZONE
    

    Ersetzen Sie die folgenden Platzhalter:

    • MIG_NAME: Der Name der MIG.
    • ZONE: Die Zone, in der sich die Cloud TPU befindet.
  3. Prüfen Sie, ob die Cloud TPU gelöscht wurde. Das Löschen kann einige Minuten dauern.

    gcloud compute instances list --zone=ZONE
    
  4. Prüfen Sie, ob das Laufwerk beim Löschen der TPU-VM automatisch gelöscht wird. 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=ZONE
    

    Ersetzen Sie die folgenden Platzhalter:

    • DISK_NAME: Der Name des Laufwerks, das gelöscht werden soll.
    • ZONE: Die Zone, in der sich die Cloud TPU befindet.