In diesem Dokument wird beschrieben, wie Sie Übertragungs- und Agent-Probleme beheben und wo Sie Agent-Logs finden, die Sie zur Fehlerbehebung verwenden können.
Fehler
In der folgenden Tabelle werden Übertragungsfehlermeldungen und deren Behebung beschrieben:
Fehlermeldung | Fehlertyp | Bedeutung des Fehlers | Fehlerbehebung |
---|---|---|---|
Bei der Übertragung geändert | FILE_MODIFIED_FAILURE | Die Quelldatei wurde während der Übertragung jedes Mal geändert, wenn Storage Transfer Service versucht hat, die Quelldatei zu kopieren. | Unterbinden Sie Schreibvorgänge für die angegebene Datei während des nächsten Storage Transfer Service-Vorgangs. |
Übertragung fehlgeschlagen | PRECONDITION_FAILURE | Das der Quelldatei zugeordnete Cloud Storage-Objekt wurde jedes Mal geändert, wenn Storage Transfer Service versucht hat, die Datei hochzuladen. | Verwenden Sie beim Erstellen von Übertragungsjobs eindeutige Cloud Storage-Objektpräfixe, um zu verhindern, dass mehrere Übertragungsjobs dieselbe Datei in denselben Cloud Storage-Bucket schreiben. |
Quellverzeichnis nicht gefunden | SOURCE_DIR_NOT_FOUND | Entweder ist der angegebene Quellpfad falsch oder der Pfad korrekt, aber nicht alle Agents haben Zugriff auf den Pfad. | Prüfen Sie die Konfiguration des Übertragungsjobs auf Folgendes:
|
Quell- oder Zielverzeichnis des Jobs konnte nicht gefunden werden | ROOT_DIR_NOT_FOUND | Entweder ist der angegebene Quell-/Zilpfad falsch oder der Pfad korrekt, aber nicht alle Kundenservicemitarbeiter haben Zugriff auf den Pfad. | Prüfen Sie die Konfiguration des Übertragungsjobs auf Folgendes:
|
Datei nicht gefunden | FILE_NOT_FOUND_FAILURE | Die Quelldatei wurde gefunden, aber vor der Übertragung in Cloud Storage gelöscht. | Wenn die Datei versehentlich gelöscht wurde, stellen Sie sie wieder her, damit sie beim nächsten Übertragungsjob hochgeladen werden kann. |
Der Ziel-Bucket konnte nicht gefunden werden. | BUCKET_NOT_FOUND | Der Ziel-Bucket ist in Cloud Storage nicht vorhanden. | Prüfen Sie, ob die Rechtschreibung des Ziel-Buckets korrekt und vorhanden ist. |
Internes Metadatenobjekt konnte nicht gefunden werden. | METADATA_OBJECT_ NOT_FOUND_FAILURE |
Der Storage Transfer Service speichert Metadaten im Ziel-Bucket mit dem Präfix storage-transfer . Wenn die Metadatendateien vor Abschluss der zugehörigen Übertragungsvorgänge gelöscht werden, wird dieser Fehler angezeigt.
|
Löschen Sie keine Objekte mit dem Präfix storage-transfer/ im Ziel-Bucket, bis alle Übertragungsjobs abgeschlossen sind. |
Aufgrund eines ungültigen Dateinamens fehlgeschlagen | INVALID_FILE_NAME | Der Pfad einer Quelldatei ist ungültig. | Prüfen und korrigieren Sie den angegebenen Dateipfad. Achten Sie darauf, dass der Pfad Zeichen verwendet, die von Cloud Storage unterstützt werden. |
Aufgrund einer ungültigen Speicherklasse fehlgeschlagen | INVALID_FILE_STORAGE_CLASS | Die Speicherklasse für die angegebene Quelle erlaubt keine Lesevorgänge. | Lesen Sie in der Dokumentation Ihres Cloud-Anbieters nach, wie Sie die Daten in eine Speicherklasse verschieben, die das Kopieren der Daten zulässt. |
Fehlgeschlagen aufgrund eines ungültigen URIs für die Sitzung des fortsetzbaren Uploads | SESSION_URI_INVALID | Die ID des fortsetzbaren Uploads oder der Sitzungs-URI ist abgelaufen oder wurde abgebrochen. | Der Fehler wird fälschlicherweise noch einmal versucht. Bitte wenden Sie sich an den Support. |
Aufgrund einer ungültigen Dateigröße fehlgeschlagen | INVALID_FILE_SIZE | Die Dateigröße ist ungültig. | Prüfen Sie, ob die Dateigröße für Übertragungen an Cloud Storage >= 0 und <= 5 TiB (maximale Cloud Storage-Objektgröße) ist. |
Aufgrund von Berechtigungen fehlgeschlagen | PERMISSION_FAILURE und UNAUTHENTICATED | Ein Übertragungsagent hat nicht die erforderlichen Berechtigungen, um einen Vorgang auszuführen. Für diesen Fehler gibt es zwei Möglichkeiten:
|
Gehen Sie so vor:
|
Das Objekt unterliegt der Aufbewahrungsrichtlinie des Buckets und kann nicht gelöscht, überschrieben oder archiviert werden. | PERMISSION_FAILURE | Für den Bucket gilt eine Aufbewahrungsrichtlinie und das Objekt ist bereits im Bucket vorhanden. Der Storage Transfer Service kann vorhandene Objekte im Bucket nicht überschreiben. Dieser Fehler kann auftreten, wenn die Datei an der Quelle geändert wurde oder wenn der Storage Transfer Service aufgrund von Netzwerkbedingungen zweimal versucht, die Datei hochzuladen, und der erste Upload erfolgreich war. | Prüfen Sie, ob die Daten in Ihrem Cloud Storage-Bucket Ihren Erwartungen entsprechen. Sie können bestätigen, dass die Größe und die geänderte Zeit (mtime) der Quelldateien mit ihren Cloud Storage-Objekt-Gegenstücken übereinstimmen, indem Sie den Job noch einmal ausführen und bestätigen, dass keine Fehler vorliegen. |
Der Dienst hat nicht genügend Berechtigungen. | SERVICE_PERMISSION_FAILURE | Der Storage Transfer Service hat nicht die erforderlichen Berechtigungen zum Ausführen eines Vorgangs. |
Storage Transfer Service verwendet ein von Google verwaltetes Dienstkonto, in der Regel im Format project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com , um auf Ressourcen zuzugreifen.
Verwenden Sie zum Ermitteln der spezifischen PROJECT_NUMBER den API-Aufruf
googleserviceaccounts.get .
Prüfen Sie, ob das Dienstkonto die folgenden Rollen hat:
|
Der Agent wird nicht unterstützt. | AGENT_UNSUPPORTED_VERSION | Die Agent-Version ist nicht mehr mit Storage Transfer Service kompatibel. | Dies ist ein vorübergehender Fehler, der sich auf ein fehlerhaftes Agent-Update bezieht. Gehen Sie in diesem Fall so vor:
|
Aufgrund von nicht übereinstimmendem Hash fehlgeschlagen | HASH_MISMATCH_FAILURE | Jedes Mal, wenn Storage Transfer Service versucht hat, diese Datei hochzuladen, waren die hochgeladenen Byte beschädigt. Dies führte dazu, dass der Hash der lokalen Datei nicht mit dem Hash des resultierenden Cloud Storage-Objekts übereinstimmte. | Dieser Fehler kann durch eine Reihe möglicher Probleme verursacht werden. Wenn ein kleiner Prozentsatz der nicht übereinstimmenden Hash-Fehler (weniger als 1 %) bei einer großen Übertragung angezeigt wird, wiederholen Sie die fehlgeschlagenen Dateien. Wenn Sie einen hohen Prozentsatz an Hash-Übereinstimmungen (1 % oder höher) sehen, empfehlen wir, potenzielle Speicher-, CPU- oder andere Hardwarefehler auf dem Agent-Computer zu untersuchen. |
Aufgrund eines nicht unterstützten Dateimodus fehlgeschlagen | UNSUPPORTED_FILE_MODE | Storage Transfer Service hat eine Datei mit einem nicht unterstützten Modus gefunden, z. B. ein Gerät, eine Socket-Datei, eine Named Pipe oder eine spezielle Datei. | Entfernen Sie diese speziellen Dateitypen aus dem Quellverzeichnis. |
Aufgrund eines Fehlers im Dateisystem fehlgeschlagen | FILESYSTEM_ERROR | Ein Agent hat beim Ausführen eines Dateisystemvorgangs wie Lesen, Suchen oder Statistik einen Dateisystem- oder Betriebssystemfehler festgestellt. | Lesen Sie die Fehlerbeschreibung, um zu verstehen, welcher Dateisystemvorgang fehlgeschlagen ist. Sorgen Sie dafür, dass das Dateisystem für den lokalen Agent zugänglich ist und auf grundlegende Dateivorgänge reagiert werden kann. |
Aufgrund eines unbekannten Fehlers fehlgeschlagen | UNKNOWN_FAILURE | Ein unerwarteter Fehler ist aufgetreten. | Lesen Sie die Fehlerbeschreibung. Wenn die Fehlerbeschreibung nicht genügend Informationen enthält, um das Problem zu beheben, wenden Sie sich an den Support. |
Fehler wegen ungültiger Spezifikation | INVALID_SPEC | Der Agent hat eine beschädigte interne Spezifikation empfangen. | Prüfen Sie, ob Daten auf Agent-Hosts beschädigt sind. Falls nicht, wenden Sie sich an den Support. |
Aufgrund einer leeren oder ungültigen Manifestdatei fehlgeschlagen | CONFORMANCE_FAILURE | Der Agent kann aufgrund ungültiger Formatierung oder CSV-Einträgen keine gültigen CSV-Byte lesen oder abrufen. | Die Manifesteinträge müssen gültige Dateipfade sein. Wenn die Fehlerbeschreibung nicht genügend Informationen enthält, um das Problem zu beheben, wenden Sie sich an den Support. |
Aufgrund des Fehlers „Berechtigung verweigert“ wird auf fortsetzbare Uploads statt auf mehrteilige Uploads zurückgegriffen | PERMISSION_FAILURE | Für diese Übertragung wurden Mehrere Uploads aktiviert, aber die richtigen Berechtigungen für den Bucket wurden nicht festgelegt. | Die erforderlichen Berechtigungen finden Sie im Abschnitt Mehrere Uploads des Artikels Dateisystemberechtigungen. |
Agent-Logs ansehen
Agent-Logs enthalten Informationen, die für Agent-Prozesse relevant sind, und helfen Ihnen bei der Behebung von Problemen mit der Agent-Verbindung. Wenn Ihre Kundenservicemitarbeiter in der Google Cloud Console als verbunden aufgeführt sind und Übertragungsfehler auftreten, sehen Sie sich unter Fehler ansehen ein Beispiel für Übertragungsfehler an. Informationen zum Aufrufen von Logs mit einem Datensatz aller Dateien, die von Storage Transfer Service während der Übertragung berücksichtigt wurden, finden Sie unter Übertragungslogs ansehen.
Agent-Logs werden standardmäßig in /tmp
gespeichert. Sie können den Speicherort mit der --log-dir=logs-directory
-Befehlszeile ändern.
Die Logs haben folgenden Namen:
agent.hostname.username.log.log-level.timestamp
Hierbei gilt:
hostname
ist der Hostname, auf dem der Agent ausgeführt wird.username
ist der Nutzername, der den Agent ausführt.log-level
hat eine der folgenden Einstellungen:INFO
: MitteilungenERROR
: Es wurden Fehler während der Übertragung erkannt, aber der Übertragungsjob wird dennoch fortgesetzt.FATAL
: Es sind Fehler aufgetreten, die die Fortsetzung des Übertragungsjobs verhindern.
timestamp
: Zeitstempel im FormatYYYYMMDD-hhmmss.thread-id
.
Das Logverzeichnis enthält Symlinks zu den neuesten Logs für jede der Prioritätsstufen:
agent.ERROR
agent.FATAL
agent.INFO
Langsame Übertragungsgeschwindigkeit
Wenn die Übertragung Ihrer Daten sehr lange dauert, prüfen Sie Folgendes:
Der Lesedurchsatz Ihres Dateisystems sollte etwa das 1,5-Fache der gewünschten Uploadgeschwindigkeit betragen. Sie können FIO zum Testen des Lesedurchsatzes Ihres Dateisystems verwenden.
Installieren Sie fio:
sudo apt install -y fio
Erstellen Sie ein neues Verzeichnis
fiotest
:TEST_DIR=/mnt/mnt_dir/fiotest
sudo mkdir -p $TEST_DIR
Testen Sie den Lesedurchsatz:
sudo fio --directory=$TEST_DIR --direct=1 --rw=randread --randrepeat=0 --ioengine=libaio --bs=1M --iodepth=8 --time_based=1 --runtime=180 --name=read_test --size=1G
Sobald Sie die oben genannten Befehle ausgeführt haben, erstellt Fio einen Bericht. Die Zeile "bw" stellt die Gesamtbandbreite aller Threads dar. Sie kann stellvertretend für den Lesedurchsatz verwendet werden.
Mit iPerf3 können Sie Ihre verfügbare Internetbandbreite zu Storage Transfer Service prüfen.
Jeder Ihrer Übertragungs-Agents muss mindestens 4 vCPUs und 8 GB RAM haben.
Wenn Sie die obigen Bedingungen überprüft haben und weiterhin lange Übertragungszeiten auftreten, können Sie zusätzliche Agents hinzufügen, um die Anzahl gleichzeitiger Verbindungen zum Dateisystem Ihrer Daten zu erhöhen.
Weitere Informationen zur Maximierung der Leistung Ihrer Übertragungs-Agents finden Sie unter Best Practices für Agents.
Fehlerbehebung bei Agent-Fehlern
In den folgenden Abschnitten wird die Behebung von Transfer for On Premises-Agent-Fehlern beschrieben:
Agents sind nicht verbunden
Wenn Transfer-Agents nicht als verbunden in der Google Cloud Console angezeigt werden:
Prüfen Sie, ob Kundenservicemitarbeiter eine Verbindung zu Cloud Storage APIs herstellen können:
Führen Sie den folgenden Befehl auf demselben Computer wie der Übertragungs-Agent aus, um die Verbindung des Agents zu Cloud Storage APIs zu testen:
gcloud storage cp test.txt gs://my-bucket
Ersetzen Sie:
my-bucket
durch den Namen Ihres Cloud Storage-Buckets.
Wenn Ihr Projekt VPC Service Controls verwendet, prüfen Sie die Agent-Logs auf Fehler. Wenn VPC Service Controls falsch konfiguriert ist, enthalten die
INFO
-Agent-Logs folgenden Fehler:Request is prohibited by organization's policy. vpcServiceControlsUniqueIdentifier: id
In dieser Ausgabe gilt:
id
ist die eindeutige ID des VPC Service Controls-Fehlers.
Agents sind verbunden, aber Jobs schlagen fehl
Wenn Agents als verbunden angezeigt werden, aber Übertragungsjobs fehlschlagen, prüfen Sie die Fehlerdetails der fehlgeschlagenen Jobs.
Proxy lehnt IP-Adressen ab
Wenn Sie einen Proxy wie Squid verwenden und eine Zulassungsliste nutzen, werden Anfragen möglicherweise abgelehnt, weil statt Hostnamen IP-Adressen verwendet werden.
Verwenden Sie zum Beheben dieses Problems den Befehl „docker run“, um die Agents auszuführen, und fügen Sie das folgende Flag hinzu:
--transfer-service-endpoint=storagetransfer.googleapis.com:443
Wenn Sie einen alternativen Endpunkt verwenden, um googleapis.com
zu erreichen (z.B. für Private Service Connect), ersetzen Sie googleapis.com
durch den alternativen Endpunkt.