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 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 jedes Mal geändert, wenn Storage Transfer Service versucht, die Datei hochzuladen. Sie können verhindern, dass mehrere Übertragungsjobs dieselbe Datei in denselben Cloud Storage-Bucket schreiben. Verwenden Sie dazu beim Erstellen von Übertragungsjobs eindeutige Cloud Storage-Objektpräfixe.
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-/Zielpfad falsch oder der Pfad korrekt, aber nicht alle Agents 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
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 ungültiger Speicherklasse fehlgeschlagen INVALID_FILE_STORAGE_CLASS Die Speicherklasse für die angegebene Quelle lässt keine Lesevorgänge zu. Informationen dazu, wie Sie die Daten in eine Speicherklasse übertragen, die das Kopieren der Daten ermöglicht, finden Sie in der Dokumentation für Ihren Cloud-Anbieter.
Aufgrund eines ungültigen Sitzungs-URI für den fortsetzbaren Upload fehlgeschlagen 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. Wenden Sie sich an den Support.
Aufgrund ungültiger 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 Übertragungs-Agent hatte 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 unzureichender Berechtigungen für das Quelldateisystem nicht lesen.

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 nicht überschreiben. Dieser Fehler kann angezeigt werden, wenn die Datei an der Quelle geändert wurde oder wenn Storage Transfer Service den Upload aufgrund von Netzwerkbedingungen zweimal versucht 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 Storage Transfer Service hatte nicht die erforderlichen Berechtigungen, um einen Vorgang auszuführen. Storage Transfer Service verwendet für den Zugriff auf Ressourcen ein von Google verwaltetes Dienstkonto, normalerweise im Format project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com. Verwenden Sie den API-Aufruf googleserviceaccounts.get, um Ihre spezifische PROJECT_NUMBER zu ermitteln. 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.
Wenn 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.
Fallback auf fortsetzbare Uploads anstelle von mehrteiligen Uploads aufgrund des Fehlers „Berechtigung verweigert“ PERMISSION_FAILURE Mehrteilige Uploads wurden für diese Übertragung aktiviert, aber es wurden nicht die richtigen Berechtigungen für den Bucket festgelegt. Die erforderlichen Berechtigungen finden Sie im Abschnitt Mehrteilige Uploads der 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 Agents in der Google Cloud Console als verbunden aufgeführt sind und Übertragungsfehler auftreten, finden Sie unter Fehler ansehen ein Beispiel für Übertragungsfehler. 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

Wobei:

  • hostname ist der Hostname, auf dem der Agent ausgeführt wird.
  • username ist der Nutzername, der den Agent ausführt.
  • log-level ist einer der folgenden Werte:
    • 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. Mit FIO können Sie den Lesedurchsatz Ihres Dateisystems testen.

    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 des Übertragungs-Agents beheben:

Agents sind nicht verbunden

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

  1. Prüfen Sie, ob Agents 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:

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