Daten zu oder von Instanzen kopieren

Auf dieser Seite erfahren Sie, wie Sie Daten aus folgenden Quellen kopieren:

  • Cloud Storage-Buckets zu Filestore-Dateifreigaben
  • Computer in Ihrer Umgebung mit Filestore-Dateifreigaben verbinden
  • Filestore-Dateifreigaben für Cloud Storage-Buckets

Wir empfehlen die folgenden Optionen für die Übertragung großer Datenmengen:

Hinweise

Um dieser Anleitung zu folgen, müssen die Befehlszeilentools gsutil und gcloud installiert sein. Beide Tools sind in der gcloud CLI enthalten.

Daten aus einem Cloud Storage-Bucket in eine Filestore-Dateifreigabe kopieren

Verwenden Sie den Befehl gsutil rsync, um Daten aus einem Cloud Storage-Bucket in eine Filestore-Dateifreigabe zu kopieren, die auf einer Compute Engine-VM-Instanz bereitgestellt ist. Der Befehl gsutil rsync funktioniert sowohl auf Linux- als auch auf Windows-VMs. Zum Kopieren von Daten auf Linux-VM-Instanzen können Sie auch Standardbefehle wie rsync verwenden.

Linux

  1. Rufen Sie in der Google Cloud Console die Seite „VM-Instanzen“ auf.

    Rufen Sie die Seite "Compute Engine-Instanzen" auf.

  2. Wählen Sie eine Compute Engine-VM-Instanz aus, auf der die Ziel-Filestore-Dateifreigabe bereitgestellt ist, und klicken Sie zum Öffnen eines Terminals auf dieser VM-Instanz auf SSH.

  3. Kopieren Sie mit dem folgenden Befehl Daten in die bereitgestellte Filestore-Dateifreigabe. Zum rekursiven Synchronisieren von Unterverzeichnissen des von Ihnen angegebenen Standorts verwenden Sie die Option -r mit dem Befehl gsutil rsync.

    gsutil rsync gs://bucket mount-directory
    

    Dabei gilt:

    • bucket der Cloud Storage-Bucket, das Verzeichnis oder Unterverzeichnis ist, aus dem Daten kopiert werden sollen.
    • mount-directory ist das Verzeichnis auf dem Client, in dem die Filestore-Dateifreigabe bereitgestellt wird.

Beispiel

Mit dem folgenden Befehl werden Daten aus dem Bucket data und allen Unterverzeichnissen in das Verzeichnis /mnt/filer kopiert.

gsutil rsync -r gs://data /mnt/filer

Windows

  1. Rufen Sie in der Google Cloud Console die Seite „VM-Instanzen“ auf.

    Rufen Sie die Seite "Compute Engine-Instanzen" auf.

  2. Wählen Sie eine Compute Engine-VM-Instanz aus, deren Dateifreigabe der Zieldatei einem Laufwerk zugeordnet ist, und klicken Sie zum Öffnen einer Remote-Desktop-Verbindung zu dieser VM auf RDP.

  3. Kopieren Sie Daten in den zugeordneten Filestore-Dateifreigaben, indem Sie den folgenden Befehl ausführen. Zum rekursiven Synchronisieren von Unterverzeichnissen des von Ihnen angegebenen Standorts verwenden Sie die Option -r mit dem Befehl gsutil rsync.

    gsutil rsync gs://bucket mount-directory
    

    Dabei gilt:

    • bucket der Cloud Storage-Bucket, das Verzeichnis oder Unterverzeichnis ist, aus dem Daten kopiert werden sollen.
    • mount-directory ist das Verzeichnis auf dem Client, in dem die Filestore-Dateifreigabe bereitgestellt wird.

Beispiel

Mit dem folgenden Befehl werden Daten aus dem Bucket data und allen Unterverzeichnissen in das Laufwerk Z: kopiert, das der Filestore-Dateifreigabe zugeordnet ist.

gsutil rsync -r gs://data Z:\

Daten von einem Computer in Ihrer Umgebung in eine Filestore-Dateifreigabe kopieren

Verwenden Sie den Befehl gcloud compute scp, um Daten von einem Computer in Ihrer Umgebung in eine Filestore-Dateifreigabe zu kopieren, die auf einer Compute Engine-Linux-VM-Instanz bereitgestellt ist. Der Befehl gcloud compute scp funktioniert nicht bei Windows-VM-Instanzen.

  1. Stellen Sie über SSH eine Verbindung zu dem Computer her, der die zu kopierenden Daten enthält.
  2. Prüfen Sie mit dem folgenden Befehl, ob die gcloud CLI installiert ist:

     which gcloud
    

    Wenn die gcloud CLI installiert ist, gibt der Befehl den Installationspfad zurück. Wenn kein Installationspfad zurückgegeben wird, folgen Sie der Anleitung unter gcloud CLI installieren, um ihn zu installieren.

  3. Kopieren Sie Daten in die bereitgestellte Filestore-Dateifreigabe:

     gcloud compute scp local-data-path client-name:/mount-directory --project=project-id --zone=zone
    

    Dabei gilt:

    • local-data-path der Pfad einer lokalen Datei oder eines lokalen Verzeichnisses ist, das die Daten enthält, die Sie in die Instanz kopieren möchten. Wenn Sie Daten aus anderen Unterverzeichnissen kopieren möchten, verwenden Sie das Flag --recurse nach local-data-path.
    • client-name ist der Name der Compute Engine-VM-Instanz, in der die Filestore-Dateifreigabe bereitgestellt wird.
    • mount-directory ist das Verzeichnis auf dem Client, in dem die Filestore-Dateifreigabe bereitgestellt wird.
    • project-id ist die ID des Projekts, das die Client-VM-Instanz enthält. Wenn Sie das gcloud-Standardprojekt mit gcloud config set project project-id festgelegt haben, können Sie dieses Flag überspringen und stattdessen das Standardprojekt verwenden.
    • zone ist die Zone, in der sich die Compute Engine-VM-Instanz befindet. Wenn Sie die gcloud-Standardzone mit gcloud config set compute/zone zone festgelegt haben, können Sie dieses Flag überspringen und stattdessen die Standardzone verwenden.

