Große Datasets von Cloud Storage zu Filestore übertragen

Storage Transfer Service verwenden große Datasets von Cloud Storage in Filestore verschieben Dateifreigaben.

Ein Workflow, der Daten zeigt, die von Cloud Storage in einen Filestore verschoben werden
mit Storage Transfer Service erstellen. Die Filestore-Instanz wird bereitgestellt.
mehreren Compute Engine-Instanzen zugewiesen.

Storage Transfer Service können Sie große Datasets schnell und sicher object und Dateispeichersysteme, ganz gleich, Daten werden in Cloud Storage, Cloud-Drittanbietern oder lokal gehostet.

Storage Transfer Service unterstützt die beschleunigte Übertragung großer Datasets, die Verarbeitung von Hunderten von TB an Daten. Große Datasets in die Cloud verschieben um die Analyse- und ML-Vorgänge zu nutzen, den zugrunde liegenden Compute Engine-Instanzen in dem Ihre Filestore-Instanzen bereitgestellt werden.

Mit Storage Transfer Service können Sie von Google verwaltete Übertragungen oder selbstgehostete Übertragungen konfigurieren, um das Netzwerk-Routing und Bandbreitennutzung.

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

Die Datenübertragung von Cloud Storage zu einer Filestore-Dateifreigabe mithilfe von Storage Transfer Service erfordert die folgenden Aufgaben:

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

Die folgenden Abschnitte führen Sie durch die einzelnen Aufgaben.

Umgebung einrichten

  1. Wählen Sie ein Projekt aus oder erstellen Sie eines.

    Achten Sie für die Zwecke dieses Leitfadens darauf, dass Ihre Quell- und Zielressourcen sich 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 die Ressourcen nicht behalten möchten erstellen, empfehlen wir Ihnen, ein Projekt zu erstellen, anstatt einem bestehenden Projekt. Wenn Sie mit dem Testen fertig sind, können Sie das Projekt löschen. Entfernen aller mit dem Projekt verknüpften Ressourcen.

    Zur Projektauswahl

  2. Abrechnung aktivieren

    Die Abrechnung für das Google 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 installiert. auf jeder Compute Engine-VM. Wenn Sie einen der folgenden Schritte ausführen: von Ihrer lokalen Befehlszeile aus, richten Sie das Google Cloud SDK ein.

    Installieren und initialisieren Sie das Google Cloud SDK.

    Wenn Sie das Google Cloud SDK bereits installiert haben, achten Sie darauf, dass Sie die neueste verfügbaren Version, indem Sie den folgenden Befehl ausführen:

    gcloud components update
    
  5. Erstellen Sie ein Dienstkonto. Gehen Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt gewähren folgendermaßen vor: weisen Sie 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 erstellten Dienstkontos für einen späteren Schritt.

    2. Dienstkontoschlüssel erstellen für das gerade erstellte Konto. In diesem Leitfaden 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 In der IAM-Dokumentation suchen Sie 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. Filestore-Instanz erstellen Gehen Sie beim Erstellen der Instanz so vor:

    1. Achten Sie darauf, dass der Cloud Storage-Bucket, die Client-VM und Filestore -Instanz befinden sich alle in derselben Region.

    2. Wählen Sie eine regionale oder enterprise.

    3. Optional: Fordern Sie bei größeren Datasets eine Kontingenterhöhung an.

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

  2. Stellen Sie eine Filestore-Instanz auf einem Clientcomputer bereit.

    In dieser Anleitung wird eine Übertragung beschrieben, die vier Compute Engine-VMs als NFS-Clientmaschinen. Sie erstellen ein einzelnes Dienstkonto, im Namen der vier Client-Computer. Jeder Clientcomputer hat drei Storage Transfer Service-Agents installiert.

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

      1. VM konfigurieren mit den folgenden Spezifikationen:

        1. Achten Sie bei der Angabe eines Standorts darauf, dass der Google Cloud-Bucket, Client-VM und Filestore-Instanz, die sich alle im in derselben Region.

        2. Jeder Storage Transfer Service-Agent benötigt 4 vCPUs und 8 GB RAM. Führen Sie für optimale Leistung mehrere Agents pro VM aus. Für die Zwecke dieses Leitfadens stellen Sie eine e2-standard-32 bereit. VM-Instanz von Compute Engine

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

          1. Wählen Sie im Drop-down-Menü Dienstkonten den Dienst aus. das Sie gerade erstellt haben.
    2. Nachdem die Compute Engine-VM-Instanz erstellt wurde, melden Sie sich im über SSH. Über die Compute Engine-VM-Instanz suchen Sie die von Ihnen erstellte Instanz und klicken Sie auf SSH.

    3. Verwenden Sie einen Texteditor wie Vim, um eine Kopie des Dienstkontoschlüssels zu erstellen und speichern Sie sie vorübergehend lokal auf der VM. Beispiel: service-account-key.json

    4. Installieren Sie Docker auf der VM.

    5. gcloud ist bereits die auf der Compute Engine-VM-Instanz installiert sind. Über den SSH-Befehl Geben Sie den folgenden Befehl ein, um die Autorisierung zu aktivieren. das Dienstkonto zur Verwendung von gcloud:

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

      Dabei gilt:

      • ACCOUNT ist die E-Mail-Adresse des Dienstkontos, erstellt. Beispiel: my-service-account@my-project.iam.gserviceaccount.com

      • KEY_FILE ist der relative lokale Pfad zur Schlüsseldatei, die Sie 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 werden soll. Wenn Sie diese Schritte für die nachfolgende Compute Engine-VM 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. Mit der Filestore-Instanz verknüpfte Dateifreigabe bereitstellen indem Sie den Befehl mount ausführen. Sie können beliebige NFS-Bereitstellungsoptionen verwenden. Weitere Informationen zur besten Leistung finden 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 Filestore-Instanzen Seite.

      • FILE_SHARE ist der Name der Dateifreigabe für die Instanz. Beispiel: my_fs_instance.

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

    9. Bereitstellungspunkt prüfen:

      mount -l | grep nfs
      

      Es wird u. a. Folgendes 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
      

      Es wird u. a. Folgendes 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 Pfad des lokalen POSIX-Verzeichnisses und speichern Sie sie für einen späteren Schritt.

    11. Wiederholen Sie die vorherigen Schritte, um drei weitere Compute Engine-VMs zu erstellen. und stellen Sie auf jeder dieselbe Filestore-Instanz bereit. Verwenden Sie zum Verwalten aller vier Compute Engine-VMs. Speichern Sie vorübergehend eine lokale Kopie des Dienstkontoschlüssels auf jeder VM.

