Große Datasets von Cloud Storage zu Filestore übertragen

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Mit dem Storage Transfer Service können Sie große Datasets aus Cloud Storage in Ihre Filestore-Dateifreigaben verschieben.

Ein Workflow, der Daten zeigt, die mit Storage Transfer Service von Cloud Storage zu einer Filestore-Instanz verschoben werden. Die Filestore-Instanz wird auf mehreren Compute Engine-Instanzen bereitgestellt.

Mit dem Storage Transfer Service können Sie große Datasets schnell und sicher zwischen Objekt- und Dateispeichersystemen übertragen, unabhängig davon, ob Ihre Daten in Cloud Storage, Cloud-Drittanbietern oder lokal gehostet werden.

Storage Transfer Service unterstützt die beschleunigte Übertragung großer Datenmengen, sodass problemlos Hunderte von TB oder mehr verarbeitet werden können. Verschieben Sie Ihre großen Datasets in die Cloud, um die Analyse- und Machine-Learning-Vorgänge zu nutzen, die über die zugrunde liegenden Compute Engine-Instanzen verfügbar sind, auf denen Ihre Filestore-Instanzen bereitgestellt sind.

Mit dem Storage Transfer Service können Sie einfach von Google verwaltete Übertragungen erstellen oder selbst gehostete Übertragungen konfigurieren. So haben Sie vollständige Kontrolle über das Netzwerkrouting und die Bandbreitennutzung.

Daten aus einem Cloud Storage-Bucket in eine Filestore-Dateifreigabe übertragen

Das Übertragen von Daten von Cloud Storage an eine Filestore-Dateifreigabe mit Storage Transfer Service erfordert die folgenden Aufgaben:

  1. die Umgebung einrichten
  2. Filestore konfigurieren
  3. Storage Transfer Service konfigurieren.
  4. Erstellen Sie den Übertragungsjob und starten Sie ihn.

In den folgenden Abschnitten werden die einzelnen Aufgaben beschrieben.

Umgebung einrichten

  1. Projekt auswählen oder erstellen

    Für die Zwecke dieser Anleitung müssen sich die Quell- und Zielressourcen im selben Projekt befinden.

    Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Wenn Sie Filestore testen und nicht vorhaben, die von Ihnen erstellten Ressourcen zu behalten, empfehlen wir, ein Projekt zu erstellen, anstatt ein vorhandenes Projekt auszuwählen. Nachdem Sie die Tests abgeschlossen haben, können Sie das Projekt löschen und so alle mit dem Projekt verknüpften Ressourcen entfernen.

    Zur Projektauswahl

  2. Abrechnung aktivieren

    Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  3. Aktivieren Sie die folgenden APIs:

    • Filestore API

    • Resource Manager API

    • Pub/Sub API

    • Cloud Storage API

    • Storage Transfer API

    • Cloud Logging API

    • Compute Engine API

    • Service Usage API

    • Identity and Access Management API

  4. Optional: gcloud, eine wichtige Komponente des Google Cloud SDK, ist auf jeder Compute Engine-VM installiert. Wenn Sie einen der folgenden Schritte über Ihre lokale Befehlszeile ausführen, richten Sie das Google Cloud SDK ein.

    Installieren und initialisieren Sie das Google Cloud SDK.

    Wenn Sie das Google Cloud SDK bereits installiert haben, prüfen Sie mit dem folgenden Befehl, ob Sie die neueste verfügbare Version haben:

    gcloud components update
    
  5. Erstellen Sie ein Dienstkonto. Weisen Sie im Bereich Diesem Dienstkonto Zugriff auf das Projekt gewähren die folgenden Rollen zu:

    • Owner

    • Project IAM Admin

    • Role Administrator

    • Pub/Sub Editor

    • Cloud Filestore Editor

    • Storage Object Admin

    • Storage Transfer Admin

    • Storage Transfer Agent

    1. Kopieren und speichern Sie den Namen des Dienstkontos, das Sie für einen späteren Schritt erstellt haben.

    2. Erstellen Sie einen Dienstkontoschlüssel für das gerade erstellte Konto. In dieser Anleitung sollten Sie nur einen Schlüssel erstellen. Laden Sie die Schlüsseldatei herunter und speichern Sie sie für einen späteren Schritt.

  6. Einem Nutzerkonto Rollen zuweisen Suchen Sie auf der Seite IAM Ihr Nutzerkonto und weisen Sie ihm die folgenden Rollen zu:

    • Owner

    • Project IAM Admin

    • Role Administrator

    • Storage Transfer Admin

    • Storage Admin

    Weitere Informationen finden Sie unter Nutzerberechtigungen.

