Storage Transfer Service-Agents sind Anwendungen, die in einem OCI-Container (Open Container Initiative) ausgeführt und mit Storage Transfer Service für Übertragungen koordiniert werden, die Dateisysteme oder S3-kompatiblen Speicher umfassen.
Standardmäßig verwendet der Storage Transfer Service Docker, um OCI-Container zu erstellen und auszuführen.
Der Storage Transfer Service unterstützt auch Podman für die Containerverwaltung. Sie müssen Ihre Agenten mit dem Befehl podman run
installieren, um Podman verwenden zu können.
Wenn bei der Übertragung kein Dateisystem oder S3-kompatibler Speicher verwendet wird, müssen Sie keine Agents einrichten.
In diesem Dokument wird beschrieben, wie Sie Übertragungs-Agents auf Ihren Servern verwalten.
Übersicht
Agent-Prozesse sind dynamisch. Sie können während der Übertragung auch Agents hinzufügen, um die Leistung zu verbessern. Neu gestartete Agents werden dem entsprechenden Agent-Pool hinzugefügt und sind an der Verarbeitung vorhandener Übertragungen beteiligt. Damit können Sie anpassen, wie viele Agents ausgeführt werden, oder die Übertragungsleistung an die sich ändernde Übertragungsnachfrage anpassen.
Agent-Prozesse sind eine fehlertolerante Sammlung. Wenn ein Agent nicht mehr ausgeführt wird, funktionieren die verbleibenden Agents weiterhin. Wenn alle Ihre Agents angehalten werden und Sie die Agents neu starten, wird die Übertragung an der Stelle fortgesetzt, an der die Agents angehalten wurden. Auf diese Weise können Sie vermeiden, Agents zu überwachen, Übertragungen zu wiederholen oder Wiederherstellungslogik zu implementieren. Wenn Sie Agents mit Google Kubernetes Engine koordinieren, können Sie Ihre Agent-Pools ohne Ausfallzeiten bei der Übertragung patchen, verschieben und dynamisch skalieren.
Beispiel: Sie senden zwei Übertragungen, während zwei Agents ausgeführt werden. Wenn einer der Agents aufgrund eines Neustarts oder Betriebssystem-Patches gestoppt wird, funktioniert der verbleibende Agent weiterhin. Die beiden Übertragungen werden weiterhin ausgeführt, sind jedoch langsamer, da ein einzelner Agent Daten verschiebt. Wenn der verbleibende Agent ebenfalls beendet wird, werden alle Übertragungen unterbrochen, da keine Agents ausgeführt werden. Wenn Sie die Agent-Prozesse neu starten, werden die Übertragungen an der Stelle fortgesetzt, an der sie unterbrochen wurden.
Agent-Prozesse gehören zu einem Pool. Sie verschieben Ihre Daten parallel. Aus diesem Grund müssen alle Agents in einem Pool denselben Zugriff auf alle Datenquellen haben, die Sie übertragen möchten.
Wenn Sie beispielsweise Daten aus einem bestimmten Dateisystem übertragen, müssen Sie das Dateisystem auf allen Computern bereitstellen, auf denen Agents in Ihrem Agent-Pool gehostet werden. Wenn einige Kundenservicemitarbeiter in Ihrem Pool eine Datenquelle erreichen können, andere hingegen nicht, können Übertragungen von dieser Datenquelle nicht erfolgreich durchgeführt werden.
Vorbereitung
Bevor Sie die Übertragungen konfigurieren, müssen Sie folgenden Zugriff konfiguriert haben: für Nutzer und Dienstkonten.
Wenn Sie gcloud
-Befehle verwenden, installieren Sie die gcloud CLI.
Übertragungs-Agents installieren und ausführen
Wir empfehlen, mindestens drei Agents pro Agentenpool zu installieren, idealerweise auf separaten Computern. Weitere Informationen dazu, wie Sie die Anzahl der auszuführenden Agents ermitteln, finden Sie unter Leistung des Übertragungs-Agents maximieren.
Das Präfix der Kundenservicemitarbeiter-ID darf keine vertraulichen Informationen wie personenidentifizierbare Informationen oder Sicherheitsdaten enthalten. Ressourcennamen können an die Namen anderer Google Cloud-Ressourcen weitergegeben und für interne Google-Systeme außerhalb Ihres Projekts freigegeben werden.So installieren und führen Sie Übertragungs-Agents aus:
Google Cloud Console
Rufen Sie in der Google Cloud Console die Seite Agent-Pools auf.
Wählen Sie den Agent-Pool aus, dem Sie den neuen Agent hinzufügen möchten.
Klicken Sie auf Agent installieren.
Folgen Sie der Anleitung, um den Agent zu installieren und auszuführen.
Weitere Informationen zu den Befehlszeilenoptionen des Agents finden Sie unter Agent-Befehlszeilenoptionen.
gcloud-CLI
Wenn Sie einen oder mehrere Agents mithilfe der gcloud CLI installieren möchten, führen Sie gcloud transfer agents install
aus:
gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \
--mount-directories=MOUNT_DIRECTORIES
Das Tool führt Sie durch die erforderlichen Schritte zur Installation des Agents. Dieser Befehl installiert NUM_AGENTS Agents auf Ihrem Computer, die dem Poolnamen angegeben als POOL_NAME zugeordnet sind und authentifiziert die Agents mithilfe Ihrer gcloud
-Anmeldedaten. Der Poolname muss vorhanden sein oder ein Fehler wird zurückgegeben.
Das Flag --mount-directories
ist optional, wird aber dringend empfohlen. Der Wert ist eine durch Kommas getrennte Liste von Verzeichnissen im Dateisystem, für die dem Kundenservicemitarbeiter Zugriff gewährt werden soll.
Wenn Sie dieses Flag weglassen, wird das gesamte Dateisystem im Agent-Container bereitgestellt. Weitere Informationen finden Sie in der Referenz zu gcloud
.
S3-kompatible Quellen
Wenn Sie Agenten für die Verwendung mit einer S3-kompatiblen Quelle installieren, müssen Sie AWS-Anmeldedaten entweder als Umgebungsvariablen als Werte von AWS_ACCESS_KEY_ID
und AWS_SECRET_ACCESS_KEY
oder als Standardanmeldedaten in den Konfigurationsdateien Ihres Systems angeben.
export AWS_ACCESS_KEY_ID=ID
export AWS_SECRET_ACCESS_KEY=SECRET
gcloud transfer agents install --pool=POOL_NAME \
--creds-file=/relative/path/to/service-account-key.json
Dienstkontoschlüssel verwenden
Verwenden Sie die Option --creds-file
, um Agents mit einem Dienstkontoschlüssel auszuführen:
gcloud transfer agents install --pool=POOL_NAME --count=NUM_AGENTS \
--creds-file=/relative/path/to/service-account-key.json
Weitere Informationen
Für eine vollständige Liste der optionalen Flags führen Sie gcloud transfer agents install --help
aus oder lesen Sie die Referenz zu gcloud transfer
.
Docker
Bevor Sie Docker zum Installieren von Agents verwenden, folgen Sie der Anleitung zur Installation von Docker.
Mit dem Befehl docker run
wird ein Agent installiert. Wenn Sie die Anzahl der Kundenservicemitarbeiter in Ihrem Pool erhöhen möchten, führen Sie diesen Befehl so oft aus, wie erforderlich.
Beim Installieren von Agents können Sie sich mit Ihren gcloud
-Standardanmeldedaten oder mit einem Dienstkonto authentifizieren.
Standardanmeldedaten
Damit der Docker-Container sich mit Ihren gcloud
-Standardanmeldedaten authentifizieren kann, erstellen Sie ein Docker-Volume mit einer Datei, die die Standardanmeldedaten für Anwendungen enthält. Führen Sie dazu folgenden Befehl aus:
sudo docker run -ti --name gcloud-config google/cloud-sdk gcloud auth application-default login
Verwenden Sie dann den folgenden Befehl, um einen Agenten zu installieren und das Anmeldedatenvolume gcloud-config
mit dem Flag --volumes-from
bereitzustellen:
sudo docker run --ulimit memlock=64000000 -d --rm \ --volumes-from gcloud-config \ -v HOST_DIRECTORY:CONTAINER_DIRECTORY \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT_ID \ --hostname=$(hostname) \ --agent-pool=POOL_NAME
Authentifizierung über Dienstkonto
Wenn Sie Transfer-Agents docker run
mit Dienstkontoanmeldedaten installieren und ausführen möchten, geben Sie mit dem Flag --creds-file
den Pfad zum JSON-formatierten Dienstkontoschlüssel an.
Der Pfad muss das Präfix /transfer_root
haben.
Weitere Informationen zu Dienstkontoschlüsseln finden Sie unter Dienstkontoschlüssel erstellen und verwalten.
sudo docker run --ulimit memlock=64000000 -d --rm \ -v HOST_DIRECTORY:CONTAINER_DIRECTORY \ -v PATH/TO/KEY.JSON:PATH/TO/KEY.JSON \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT_ID \ --creds-file=/transfer_root/PATH/TO/KEY.JSON \ --hostname=$(hostname) \ --agent-pool=POOL_NAME
Optionen und Flags
Ersetzen Sie die Variablen in den Beispielen oben durch die folgenden Informationen:
HOST_DIRECTORY
ist das Verzeichnis auf dem Hostcomputer, aus dem Sie kopieren möchten. Sie können mehrere-v
-Flags verwenden, um zusätzliche Verzeichnisse anzugeben, aus denen kopiert werden soll.CONTAINER_DIRECTORY
ist das Verzeichnis, das dem Agent-Container zugeordnet ist. Sie muss mitHOST_DIRECTORY
übereinstimmen.PROJECT_ID
ist die Projekt-ID, die die Übertragung hostet.POOL_NAME
ist der Name des Agent-Pools, in dem dieser Agent installiert werden soll. Wenn Sie dieses Flag weglassen, wird der Agent imtransfer_service_default
-Pool Ihres Projekts installiert.
Der Befehl docker run
unterstützt zusätzliche Flags.
Mit
--enable-mount-directory
wird das gesamte Dateisystem im Verzeichnis/transfer_root
im Container bereitgestellt. Wenn--enable-mount-directory
angegeben ist, werden keine Verzeichniseinschränkungen mit dem Flag-v
angewendet.--creds-file=CREDENTIAL_FILE
gibt den Pfad zu einer JSON-formatierten Datei mit Anmeldedaten für das Dienstkonto an. Sofern Sie nicht--enable_mount_directory
verwenden, müssen Sie Folgendes tun:- Mit dem Flag
-v
können Sie die Anmeldedatendatei bereitstellen. - Stellen Sie dem Pfad zu
--creds-file
das Präfix/transfer_root
voran.
Beispiel:
-v /tmp/key.json:/tmp/key.json \ --creds-file=/transfer_root/tmp/key.json
- Mit dem Flag
--enable-s3
gibt an, dass dieser Agent für Übertragungen von S3-kompatiblem Speicher bestimmt ist. Mit dieser Option installierte Agents können nicht für Übertragungen von POSIX-Dateisystemen verwendet werden.Wenn die Übertragung von AWS S3 oder einem S3-kompatiblen Speicher erfolgt, geben Sie die Zugriffsschlüssel-ID und den geheimen Schlüssel über Umgebungsvariablen an:
-e AWS_ACCESS_KEY_ID=AWS_ACCESS_KEY_ID \ -e AWS_SECRET_ACCESS_KEY=AWS_SECRET_ACCESS_KEY
--env HTTPS_PROXY=PROXY
gibt einen Forward-Proxy in Ihrem Netzwerk an. Der Wert vonPROXY
ist die HTTP-URL und der Port des Proxyservers. Achten Sie darauf, die HTTP-URL und keine HTTPS-URL anzugeben, damit Anfragen in TLS-Verschlüsselung nicht doppelt verpackt werden. Doppelt verpackte Anfragen verhindern, dass der Proxyserver gültige ausgehende Anfragen sendet.--agent-id-prefix=ID_PREFIX
: ein optionales Präfix, das der Agent-ID vorangestellt wird, um den Agent oder seinen Computer in der Google Cloud Console zu identifizieren. Wenn ein Präfix verwendet wird, hat die Kundenservicemitarbeiter-ID das Formatprefix + hostname + Docker container ID
.Mit
--log-dir=LOGS_DIRECTORY
wird das Verzeichnis geändert, in das der Agent Protokolle schreibt. Das Standardverzeichnis ist/tmp/
.Wenn Sie
--enable_mount_directory
nicht angegeben haben, müssen Sie diesem Pfad das Präfix/transfer_root
voranstellen. Beispiel:/transfer_root/logs
.--max-physical-mem=MAX_MEMORY
: Agents verwenden standardmäßig maximal 8 GiB Systemspeicher. Wenn der Standardwert nicht zu Ihrer Umgebung passt, können Sie in den folgenden Formaten eine geeignete maximale Speichernutzung angeben:max-physical-mem
WertEinstellung für den maximalen Arbeitsspeicher 6g
6 Gigabyte 6gb
6 Gigabyte 6GiB
6 Gibibyte
Podman
Bevor Sie Podman zum Installieren von Agenten verwenden, installieren Sie Podman:
sudo apt-get update
sudo apt-get -y install podman
Beim Installieren von Agents können Sie sich mit Ihren gcloud
-Standardanmeldedaten oder mit einem Dienstkonto authentifizieren.
Standardanmeldedaten
Damit sich der Agent-Container mit den Standardanmeldedaten Ihrer Google Cloud CLI authentifizieren kann, erstellen Sie ein Volume mit einer Datei, die die Standardanmeldedaten für Anwendungen enthält. Führen Sie dazu folgenden Befehl aus:
gcloud auth print-access-token | podman login -u oauth2accesstoken --password-stdin gcr.io
sudo podman pull gcr.io/google.com/cloudsdktool/google-cloud-cli:stable
sudo podman run -ti --replace --name gcloud-config gcr.io/google.com/cloudsdktool/google-cloud-cli:stable gcloud auth application-default login
```
Then use the following command to install an agent, using the
`--volumes-from` flag to mount the `gcloud-config` credentials volume.
The command installs one agent. To increase the number of agents in your
pool, re-run this command as many times as required.
```sh
sudo podman run \
--ulimit memlock=64000000 \
-d \
--rm \
--volumes-from gcloud-config \
-v HOST_DIRECTORY:CONTAINER_DIRECTORY \
gcr.io/cloud-ingest/tsop-agent:latest \
--project-id=PROJECT_ID \
--hostname=$(hostname) \
--agent-pool=POOL_NAME
```
Authentifizierung über Dienstkonto
Wenn Sie Transfer-Agents mit Dienstkonto-Anmeldedaten installieren und ausführen möchten, geben Sie mit dem Flag --creds-file
den Pfad zum JSON-formatierten Dienstkontoschlüssel an.
Der Pfad muss das Präfix /transfer_root
haben.
Weitere Informationen zu Dienstkontoschlüsseln finden Sie unter Dienstkontoschlüssel erstellen und verwalten.
sudo podman run --ulimit memlock=64000000 -d --rm \ -v HOST_DIRECTORY:CONTAINER_DIRECTORY \ -v PATH/TO/KEY.JSON:PATH/TO/KEY.JSON \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT_ID \ --creds-file=/transfer_root/PATH/TO/KEY.JSON --hostname=$(hostname) \ --agent-pool=POOL_NAME
Optionen und Flags
Ersetzen Sie die Variablen in den Beispielen oben durch die folgenden Informationen:
HOST_DIRECTORY
ist das Verzeichnis auf dem Hostcomputer, aus dem Sie kopieren möchten. Sie können mehrere-v
-Flags verwenden, um zusätzliche Verzeichnisse anzugeben, aus denen kopiert werden soll.CONTAINER_DIRECTORY
ist das Verzeichnis, das dem Agent-Container zugeordnet ist. Sie muss mitHOST_DIRECTORY
übereinstimmen.PROJECT_ID
ist die Projekt-ID, die die Übertragung hostet.POOL_NAME
ist der Name des Agent-Pools, in dem dieser Agent installiert werden soll. Wenn Sie dieses Flag weglassen, wird der Agent imtransfer_service_default
-Pool Ihres Projekts installiert.
Der Befehl podman run
unterstützt zusätzliche Flags.
Mit
--enable-mount-directory
wird das gesamte Dateisystem im Verzeichnis/transfer_root
im Container bereitgestellt. Wenn--enable-mount-directory
angegeben ist, werden keine Verzeichniseinschränkungen mit dem Flag-v
angewendet.--creds-file=CREDENTIAL_FILE
gibt den Pfad zu einer JSON-formatierten Datei mit Anmeldedaten für das Dienstkonto an. Sofern Sie nicht--enable_mount_directory
verwenden, müssen Sie Folgendes tun:- Mit dem Flag
-v
können Sie die Anmeldedatendatei bereitstellen. - Stellen Sie dem Pfad zu
--creds-file
das Präfix/transfer_root
voran.
Beispiel:
-v /tmp/key.json:/tmp/key.json \ --creds-file=/transfer_root/tmp/key.json
- Mit dem Flag
--enable-s3
gibt an, dass dieser Agent für Übertragungen von S3-kompatiblem Speicher bestimmt ist. Mit dieser Option installierte Agents können nicht für Übertragungen von POSIX-Dateisystemen verwendet werden.Wenn die Übertragung von AWS S3 oder einem S3-kompatiblen Speicher erfolgt, geben Sie die Zugriffsschlüssel-ID und den geheimen Schlüssel über Umgebungsvariablen an:
-e AWS_ACCESS_KEY_ID=AWS_ACCESS_KEY_ID \ -e AWS_SECRET_ACCESS_KEY=AWS_SECRET_ACCESS_KEY
--env HTTPS_PROXY=PROXY
gibt einen Forward-Proxy in Ihrem Netzwerk an. Der Wert vonPROXY
ist die HTTP-URL und der Port des Proxyservers. Achten Sie darauf, die HTTP-URL und keine HTTPS-URL anzugeben, damit Anfragen in TLS-Verschlüsselung nicht doppelt verpackt werden. Doppelt verpackte Anfragen verhindern, dass der Proxyserver gültige ausgehende Anfragen sendet.--agent-id-prefix=ID_PREFIX
: ein optionales Präfix, das der Agent-ID vorangestellt wird, um den Agent oder seinen Computer in der Google Cloud Console zu identifizieren. Wenn ein Präfix verwendet wird, hat die Kundenservicemitarbeiter-ID das Formatprefix + hostname + OCI container ID
.Mit
--log-dir=LOGS_DIRECTORY
wird das Verzeichnis geändert, in das der Agent Protokolle schreibt. Das Standardverzeichnis ist/tmp/
.Wenn Sie
--enable_mount_directory
nicht angegeben haben, müssen Sie diesem Pfad das Präfix/transfer_root
voranstellen. Beispiel:/transfer_root/logs
.--max-physical-mem=MAX_MEMORY
: Agents verwenden standardmäßig maximal 8 GiB Systemspeicher. Wenn der Standardwert nicht zu Ihrer Umgebung passt, können Sie in den folgenden Formaten eine geeignete maximale Speichernutzung angeben:max-physical-mem
WertEinstellung für den maximalen Arbeitsspeicher 6g
6 Gigabyte 6gb
6 Gigabyte 6GiB
6 Gibibyte
Fehlerbehebung
Wenn Ihre SELinux-Konfiguration erfordert, dass Labels auf Volume-Inhalte angewendet werden, die in einem Container bereitgestellt werden, fügen Sie dem Volume das Flag :Z
hinzu:
sudo podman run --ulimit memlock=64000000 -d --rm \
-v HOST_DIRECTORY:CONTAINER_DIRECTORY:Z \
-v PATH/TO/KEY.JSON:PATH/TO/KEY.JSON \
gcr.io/cloud-ingest/tsop-agent:latest \
--project-id=PROJECT_ID \
--creds-file=/transfer_root/PATH/TO/KEY.JSON
--hostname=$(hostname) \
--agent-pool=POOL_NAME
Ohne Label verhindert das Sicherheitssystem möglicherweise, dass die im Container ausgeführten Prozesse die Inhalte verwenden. Standardmäßig ändert Podman die vom Betriebssystem festgelegten Labels nicht.
Agent-Verbindungen bestätigen
So prüfen Sie, ob Ihre Agents verbunden sind:
Rufen Sie in der Google Cloud Console die Seite Agent-Pools auf.
Ihre Agent-Pools werden mit der Anzahl der verbundenen Agents angezeigt.
Wählen Sie einen Agent-Pool aus, um Details zu verbundenen Agents aufzurufen.
Wenn ein neuer Agent nicht innerhalb von zehn Minuten nach der Erstellung auf der Seite des Agent-Pools angezeigt wird, finden Sie weitere Informationen unter Agents sind nicht verbunden.
Agent-Aktivität überwachen
Sie können Cloud Monitoring verwenden, um die Agent-Aktivität zu überwachen.
Das Monitoring ist für die Dimensionen project
, agent_pool
und agent_id
verfügbar.
Mit diesen Monitoring-Daten können Sie Benachrichtigungen einrichten, um über potenzielle Probleme bei der Übertragung informiert zu werden. Erstellen Sie dazu eine Benachrichtigung für einen der folgenden Google Cloud-Messwerte:
Messwertname | Beschreibung | Empfohlene Anwendungsmöglichkeiten |
---|---|---|
storagetransfer.googleapis.com/agent/transferred_bytes_count | Gibt an, wie schnell ein bestimmter Agent Daten über alle von ihm bereitgestellten Jobs zu einem bestimmten Zeitpunkt verschiebt. | Benachrichtigung bei Leistungsrückgängen. |
storagetransfer.googleapis.com/agent/connected | Ein boolescher Wert, der true ist, für jeden Agent, von dem Google Cloud eine aktuelle Heartbeat-Nachricht erhalten hat. |
|
Agent beenden
Führen Sie zum Beenden eines Agents docker stop
für die Docker-Container-ID des Agents aus. So finden Sie die ID und beenden den Agenten:
Rufen Sie in der Google Cloud Console die Seite Agent-Pools auf.
Wählen Sie den Agent-Pool aus, der den zu beendenden Agent enthält.
Wählen Sie einen Agent aus der Liste aus. Im Feld Filter können Sie nach Präfixen, Agent-Status, Agent-Alter und mehr suchen.
Klicken Sie auf Agent beenden. Der Befehl
docker stop
mit der spezifischen Container-ID wird angezeigt.Führen Sie den Befehl auf dem Computer aus, auf dem der Agent ausgeführt wird. Ein erfolgreicher
docker stop
-Befehl gibt die Container-ID zurück.
Nach dem Beenden wird der Agent in der Liste der Agent-Pools als Nicht verbunden angezeigt.
Agent löschen
Um bestimmte Agents zu löschen, listen Sie auf, welche Agents auf Ihrem Computer ausgeführt werden:
docker container list --all --filter ancestor=gcr.io/cloud-ingest/tsop-agent
Übergeben Sie dann die Kundenservicemitarbeiter-IDs an transfer agents delete
:
gcloud transfer agents delete --ids=id1,id2,…
Verwenden Sie zum Löschen aller Agents, die auf dem Computer ausgeführt werden, eines der Flags --all
oder --uninstall
. Beide Flags löschen alle Agents auf dem Computer. Das --uninstall
-Flag deinstalliert zusätzlich das Agent-Docker-Image.
gcloud transfer agents delete --all
gcloud transfer agents delete --uninstall
Details zur Dateisystemübertragung
Inkrementelle Übertragungen
Der Storage Transfer Service beginnt mit allen Daten, die an der Quelle und am Ziel vorhanden sind, um festzustellen, welche Quelldateien seit der letzten Übertragung neu, aktualisiert oder gelöscht wurden. Dadurch soll die von Ihren Maschinen gesendete Datenmenge reduziert, die Bandbreite effektiv genutzt und die Übertragungszeiten reduziert werden.
Um festzustellen, ob sich eine Datei geändert hat, prüfen wir die letzte Änderung und Größe der Quelldatei und vergleichen sie mit dem Zeitpunkt und Größe der letzten Änderung, die aufgezeichnet wurden, als die Datei zuletzt kopiert wurde. Wird eine neue oder geänderte Datei erkannt, wird die gesamte Datei in das Ziel kopiert. Weitere Informationen zur Dateiaktualität finden Sie unter Details zur Datenkonsistenz.
Standardmäßig erkennen wir keine Dateien, die aus der Quelle gelöscht wurden, aber nicht darauf reagieren. Wenn Sie beim Erstellen oder Bearbeiten die Sync-Option Zieldateien löschen wählen, die sich nicht auch in der Quelle befinden, wird bei Ihrer Übertragung das entsprechende Objekt am Ziel gelöscht.
Wenn Sie die Synchronisierungsoption Zieldateien löschen, die nicht auch in der Quelle sind auswählen, werden Dateien, die versehentlich an der Quelle gelöscht wurden, auch am Ziel gelöscht. Wenn Sie verhindern möchten, dass Datenverluste versehentlich gelöscht werden, empfehlen wir, die Objektversionierung im Ziel-Bucket zu aktivieren, wenn Sie diese Option verwenden möchten. Wenn Sie dann versehentlich eine Datei löschen, können Sie Ihre Objekte in Cloud Storage in einer älteren Version wiederherstellen.
Details zur Datenkonsistenz
Bei einem erfolgreichen Übertragungsvorgang werden alle Quelldateien übertragen, die während der gesamten Ausführungszeit des Vorgangs nicht geändert wurden. Quelldateien, die während einer Übertragung erstellt, aktualisiert oder gelöscht wurden, können diese Änderungen im Zieldatensatz enthalten.
Der Storage Transfer Service verwendet die letzte Änderungszeit und Größe einer Datei, um zu ermitteln, ob sie sich geändert hat. Wenn eine Datei aktualisiert wird, ohne dass sich der Zeitpunkt der letzten Änderung oder die Größe ändert, und Sie die Option delete-objects-from-source
aktivieren, gehen durch diese Änderung möglicherweise Daten verloren.
Wenn Sie das Feature delete-objects-from-source
verwenden, empfehlen wir dringend, Schreibvorgänge in die Quelle für die Dauer der Übertragung einzufrieren, um vor Datenverlust zu schützen.
So lassen Sie Schreibvorgänge für die Quelle ruhen:
- Klonen Sie das Verzeichnis, das Sie übertragen möchten, und verwenden Sie das geklonte Verzeichnis als Übertragungsquelle.
- Beenden Sie Anwendungen, die in das Quellverzeichnis schreiben.
Wenn es wichtig ist, während einer Übertragung vorgenommene Änderungen zu erfassen, können Sie die Übertragung noch einmal ausführen oder das Quelldateisystem während der Ausführung als schreibgeschützt festlegen.
Da Cloud Storage keine Vorstellung von Verzeichnissen hat, werden leere Quellverzeichnisse nicht übertragen.