Fehlerbehebung bei Dateisystemübertragungen

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 hat versucht, 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 mit der Quelldatei verknüpfte Cloud Storage-Objekt wurde geändert jedes Mal, 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 lässt keine Lesevorgänge zu. In der Dokumentation Ihres Cloud-Anbieters erfahren Sie, wie Sie den in eine Speicherklasse, die das Kopieren der Daten ermöglicht.
Fehlgeschlagen aufgrund eines ungültigen URIs für die Sitzung eines fortsetzbaren Uploads SESSION_URI_INVALID Die ID des fortsetzbaren Uploads oder der Sitzungs-URI ist abgelaufen oder wurde abgebrochen. Der Versuch, den Fehler zu beheben, wird falsch wiederholt. 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:
  • Ein Agent hat nicht ausreichend Google Cloud-Berechtigungen.
  • Ein Agent konnte eine Datei oder ein Verzeichnis aufgrund unzureichenden Umfangs nicht lesen Berechtigungen für das Quelldateisystem.

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. Storage Transfer Service kann vorhandene Objekte im Bucket. 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 eine Von Google verwalteter Dienst Konto, 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:
  • roles/storagetransfer.serviceAgent für das Projekt.
  • roles/storage.admin für alle Ziel-Buckets.
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:
  1. Beenden Sie alle Agents.
  2. Rufen Sie mit dem folgenden Befehl das neueste Docker-Image ab: sudo docker pull gcr.io/cloud-ingest/tsop-agent
  3. Führen Sie den Docker-Befehl run aus, um alle Agent-Container zu starten.
Falls das Problem weiterhin besteht, wenden Sie sich an Ihr Supportteam.
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.
Es erfolgt ein Rückgriff auf fortsetzbare Uploads anstelle von mehrteiligen Uploads aufgrund von Fehler: Berechtigung verweigert PERMISSION_FAILURE Für diese Übertragung wurden Mehrere Uploads aktiviert, aber die richtigen Berechtigungen für den Bucket wurden nicht festgelegt. Weitere Informationen finden Sie im Abschnitt Mehrteilige Uploads der Dateisystemberechtigungen für die erforderlichen Berechtigungen.

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: Mitteilungen
    • ERROR: 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 Format YYYYMMDD-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:

  1. 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.

  2. Mit iPerf3 können Sie Ihre verfügbare Internetbandbreite zu Storage Transfer Service prüfen.

  3. 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 beschrieben, wie Sie Fehler bei der Übertragung beheben. Agent-Fehler:

Agents sind nicht verbunden

Wenn Transfer-Agents nicht als verbunden in der Google Cloud Console angezeigt werden:

  1. Prüfen Sie, ob Kundenservicemitarbeiter eine Verbindung zu Cloud Storage APIs herstellen können:

    1. 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.

  2. 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:

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 die Ausführung hinter einem Proxy wie Squid und Sie eine Zulassungsliste verwenden, können Anfragen abgelehnt werden, weil IP-Adressen werden anstelle von Hostnamen verwendet.

Verwenden Sie zur Behebung dieses Problems die Befehl „docker run“ zum Ausführen der Agents 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.