Beispiel

Der folgende Befehl kopiert Daten aus dem lokalen Verzeichnis /etc/acme/data und seinen Unterverzeichnissen in das Verzeichnis /mnt/filer auf der VM-Instanz nfs-client im Projekt myproject in Zone us-central1-c:

gcloud compute scp /etc/acme/data --recurse nfs-client:/mnt/filer --project myproject --zone us-central1-c

Daten aus einer Filestore-Dateifreigabe in einen Cloud Storage-Bucket kopieren

Mit dem Befehl gsutil rsync können Sie Daten aus einer Filestore-Dateifreigabe, die auf einer Compute Engine-VM-Instanz bereitgestellt ist, in einen Cloud Storage-Bucket kopieren.

Prüfen Sie zuerst, ob die Compute Engine-VM in Cloud Storage schreiben kann:

  1. Rufen Sie in der Google Cloud Console die Seite „VM-Instanzen“ auf.

    Rufen Sie die Seite "Compute Engine-Instanzen" auf.

  2. Wählen Sie eine Compute Engine-VM-Instanz aus, auf der die Dateifreigabe der Quelldatei gespeichert ist.

  3. Prüfen Sie, ob die Instanz den Bereich Lesen und Schreiben hat:

    1. Klicken Sie auf den Instanznamen, um die Seite mit den Instanzdetails zu öffnen.
    2. Erweitern Sie die Cloud-API-Zugriffsbereiche und prüfen Sie, ob Speicher den Bereich Lesen und Schreiben hat.

Wenn die Compute Engine-VM nicht über den Bereich Lesen/Schreiben verfügt, führen Sie die folgenden Schritte aus:

  1. Klicken Sie auf Beenden, um die Compute Engine-Instanz zu beenden.
  2. Wenn die Instanz angehalten wurde, klicken Sie oben auf der Seite auf Bearbeiten.
  3. Wählen Sie unter Zugriffsbereiche die Option Zugriff für jede API festlegen aus.
  4. Wählen Sie unter Speicher Lesen und Schreiben aus und klicken Sie auf Speichern.
  5. Wenn die Aktualisierung der Instanz abgeschlossen ist, klicken Sie oben auf der Seite auf Start.

Führen Sie die folgenden Schritte aus, um Daten aus einer Filestore-Dateifreigabe in einen Cloud Storage-Bucket zu kopieren:

Linux

  1. Rufen Sie in der Google Cloud Console die Seite „VM-Instanzen“ auf.

    Rufen Sie die Seite "Compute Engine-Instanzen" auf.

  2. Wählen Sie eine Compute Engine-VM-Instanz aus, auf der die Quell-Filestore-Dateifreigabe bereitgestellt ist, und klicken Sie zum Öffnen eines Terminals auf dieser VM-Instanz auf SSH.

  3. Kopieren Sie mit dem folgenden Befehl Daten aus der bereitgestellten Filestore-Dateifreigabe. Zum rekursiven Synchronisieren von Unterverzeichnissen des von Ihnen angegebenen Standorts verwenden Sie die Option -r mit dem Befehl gsutil rsync.

    gsutil rsync mount-directory gs://bucket
    

    Dabei gilt:

    • mount-directory ist das Verzeichnis auf dem Client, in dem die Filestore-Dateifreigabe bereitgestellt wird.
    • bucket der Cloud Storage-Bucket, das Verzeichnis oder Unterverzeichnis ist, in das Daten kopiert werden sollen.

Beispiel

Mit dem folgenden Befehl werden Daten aus dem Verzeichnis /mnt/filer und allen Unterverzeichnissen in den Bucket archive kopiert.

gsutil rsync -r /mnt/filer gs://archive

Windows

  1. Rufen Sie in der Google Cloud Console die Seite „VM-Instanzen“ auf.

    Rufen Sie die Seite "Compute Engine-Instanzen" auf.

  2. Wählen Sie eine Compute Engine-VM-Instanz aus, auf der die Dateifreigabe der Quell-Filestore bereitgestellt ist, und klicken Sie dann zum Öffnen einer Remote-Desktop-Verbindung zu dieser VM auf RDP.

  3. Kopieren Sie mit dem folgenden Befehl Daten aus dem zugeordneten Filestore-Dateifreigaben. Zum rekursiven Synchronisieren von Unterverzeichnissen des von Ihnen angegebenen Standorts verwenden Sie die Option -r mit dem Befehl gsutil rsync.

    gsutil rsync mapped-drive gs://bucket
    

    Dabei gilt:

    • mapped-drive ist das Laufwerk auf dem Client, dem die Filestore-Dateifreigabe zugeordnet ist.
    • bucket der Cloud Storage-Bucket, das Verzeichnis oder Unterverzeichnis ist, in das Daten kopiert werden sollen.

Beispiel

Mit dem folgenden Befehl werden Daten vom zugeordneten Laufwerk Z: und allen Unterverzeichnissen in den Bucket archive kopiert.

gsutil rsync -r Z:\ gs://archive

Fehlerbehebung

Das Kopieren von Daten aus Cloud Storage zu einer Filestore-Instanz mit gsutil kann langsam sein. Ausführliche Informationen zum Verbessern der Leistung finden Sie unter Leistung aller Google Cloud-Ressourcen verbessern.