Verwenden Sie Storage Transfer Service , um große Datasets von Cloud Storage zu Ihren Filestore -Dateifreigaben zu verschieben.
Storage Transfer Service hilft Ihnen, große Datasets schnell und sicher zwischen Objekt- und Dateispeichersystemen zu übertragen, unabhängig davon, ob Ihre Daten in Cloud Storage, bei Drittanbietern von Cloud-Diensten oder lokal gehostet werden.
Storage Transfer Service unterstützt beschleunigte Übertragungen großer Datasets mit Hunderten von Terabyte oder mehr. Verschieben Sie Ihre großen Datasets in die Cloud um die Analyse- und Machine-Learning-Vorgänge zu nutzen, die von den zugrunde liegenden Compute Engine-Instanzen verfügbar sind, in denen Ihre Filestore-Instanzen bereitgestellt werden.
Mit Storage Transfer Service können Sie von Google verwaltete Übertragungen erstellen oder selbst gehostete Übertragungen konfigurieren, um die volle Kontrolle über das Netzwerk-Routing und die Bandbreitennutzung zu haben.
Daten aus einem Cloud Storage-Bucket in eine Filestore-Dateifreigabe übertragen
Für die Übertragung von Daten aus Cloud Storage in eine Filestore-Dateifreigabe mit Storage Transfer Service sind die folgenden Aufgaben erforderlich:
- die Umgebung einrichten
- Filestore konfigurieren
- Storage Transfer Service konfigurieren
- Übertragungsjob erstellen und starten
In den folgenden Abschnitten werden die einzelnen Aufgaben beschrieben.
Umgebung einrichten
Projekt auswählen oder erstellen
Für diese Anleitung müssen sich die Quell- und Zielressourcen im selben Projekt befinden.
Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Projekt von aus oder erstellen Sie ein Google Cloud es.
Wenn Sie Filestore testen und die erstellten Ressourcen nicht behalten möchten, empfehlen wir, ein Projekt zu erstellen, anstatt ein vorhandenes Projekt auszuwählen. Wenn Sie mit dem Testen fertig sind, können Sie das Projekt löschen und dadurch alle mit dem Projekt verknüpften Ressourcen entfernen.
Abrechnung aktivieren
Die Abrechnung für Ihr Google Cloud Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.
-
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
Optional:
gcloud, eine wichtige Komponente des Google Cloud SDK, ist auf jeder Compute Engine-VM installiert. Wenn Sie einen der folgenden Schritte über die 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, ob Sie die neueste verfügbare Version haben. Führen Sie dazu den folgenden Befehl aus:
gcloud components updateDienstkonto erstellen Weisen Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen die folgenden Rollen zu:
OwnerProject IAM AdminRole AdministratorPub/Sub EditorCloud Filestore EditorStorage Object AdminStorage Transfer AdminStorage Transfer Agent
Kopieren und speichern Sie den Namen des Dienstkontos, das Sie für einen späteren Schritt erstellt haben.
Erstellen Sie einen Dienstkontoschlüssel für das gerade erstellte Konto. Für diese Anleitung erstellen Sie nur einen Schlüssel. Laden Sie die Schlüsseldatei herunter und speichern Sie sie für einen späteren Schritt.
Nutzerkonto Rollen zuweisen Suchen Sie auf der Seite „IAM “ Ihr Nutzerkonto und weisen Sie ihm die folgenden Rollen zu:
OwnerProject IAM AdminRole AdministratorStorage Transfer AdminStorage Admin
Weitere Informationen finden Sie unter Nutzerberechtigungen.
Filestore konfigurieren
Filestore-Instanz erstellen Wenden Sie beim Erstellen der Instanz die folgenden Spezifikationen an:
Der Cloud Storage-Bucket, die Client-VM und die Filestore Instanz müssen sich alle in derselben Region befinden.
Wählen Sie einen regionalen oder Enterprise-Instanztyp aus.
Optional: Für größere Datasets können Sie eine Kontingenterhöhung beantragen.
Kopieren Sie den Instanznamen und die IP-Adresse und speichern Sie sie für einen späteren Schritt.
Filestore-Instanz auf einem Clientcomputer bereitstellen
In dieser Anleitung 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 werden drei Storage Transfer Service-Agents installiert.
Erstellen Sie eine Compute Engine-VM-Instanz mit Zugriff auf andere Google Cloud Dienste.
Konfigurieren Sie eine VM mit den folgenden Spezifikationen:
Wenn Sie einen Standort angeben, müssen sich der Google Cloud Bucket, die Client-VM und die Filestore-Instanz alle in derselben Region befinden.
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. Für diese Anleitung stellen Sie eine
e2-standard-32Compute Engine-VM-Instanz bereit.Geben Sie im Abschnitt Identität und API-Zugriff Folgendes an:
- Wählen Sie im Drop-down-Menü Dienstkonten das gerade erstellte Dienstkonto aus.
Nachdem die Compute Engine-VM-Instanz erstellt wurde, melden Sie sich über SSH auf dem Computer an. Suchen Sie auf der Seite „Compute Engine-VM-Instanz “ die von Ihnen erstellte Instanz und klicken Sie auf SSH.
Verwenden Sie einen Texteditor wie Vim, um eine Kopie der Dienstkontoschlüsseldatei zu erstellen und sie vorübergehend lokal auf der VM zu speichern. Beispiel:
service-account-key.json.gcloudist 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 vongcloudzu autorisieren:gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILEDabei gilt:
ACCOUNT ist die E-Mail-Adresse für das von Ihnen erstellte Dienstkonto. Beispiel:
my-service-account@my-project.iam.gserviceaccount.com.KEY_FILE ist der relative lokale Pfad zur zuvor kopierten Schlüsseldatei, die Sie kopiert haben. Beispiel:
sa-key.json.
Installieren Sie NFS über die SSH-Befehlszeile:
sudo apt-get -y update && sudo apt-get install nfs-commonErstellen Sie ein lokales Verzeichnis, das der Filestore-Dateifreigabe zugeordnet werden soll. Wenn Sie diese Schritte für nachfolgende Compute Engine-VM-Instanzen wiederholen, verwenden Sie denselben Namen und Pfad:
sudo mkdir -p MY_DIRECTORYDabei gilt:
- MY_DIRECTORY ist der Name des lokalen POSIX-Verzeichnisses für die
Compute Engine-VM-Instanz. Beispiel:
/usr/local/my_dir.
- MY_DIRECTORY ist der Name des lokalen POSIX-Verzeichnisses für die
Compute Engine-VM-Instanz. Beispiel:
Stellen Sie die mit der Filestore-Instanz verknüpfte Dateifreigabe bereit, indem Sie den Befehl
mountausführen. Sie können beliebige NFS-Bereitstellungsoptionen verwenden. Die besten Ergebnisse erzielen Sie mit den NFS-Bereitstellungsempfehlungen unter Dateifreigabe auf einer Compute Engine-VM-Instanz bereitstellen:sudo mount -o rw IP_ADDRESS:/FILE_SHARE MY_DIRECTORYDabei gilt:
IP_ADDRESS ist die IP-Adresse für die Filestore Instanz. Sie finden sie auf der Seite „Filestore-Instanzen“.
FILE_SHARE ist der Name der Dateifreigabe für die Instanz. Beispiel:
my_fs_instance.MY_DIRECTORY ist der Name des Verzeichnisses, dem Sie im vorherigen Schritt zugeordnet haben. Dies ist ein Verzeichnis auf der Compute Engine-VM-Instanz, in dem Sie die Filestore-Instanz bereitstellen möchten.
Bestätigen Sie den Bereitstellungspunkt:
mount -l | grep nfsEs wird Folgendes oder Ähnliches zurückgegeben:
10.66.55.194:/my_fs_instance on /home/usr/my_dir type nfs (rw,relatime,vers=3,rsize=524288,wsize=524288,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=nfsEs wird Folgendes oder Ähnliches 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_dirNotieren Sie sich den Pfad zum lokalen POSIX-Verzeichnis und speichern Sie ihn für einen späteren Schritt.
Wiederholen Sie die vorherigen Schritte, um drei weitere Compute Engine-VM-Instanzen zu erstellen und dieselbe Filestore-Instanz auf jeder bereitzustellen. Verwenden Sie dasselbe Dienstkonto, um alle vier Compute Engine-VMs zu verwalten. Speichern Sie vorübergehend eine lokale Kopie des Dienstkontoschlüssels auf jeder VM.
Storage Transfer Service konfigurieren
Dienst-Agent für alle Storage Transfer Service-Funktionen autorisieren
Geben Sie den folgenden Befehl ein:
gcloud transfer authorize --add-missing --creds-file=KEY_FILEDabei gilt:
- KEY_FILE ist der relative lokale Pfad zur zuvor kopierten Schlüsseldatei, die Sie
kopiert haben. Beispiel:
sa-key.json.
Notieren Sie sich die zurückgegebene Benachrichtigung zum Dienst-Agent und speichern Sie die zugehörige E-Mail-Adresse für den nächsten Schritt.
- KEY_FILE ist der relative lokale Pfad zur zuvor kopierten Schlüsseldatei, die Sie
kopiert haben. Beispiel:
Nach einigen Minuten sollte der Dienst-Agent auf der IAM Seite angezeigt werden. Prüfen Sie nach der Weitergabe, ob die folgenden Rollen zugewiesen sind:
Pub/Sub EditorStorage Admin
Übertragungs-Agents installieren
Jeder Storage Transfer Service-Agent benötigt 4 vCPUs und 8 GB RAM.
Wir empfehlen, mehrere Agents zu installieren, um die Fehlertoleranz zu maximieren und die dynamische Skalierung von Storage Transfer Service zu nutzen. 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_FILEDabei 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.
Wiederholen Sie diese Schritte für jeden Clientcomputer.
Übertragungsjob erstellen und starten
- Erstellen Sie einen Übertragungsjob, um Daten aus Ihrem Cloud Storage-Bucket in Ihre Filestore-Instanz zu verschieben.
Geben Sie den Zielpfad an, indem Sie auf das zuvor gespeicherte lokale POSIX-Verzeichnis verweisen. Beispiel:
/home/usr/my_dir.
Übertragungsstatus überwachen
Console
Sie können den Status Ihrer Übertragung auf der Seite „Übertragungsjobs“ der Google Cloud Console überwachen.
Befehlszeile
Sie können den Status über die Befehlszeile überwachen:
gcloud transfer jobs monitor JOB_NAME
Dabei gilt:
- JOB_NAME ist der Name Ihres Übertragungsjobs. Beispiel:
transferJobs/OPI6300379522015192941.
Die Antwort sieht in etwa so aus:
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 Details zur Dateisystemübertragung.
Nächste Schritte
- Leistung für alle Ressourcen verbessern Google Cloud .
- Compute Engine-VM-Instanz mit Zugriff auf andere Google Cloud Dienste erstellen