Filestore-Instanz auf Cloud TPU-VMs bereitstellen

Filestore ist ein vollständig verwalteter NAS-Speicher (Network Attached Storage) für Compute Engine. Filestore bietet nahtlose Kompatibilität mit vorhandenen Unternehmensanwendungen und unterstützt beliebige NFSv3-kompatible Clients.

Hinweis

Wenn Sie auf Ihrer Cloud TPU-VM eine Filestore-Instanz bereitstellen möchten, müssen Sie dem Dienstkonto, das mit Ihrer Cloud TPU-VM verknüpft ist, eine Filestore-Rolle (Cloud Filestore Editor oder Cloud Filestore Viewer) hinzufügen. Wenn Sie beim Erstellen einer Cloud TPU-VM kein benutzerdefiniertes Dienstkonto angeben, verwendet die Cloud TPU-VM das Compute Engine-Standarddienstkonto. Weitere Informationen zum Angeben eines Dienstkontos beim Erstellen einer Cloud TPU-VM finden Sie unter Cloud TPU-Umgebung einrichten. Weitere Informationen zum Erstellen eines Dienstkontos finden Sie unter Dienstkonten erstellen.

Dienstkonto die Rolle „Filestore Editor“ hinzufügen

In diesem Abschnitt wird beschrieben, wie Sie dem Compute Engine-Standarddienstkonto die Rolle „Cloud Filestore Editor“ hinzufügen. Folgen Sie dieser Anleitung auch, falls Sie einem beliebigen Dienstkonto die Rolle „Cloud Filestore Editor“ hinzuzufügen möchten. Suchen Sie in Schritt 2 nach einem benutzerdefinierten Dienstkonto und verwenden Sie es anstelle des Compute Engine-Standarddienstkontos.

  1. Zur IAM-Konsole

  2. Wählen Sie den Tab Nach Hauptkonten ansehen aus und geben Sie in das Feld Filter Name:Compute Engine default service account ein.

  3. Klicken Sie neben dem Dienstkonto auf Bearbeiten. In der IAM-Konsole wird dann ein Dialogfeld mit den Rollen angezeigt, die dem Compute Engine-Standarddienstkonto zugewiesen sind.

  4. Klicken Sie auf Hinzufügen, um eine weitere Rolle hinzuzufügen.

  5. Maximieren Sie das Menü Rolle auswählen, geben Sie in den Filter Filestore ein und wählen Sie dann Cloud Filestore Editor aus.

  6. Klicken Sie auf Speichern, um das Dialogfeld zu schließen. Sie haben dem Compute Engine-Standarddienstkonto die Rolle „Filestore Editor“ hinzugefügt.

Weitere Informationen zu Dienstkonten finden Sie in der Übersicht über die Dienstkonten. Weitere Informationen zu IAM-Rollen finden Sie unter Rollen und Berechtigungen.

Filestore-Instanz erstellen

Erstellen Sie eine Filestore-Instanz gemäß der Anleitung unter Filestore-Instanzen erstellen.

Filestore-Instanz auf einer Cloud TPU-VM bereitstellen

Die Befehle zum Bereitstellen einer Filestore-Instanz auf einer Cloud TPU-VM hängen davon ab, ob Sie eine einzelne Cloud TPU-VM oder einen Cloud TPU-Slice verwenden.

