Ich verwende Backblaze als S3-Speicher und habe die Einstellung verwaiste Uploads bereinigen aktiviert. Das Problem ist jedoch, dass anstatt den verwaisten Upload zu löschen, eine doppelte Datei mit 0 Byte erstellt wurde.
Siehe unten ein Beispiel. Die (2) gibt die Anzahl der Dateien mit demselben Namen an. Wenn Sie sie erweitern, sehen Sie, dass die Originaldatei weiterhin existiert, ebenfalls mit einer 0-Byte-Datei. Hat jemand ein ähnliches Problem gehabt? Liegt das Problem bei Backblaze oder bei der Einstellung? Vielen Dank.
Discourse verwendet die S3-API, und da sie mit AWS S3 einwandfrei funktioniert, wird dies als Problem von Backblaze betrachtet. Vielleicht solltest du deren Support kontaktieren? Ich werde einen Hinweis dazu in Verwendung von Objektspeicher für Uploads (S3 & Klone) hinzufügen.
Es gibt eine Auslassungsstelle, die darauf hindeutet, dass der Name der 0-Byte-Datei abgeschnitten wird. Wie lautet der vollständige Name? Ich würde wetten, dass der Bucket eine Dateilebensdauer-Konfiguration hat und diese Datei ein ‘Versteckmarker’ ist, wie sie es nennen.
Wenn die Lebensdauer abläuft, sollten beide Versionen verschwinden.
Der abgeschnittene Teil ist „versteckt“. Ich denke, du hast recht. Es sieht so aus, als wären die duplizierten Dateien alle kürzlich hochgeladen. Ich warte etwas ab und schaue, ob sie verschwinden. Vielen Dank.
Hallo,
könntest du uns bitte mitteilen, ob das Problem behoben ist?
Es ist mehr als ein Jahr vergangen, seit dein letzter Beitrag veröffentlicht wurde, daher hoffen wir, dass es jetzt in Ordnung ist… ![]()
Das Problem ist noch nicht behoben. Ich habe gerade alle verwaisten Dateien manuell von BackBlaze gelöscht. Ich denke, ich werde zu diesem Zeitpunkt zu S3 wechseln, da die regelmäßige Bereinigung des Speichers eine eigene Aufgabe darstellt.
Nur ein Update zu meiner Erfahrung…
Ich habe ein kostenloses B2-Konto (d.h. die ersten 10 GB) und keine Zahlungsmethode hinterlegt.
Die Backup-Dateien werden rotiert und die ‘versteckten’ Dateien werden nach einigen Tagen permanent gelöscht. Ich habe nie mehr als 7 Dateien gleichzeitig (Discourse hat maximal 5 tägliche Backup-Rotationen). Da meine Backups nie mehr als ca. 500 MB pro Stück sind, musste ich nie für etwas bezahlen oder ‘verwaiste’ Dateien manuell löschen.
Gibt es eine Änderung bei diesem Problem? Hat jemand versucht, den Backblaze-Support diesbezüglich zu kontaktieren?
Aber das Problem scheint bei ‘Uploads’ zu liegen!!
Da die ‘Backups’ nicht so viele/zu viele Dateien zum Verwalten sind. Sie sind überschaubar, sogar manuell.
Dieses Problem scheint weiterhin zu bestehen.
@Falco könnten Sie näher erläutern, welche S3-Operationen Discourse durchführt, um verwaiste Objekte zu bereinigen?
Danke. Ich sehe, dass copy_to_tombstone hier involviert ist. Ich konnte keine Dokumentation über Tombstones und verwaiste Dateien finden, daher kann ich nur vermuten, wie es funktioniert, basierend auf dem, was ich im Forum gelesen habe. Bitte korrigieren Sie mich, wenn ich falsch liege:
- Wenn eine verwaiste Datei identifiziert wird (nach Ablauf der Frist für verwaiste Uploads), wird sie in den Tombstone-Ordner kopiert (
copy_object). - Sie wird dann gelöscht (oder soll gelöscht werden) mit
delete_object. - Wenn die Zeit kommt (nach Ablauf der Frist für die Bereinigung gelöschter Uploads), wird sie aus dem Tombstone-Ordner gelöscht.
Ist das richtig?
Basierend auf dem, was ich in Backblaze sehe, scheint sie tatsächlich in den Tombstone-Ordner kopiert zu werden. Sie wird nur nicht gelöscht, sondern stattdessen wird eine leere, versteckte Version erstellt.
Ich habe also den Support kontaktiert, und es scheint eine Lösung für das Problem mit den verwaisten Dateien zu geben. Hier ist, was der Backblaze-Support sagte:
Hier passieren ein paar Dinge. Wenn ich mir Ihr Konto ansehe, haben Sie Ihre Bucket-Lifecycle-Regeln auf Alle Dateien behalten gesetzt. Wenn Sie Ihre Lifecycle-Regeln auf Nur die letzte Version der Datei behalten ändern würden, wird die versteckte Datei 24 Stunden nach dem Verstecken gelöscht und der Speicherplatz freigegeben.
Eine weitere Ebene, die hier hinzugefügt werden muss, ist, dass bei Verwendung eines S3-kompatiblen Dienstes jedes Mal, wenn ein Objekt gelöscht wird, dieses versteckt wird. Und von hier aus wird es je nach den Lifecycle-Regeln des Buckets gelöscht oder versteckt bleiben. In Ihrem Fall bleiben die Dateien versteckt und werden nicht gelöscht, da Sie ALLE Dateien behalten.
Damit ein Objekt gelöscht wird, wenn ein Objekt-Löschvorgang aufgerufen wird, muss die Datei-Versions-ID mit dem entsprechenden Löschaufruf übergeben werden, was die Integration meiner Meinung nach nicht tut, wenn Dateien nur versteckt werden.
Damit diese Dateien aus dem Bucket gelöscht werden, müssen Sie sich in Ihr Backblaze-Konto einloggen, zu Ihrem Bucket gehen und dessen Lifecycle-Einstellung auf Nur die letzte Version der Datei behalten. ändern. Dies löscht die versteckte Datei nach 24 Stunden aus dem Bucket.
Standardmäßig legt Backblaze die Lifecycle-Regel “Alle Dateien behalten” für neu erstellte Buckets fest. Das ist wahrscheinlich der Grund, warum alle Probleme mit verwaisten Dateien haben. Das Ändern der Lifecycle-Regel auf “Nur die letzte Version der Datei behalten” löscht verwaiste Dateien nach 24 Stunden, sobald sie versteckt sind.
Das könnte erwähnenswert sein in diesem Thread:
Guter Fund! Können Sie ihn bitte in das Wiki einfügen?
Mir war nicht bewusst, dass es ein Wiki ist. Aktualisiert.