Filestore konfigurieren

  1. Erstellen Sie eine Filestore-Instanz. Wenden Sie beim Erstellen der Instanz die folgenden Spezifikationen an:

    1. Der Cloud Storage-Bucket, die Client-VM und die Filestore-Instanz müssen sich in derselben Region befinden.

    2. Wählen Sie den Instanztyp Enterprise aus.

    3. Optional: Für größere Datensätze können Sie eine Kontingenterhöhung anfordern.

    4. Kopieren Sie den Instanznamen und die IP-Adresse und speichern Sie sie für einen späteren Schritt.

  2. Filestore-Instanz auf einem Clientcomputer bereitstellen.

    In diesem Leitfaden wird eine Übertragung beschrieben, bei der vier Compute Engine-VMs als NFS-Clientcomputer verwendet werden. Sie erstellen ein einzelnes Dienstkonto, das im Namen der vier Clientcomputer ausgeführt wird. Auf jedem Clientcomputer sind drei Storage Transfer Service-Agents installiert.

    1. Erstellen Sie eine Compute Engine-VM-Instanz mit Zugriff auf andere Google Cloud-Dienste.

      1. Konfigurieren Sie eine VM mit den folgenden Spezifikationen:

        1. Achten Sie beim Festlegen eines Standorts darauf, dass sich der Google Cloud-Bucket, die Client-VM und die Filestore-Instanz in derselben Region befinden.

        2. Jeder Storage Transfer Service-Agent benötigt 4 vCPUs und 8 GB RAM. Für eine optimale Leistung sollten Sie mehrere Agents pro VM ausführen. Stellen Sie für diese Anleitung eine Compute Engine-VM-Instanz in e2-standard-32 bereit.

        3. Geben Sie im Abschnitt Identität und API-Zugriff Folgendes an:

          1. Wählen Sie im Drop-down-Menü Dienstkonten das gerade erstellte Dienstkonto aus.
    2. Nachdem die Compute Engine-VM-Instanz erstellt wurde, melden Sie sich mit SSH auf der Maschine an. Suchen Sie auf der Seite Compute Engine-VM-Instanz die erstellte Instanz und klicken Sie auf SSH.

    3. Erstellen Sie mit einem Texteditor wie Vim eine Kopie der Schlüsseldatei des Dienstkontos und speichern Sie sie lokal auf der VM. Beispiel: service-account-key.json

    4. Installieren Sie Docker auf der VM.

    5. gcloud ist bereits auf der Compute Engine-VM-Instanz installiert. Geben Sie in der SSH-Befehlszeile den folgenden Befehl ein, um das Dienstkonto für die Verwendung von gcloud zu autorisieren:

      gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILE
      

      Dabei gilt:

      • ACCOUNT ist die E-Mail-Adresse für das Dienstkonto, das Sie erstellt haben. Beispiel: my-service-account@my-project.iam.gserviceaccount.com

      • KEY_FILE ist der relative lokale Pfad zur Schlüsseldatei, die Sie zuvor kopiert haben. Beispiel: sa-key.json

    6. Installieren Sie NFS über die SSH-Befehlszeile:

      sudo apt-get -y update && sudo apt-get install nfs-common
      
    7. Erstellen Sie ein lokales Verzeichnis, das der Filestore-Dateifreigabe zugeordnet wird. Wenn Sie diese Schritte für nachfolgende Compute Engine-VM-Instanzen wiederholen, verwenden Sie denselben Namen und Pfad:

      sudo mkdir -p MY_DIRECTORY
      

      Dabei gilt:

      • MY_DIRECTORY ist der Name des lokalen POSIX-Verzeichnisses für die Compute Engine-VM-Instanz. Beispiel: /usr/local/my_dir
    8. Stellen Sie die mit der Filestore-Instanz verknüpfte Dateifreigabe mit dem Befehl mount bereit. Sie können beliebige NFS-Bereitstellungsoptionen verwenden. Die beste Leistung erzielen Sie in den Empfehlungen zur NFS-Bereitstellung unter Dateifreigabe auf einer Compute Engine-VM-Instanz bereitstellen:

      sudo mount -o rw,intr IP_ADDRESS:/FILE_SHARE MY_DIRECTORY
      

      Dabei gilt:

      • IP_ADDRESS die IP-Adresse für die Filestore-Instanz ist. Diese finden Sie auf der Seite Filestore-Instanzen.

      • FILE_SHARE ist der Name der Dateifreigabe auf der Instanz. Beispiel: my_fs_instance

      • MY_DIRECTORY ist der Name des Verzeichnisses, das Sie im vorherigen Schritt zugeordnet haben. Dies ist ein Verzeichnis auf der Compute Engine-VM-Instanz, in der Sie die Filestore-Instanz bereitstellen möchten.

    9. Prüfen Sie den Bereitstellungspunkt:

      mount -l | grep nfs
      

      Dadurch wird Folgendes oder ähnlich zurückgegeben:

      10.66.55.194:/my_fs_instance on /home/usr/my_dir type nfs (rw,relatime,vers=3,rsize=262144,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.66.55.194,mountvers=3,mountport=2050,mountproto=udp,local_lock=none,addr=10.66.55.194)
      

      Alternativ können Sie auch den folgenden Befehl verwenden:

      df -h --type=nfs
      

      Dadurch wird Folgendes oder ähnlich zurückgegeben:

      Filesystem                       Size  Used Avail Use% Mounted on
      10.66.55.194:/my_fs_instance  1.0T     0  1.0T   0% /home/usr/my_dir
      
    10. Notieren Sie sich den lokalen POSIX-Verzeichnispfad und speichern Sie ihn für einen späteren Schritt.

    11. Wiederholen Sie die vorherigen Schritte, um drei weitere Compute Engine-VM-Instanzen zu erstellen und für jede dieselbe Filestore-Instanz bereitzustellen. Mit demselben Dienstkonto können Sie alle vier Compute Engine-VMs verwalten. Speichern Sie vorübergehend eine lokale Kopie des Dienstkontoschlüssels auf jeder VM.