Filestore-Instanz auf einer einzelnen Cloud TPU-VM bereitstellen

  1. Stellen Sie über SSH eine Verbindung zu Ihrer Cloud TPU-VM her.

    gcloud compute ssh TPU_NAME \
      --zone=ZONE
    

    Ersetzen Sie die folgenden Platzhalter:

    • TPU_NAME: Der Name Ihrer TPU-VM.
    • ZONE: Die Zone Ihrer TPU-VM.
  2. Installieren Sie das Paket nfs-common:

    sudo apt-get update --allow-releaseinfo-change \
      && sudo apt-get -y update \
      && sudo apt-get -y install nfs-common
    
  3. Erstellen Sie ein Verzeichnis zum Bereitstellen von NFS.

    sudo mkdir -p MOUNT_DIR \
      && sudo chmod ugo+rw MOUNT_DIR
    

    Ersetzen Sie den folgenden Platzhalter:

    • MOUNT_DIR: Das Verzeichnis, in dem Sie die Filestore-Instanz bereitstellen möchten.
  4. Suchen Sie die IP-Adresse des Filestore.

    gcloud filestore instances describe FILESTORE_INSTANCE_NAME \
      --location FILESTORE_REGION
    

    Ersetzen Sie die folgenden Platzhalter:

    • FILESTORE_INSTANCE_NAME: Der Name Ihrer Filestore-Instanz.
    • FILESTORE_REGION: Die Region Ihrer Filestore-Instanz.
  5. Stellen Sie die Filestore-Instanz auf Ihrer Cloud TPU-VM in Ihrem Bereitstellungsverzeichnis bereit.

    sudo mount FILESTORE_IP:FILE_SHARE_NAME MOUNT_DIR
    

    Ersetzen Sie die folgenden Platzhalter:

    • FILESTORE_IP: Die IP-Adresse Ihrer Filestore-Instanz.
    • FILE_SHARE_NAME: Der Name der Dateifreigabe in Ihrer Filestore-Instanz.
    • MOUNT_DIR: Das Verzeichnis, in dem Sie die Filestore-Instanz bereitstellen möchten.

Filestore-Instanz auf einem Cloud TPU-Slice bereitstellen

Cloud TPU-Slices werden als verwaltete Compute Engine-Instanzgruppen (Managed Instance Groups, MIGs) bereitgestellt. Da MIGs VMs auf die Rechenkapazität verteilen, sollten Sie ein Startskript verwenden, das an Ihre Instanzvorlage angehängt ist, um eine Filestore-Instanz auf allen Maschinen in Ihrem Slice bereitzustellen. So wird sichergestellt, dass die Bereitstellung automatisch verfügbar ist, wenn Instanzen erstellt oder automatisch repariert werden.

  1. Suchen Sie die IP-Adresse Ihrer Filestore-Instanz.

    gcloud filestore instances describe FILESTORE_INSTANCE_NAME \
      --location FILESTORE_REGION
    

    Ersetzen Sie die folgenden Platzhalter:

    • FILESTORE_INSTANCE_NAME: Der Name Ihrer Filestore-Instanz.
    • FILESTORE_REGION: Die Region Ihrer Filestore-Instanz.
  2. Erstellen Sie ein Startskript. Das Skript installiert das nfs-common-Paket, erstellt das Bereitstellungsverzeichnis und hängt die Filestore-Instanz an. Speichern Sie den folgenden Code als lokale Datei mit dem Namen mount-filestore.sh.

    #!/bin/bash
    sudo apt-get update --allow-releaseinfo-change && sudo apt-get -y update && sudo apt-get -y install nfs-common
    sudo mkdir -p MOUNT_DIR
    sudo chmod ugo+rw MOUNT_DIR
    sudo mount FILESTORE_IP:FILE_SHARE_NAME MOUNT_DIR
    

    Ersetzen Sie die folgenden Platzhalter:

    • FILESTORE_IP: Die IP-Adresse Ihrer Filestore-Instanz.
    • FILE_SHARE_NAME: Der Name der Dateifreigabe in Ihrer Filestore-Instanz.
    • MOUNT_DIR: Das Verzeichnis, in dem Sie die Filestore-Instanz bereitstellen möchten.
  3. Wenden Sie das Startskript auf Ihre Instanzvorlage an. Wenn Sie die Instanzvorlage für Ihre MIG erstellen, verwenden Sie das Flag --metadata-from-file, um Ihr Script anzugeben.

    gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
      --metadata-from-file=startup-script=mount-filestore.sh \
      ...
    

    Ersetzen Sie die folgenden Platzhalter:

    • INSTANCE_TEMPLATE_NAME: Der Name Ihrer Instanzvorlage.

Daten in Filestore-Instanz schreiben

Gewähren Sie Linux Lese- und Schreibberechtigungen für das Verzeichnis, in dem Sie die Filestore-Instanz bereitstellen. Sie können das Verzeichnis wie Ihr lokales Dateisystem verwenden.