Storage Transfer Service konfigurieren

  1. Erstellen Sie einen Agent-Pool.

  2. Dienst-Agent für Storage Transfer Service autorisieren Funktionen.

    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 kopiert haben. Beispiel: sa-key.json.

      Notieren Sie sich die zurückgegebene Benachrichtigung zum Dienst-Agent und speichern Sie den verknüpfte E-Mail-Adresse für den nächsten Schritt.

    2. Nach einigen Minuten sollten Sie den Dienst-Agent in der IAM-Seite. Prüfen Sie nach der Übertragung sind folgende Rollen zugewiesen:

      • Pub/Sub Editor

      • Storage Admin

  3. Übertragungs-Agents installieren

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

    1. Wir empfehlen die Installation mehrerer Agents, um die Fehlertoleranz zu maximieren nutzen Sie die dynamische Skalierung des Storage Transfer Service. Die Das folgende Beispiel zeigt, 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 ausgewählten Agent-Pools. erstellt. 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. Übertragungsjob erstellen, um Daten aus dem Cloud Storage-Bucket zu verschieben Ihre Filestore-Instanz. Verweisen Sie auf das zuvor gespeicherte lokale POSIX-Verzeichnis, um die Zielpfad angeben. Beispiel: /home/usr/my_dir

Übertragungsstatus überwachen

Console

Überwachen Sie den Status der Übertragung auf der Seite Übertragungsjobs Seite der Google Cloud Console.

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 zeigt 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äten überwachen. oder Übertragungsdetails des Dateisystems.

Nächste Schritte