Storage Transfer Service konfigurieren

  1. Agent-Pool erstellen.

  2. Autorisieren Sie das von Google verwaltete Dienstkonto für alle Storage Transfer Service-Features.

    1. Geben Sie den folgenden Befehl ein:

      gcloud transfer authorize --add-missing --creds-file=KEY_FILE
      

      Dabei gilt:

      • KEY_FILE ist der relative lokale Pfad zur Schlüsseldatei, die Sie zuvor kopiert haben. Beispiel: sa-key.json

      Notieren Sie sich die zurückgegebene Benachrichtigung zum von Google verwalteten Dienstkonto und speichern Sie die zugehörige E-Mail-Adresse für den nächsten Schritt.

    2. Nach einigen Minuten sollten Sie das von Google verwaltete Dienstkonto auf der Seite IAM sehen. Prüfen Sie nach der Weitergabe, ob die folgenden Rollen zugewiesen sind:

      • Pub/Sub Editor

      • Storage Admin

  3. Installieren Sie Übertragungs-Agents.

    Jeder Storage Transfer Service-Agent benötigt 4 vCPUs und 8 GB RAM.

    1. Wir empfehlen, mehrere Agents zu installieren, um die Fehlertoleranz zu maximieren und die von Storage Transfer Service angebotene dynamische Skalierung zu nutzen. Im folgenden Beispiel wird gezeigt, wie Sie drei Agents auf einem Clientcomputer installieren. Führen Sie in der SSH-Befehlszeile den folgenden Befehl aus:

      gcloud transfer agents install --pool=MY_AGENT_POOL --count=3 \
      --creds-file=MY_SERVICE_ACCOUNT_KEY_FILE
      

      Dabei gilt:

      • MY_AGENT_POOL ist der Name des zuvor erstellten Agent-Pools. Beispiel: my-agent-pool

      • MY_SERVICE_ACCOUNT_KEY_FILE ist der relative Pfad zum Dienstkontoschlüssel. Beispiel: /relative/path/to/service-account-key.json

    2. Wiederholen Sie diese Schritte für jeden Clientcomputer.

Übertragungsjob erstellen und initiieren

  1. Erstellen Sie einen Übertragungsjob, um Daten aus Ihrem Cloud Storage-Bucket in Ihre Filestore-Instanz zu verschieben. Verweisen Sie auf das lokale POSIX-Verzeichnis, das Sie zuvor gespeichert haben, um den Zielpfad anzugeben. Beispiel: /home/usr/my_dir.

Übertragungsstatus beobachten

Console

Sie können den Status der Übertragung in der Google Cloud Console auf der Seite Übertragungsjobs überwachen.

Befehlszeile

Sie können den Status über die Befehlszeile überwachen:

gcloud transfer jobs monitor JOB_NAME

Dabei gilt:

  • JOB_NAME ist der Name des Übertragungsjobs. Beispiel: transferJobs/OPI6300379522015192941

Die Antwort enthält Folgendes oder ähnlich:

Polling for latest operation name...done.
Operation name: my-sts-project_transferJobs/OPI6300379522015192941_0000000001660692377
Parent job: OPI6300379522015192941
Start time: 2022-08-16T23:26:17.600981Z
SUCCESS | 100% (731.9MiB of 731.9MiB) | Skipped: 129.8kiB | Errors: 0
End time: 2022-08-16T23:27:23.429472Z

Weitere Informationen finden Sie unter Agent-Aktivität überwachen oder Dateisystemübertragungsdetails.

Weitere Informationen