Daten zu oder von Instanzen kopieren

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

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

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

Hinweise

Um dieser Anleitung folgen zu können, müssen Sie das Installationsprogramm des gcloud CLI

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

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

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. Für die rekursive Synchronisierung von Unterverzeichnissen der Standort verwenden möchten, verwenden Sie die Option --recursive mit der gcloud storage rsync-Befehl.

    gcloud storage 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.

gcloud storage rsync gs://data /mnt/filer --recursive

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. Für die rekursive Synchronisierung von Unterverzeichnissen der Standort verwenden möchten, verwenden Sie die Option --recursive mit der gcloud storage rsync-Befehl.

    gcloud storage 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.

gcloud storage rsync gs://data Z:\ --recursive

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, ob die gcloud CLI installiert ist. Führen Sie dazu folgenden Befehl aus: Befehl:

     which gcloud
    

    Wenn die gcloud CLI installiert ist, gibt der Befehl den Installationspfad zurück. Wird kein Installationspfad zurückgegeben, folgen Sie der Anleitung unter gcloud CLI installieren, um es 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
    

    wobei

    • 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 gcloud storage 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. Für die rekursive Synchronisierung von Unterverzeichnissen der Standort verwenden möchten, verwenden Sie die Option --recursive mit der gcloud storage rsync-Befehl.

    gcloud storage 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.

gcloud storage rsync /mnt/filer gs://archive --recursive

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. Für die rekursive Synchronisierung von Unterverzeichnissen der Standort verwenden möchten, verwenden Sie die Option --recursive mit der gcloud storage rsync-Befehl.

    gcloud storage 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.

gcloud storage rsync Z:\ gs://archive --recursive

Fehlerbehebung

Das Kopieren von Daten aus Cloud Storage in eine Filestore-Instanz mithilfe der Die gcloud CLI kann langsam sein. Detaillierte Informationen zur Verbesserung finden Sie unter Leistung aller Google Cloud-Ressourcen verbessern.