Mit Storage Transfer Service können Sie große Datensätze von Cloud Storage in Ihre Filestore-Dateifreigaben verschieben.
Mit 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 Datensätze, sodass auf einfache Weise Hunderte von TB Daten verarbeitet werden können. Verschieben Sie Ihre großen Datasets in die Cloud, um die Analyse- und ML-Vorgänge zu nutzen, die aus den zugrunde liegenden Compute Engine-Instanzen verfügbar sind, in denen Ihre Filestore-Instanzen bereitgestellt sind.
Mit Storage Transfer Service können Sie von Google verwaltete Übertragungen einfach erstellen oder selbst gehostete Übertragungen konfigurieren, um das Netzwerkrouting und die Bandbreitennutzung vollständig zu steuern.
Daten aus einem Cloud Storage-Bucket in eine Filestore-Dateifreigabe übertragen
Das Übertragen von Daten aus Cloud Storage an eine Filestore-Dateifreigabe mit Storage Transfer Service erfordert die folgenden Aufgaben:
- die Umgebung einrichten
- Filestore konfigurieren
- Storage Transfer Service konfigurieren.
- Erstellen Sie den Übertragungsjob und initiieren Sie ihn.
In den folgenden Abschnitten werden die einzelnen Schritte erläutert.
Umgebung einrichten
Wählen Sie ein Projekt aus oder erstellen Sie eines.
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 die von Ihnen erstellten Ressourcen nicht behalten möchten, empfehlen wir, ein Projekt zu erstellen, statt ein vorhandenes Projekt auszuwählen. Wenn Sie mit dem Testen fertig sind, können Sie das Projekt löschen. Dadurch werden alle damit verknüpften Ressourcen entfernt.
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.
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
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 folgenden Befehl aus:
gcloud components update
Erstellen Sie ein Dienstkonto. Weisen Sie im Bereich Diesem Dienstkonto Zugriff auf das Projekt erteilen 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
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 soeben erstellte Konto. Für die Zwecke 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.
Einem Nutzerkonto Rollen zuweisen Suchen Sie auf der Seite IAM nach Ihrem 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
Filestore-Instanz erstellen Wenden Sie beim Erstellen der Instanz die folgenden Spezifikationen an:
Achten Sie darauf, dass sich der Cloud Storage-Bucket, die Client-VM und die Filestore-Instanz innerhalb derselben Region befinden.
Wählen Sie den Instanztyp Enterprise aus.
Optional: Fordern Sie für größere Datensätze eine Kontingenterhöhung an.
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 diesem Leitfaden wird eine Übertragung beschrieben, bei der vier Compute Engine-VMs als NFS-Client-Maschinen 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.
eine Compute Engine-VM-Instanz mit Zugriff auf andere Google Cloud-Dienste erstellen
Konfigurieren Sie eine VM mit den folgenden Spezifikationen:
Achten Sie beim Angeben eines Standorts darauf, dass sich der Google Cloud-Bucket, die Client-VM und die Filestore-Instanz innerhalb derselben Region befinden.
Jeder Storage Transfer Service-Agent benötigt 4 vCPUs und 8 GB RAM. Führen Sie mehrere Agents pro VM aus, um die beste Leistung zu erzielen. Für diese Anleitung müssen Sie eine
e2-standard-32
-Compute Engine-VM-Instanz bereitstellen.Geben Sie im Abschnitt Identität und API-Zugriff Folgendes an:
- Wählen Sie im Drop-down-Menü Dienstkonten das gerade erstellte Dienstkonto aus.
Melden Sie sich nach dem Erstellen der Compute Engine-VM-Instanz mit SSH auf dem Computer an. Suchen Sie auf der Seite Compute Engine-VM-Instanz nach der erstellten Instanz und klicken Sie auf SSH.
Verwenden Sie einen Texteditor wie Vim, um eine Kopie der Schlüsseldatei des Dienstkontos zu erstellen und vorübergehend auf der VM zu speichern. Beispiel:
service-account-key.json
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 vongcloud
zu autorisieren:gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILE
wobei
ACCOUNT ist die E-Mail-Adresse des von Ihnen erstellten Dienstkontos. Beispiel:
my-service-account@my-project.iam.gserviceaccount.com
KEY_FILE ist der relative lokale Pfad zu der zuvor kopierten Schlüsseldatei. Beispiel:
sa-key.json
.
Installieren Sie NFS über die SSH-Befehlszeile:
sudo apt-get -y update && sudo apt-get install nfs-common
Erstellen Sie ein lokales Verzeichnis, das der Filestore-Dateifreigabe zugeordnet werden soll. Wenn Sie diese Schritte für die folgenden Compute Engine-VM-Instanzen wiederholen, verwenden Sie denselben Namen und Pfad:
sudo mkdir -p MY_DIRECTORY
wobei
- 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
mount
ausführen. Sie können beliebige NFS-Bereitstellungsoptionen verwenden. Informationen zur optimalen Leistung finden Sie in den NFS-Bereitstellungsempfehlungen unter Dateifreigabe auf einer Compute Engine-VM-Instanz bereitstellen:sudo mount -o rw,intr IP_ADDRESS:/FILE_SHARE MY_DIRECTORY
wobei
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.
Bereitstellungspunkt bestätigen:
mount -l | grep nfs
Dadurch 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=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 Ä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_dir
Notieren Sie sich den lokalen POSIX-Verzeichnispfad 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 jeweils bereitzustellen. Verwenden Sie dasselbe Dienstkonto, um alle vier Compute Engine-VMs zu verwalten. Speichern Sie vorübergehend auf jeder VM eine lokale Kopie des Dienstkontoschlüssels.
Storage Transfer Service konfigurieren
-
Geben Sie den folgenden Befehl ein:
gcloud transfer authorize --add-missing --creds-file=KEY_FILE
wobei
- KEY_FILE ist der relative lokale Pfad zu der zuvor kopierten Schlüsseldatei. Beispiel:
sa-key.json
.
Beachten Sie die zurückgegebene Benachrichtigung zum von Google verwalteten Dienstkonto und speichern Sie die zugehörige E-Mail-Adresse für den nächsten Schritt.
- KEY_FILE ist der relative lokale Pfad zu der zuvor kopierten Schlüsseldatei. Beispiel:
Nach einigen Minuten sollte das von Google verwaltete Dienstkonto auf der Seite IAM angezeigt werden. Prüfen Sie nach der Verbreitung, ob die folgenden Rollen zugewiesen sind:
Pub/Sub Editor
Storage Admin
Installieren Sie Übertragungs-Agents.
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 durch 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_FILE
wobei
MY_AGENT_POOL ist der Name des Agent-Pools, den Sie zuvor erstellt haben. 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 initiieren
- Erstellen Sie einen Übertragungsjob, um Daten aus Ihrem Cloud Storage-Bucket in Ihre Filestore-Instanz zu verschieben.
Geben Sie den zuvor gespeicherten lokalen POSIX-Verzeichnis an, um den Zielpfad anzugeben. Beispiel:
/home/usr/my_dir
Übertragungsstatus überwachen
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
wobei
- 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ät überwachen oder Details zum Dateisystem übertragen.
Nächste Schritte
- Verbessern Sie die Leistung aller Google Cloud-Ressourcen.
- Erstellen Sie eine Compute Engine-VM-Instanz mit Zugriff auf andere Google Cloud-Dienste.