[Samba] Datenverlust-Debakel

RagingBlast

Banned
Registriert
Jan. 2014
Beiträge
320
Hi!

Setup:
Habe Zuhause einen Fileserver (Ubuntu) auf dem alles ist (Nutzer-Ordner, Serien, Filme, Spiele, Projekte, etc.). Wichtige Daten (Projekte) werden von mir regelmäßig gesichert und auf anderen Rechnern gespeichert (verschlüsseltes Archiv).
Die Ordner werden auf meinem Haupt-PC und anderen Rechnern als Netzlaufwerke eingebunden. Diese Ordner werden mit angepassten Rechten über Samba verteilt.

Nun das Problem:
Ich habe im August letzten Jahres ein Projekt verloren. Ich habe es gespeichert, kompiliert und mein Bearbeitungsprogramm geschlossen. Das Kompilat war nachher uptodate, jedoch würden die Änderungen im Projekt nicht gespeichert (Was sie hätten sein müssen, sonst wäre das Kompilat nicht aktuell gewesen!!!). Habe daher zuerst gedacht, dass mein Bearbeitungsprogramm (PawnStudio) einen weg hat in Zusammenhang mit evtl. Netzlaufwerkdisconnects (Wer das Programm kennt, kennt seine Macken).
Jetzt wollte ich allerdings auf ein Visual Studio Projekt von damals zugreifen und sehe, dass hier dasselbe Problem aufgetreten ist (Es muss zur selben Zeit aufgetreten worden sein, weil ich damals an beiden Projekten gleichzeitig gearbeitet hatte). Auch hier ist die Binary uptodate. Zum Glück habe ich in diesem Fall noch die pdb und den Code nicht obfuskiert (.Net-Projekt). Kann daher etwas umständlich alles wiederherstellen.

Meine Vermutung:
Der Server/Samba hatte einen weg oder ist mir damals abgeschmiert. Auf was ich zugegriffen hatte, war ein Cache, der nicht geschrieben worden ist (wieso auch immer). Die Festplatten sind alle in Ordnung und das Problem ist nie wieder aufgetreten. Auch keine anderen.

Das ist natürlich ein absolutes Debakel. "Habe ich meine Projekte gespeichert?" "Und wenn ja, sind sie es auch wirklich?"
Daher möchte ich der Sache so gut es geht auf den Grund gehen und zukünftige Fälle verhindern.
Woran kann es gelegen haben? Was kann ich tun?

Vielen vielen Dank im Voraus!
RagingBlast
 
Hattest du eventuell einen Stromausfall zu der besagten Zeit?
Da würde eine USV weiterhelfen.

lg
 
Öhm, dann wäre der PC aus gewesen. ;)
 
Er meint wahrscheinlich zwischen "ich druecke auf Speichern" und dem "ich schreibe die Daten aus dem Cache jetzt mal auf die Platten".
 
Wie gesagt, beide Kisten waren an. Sollte eigentlich auch aus dem beschriebenen Szenario hervorgehen.
 
Und was willst du damit sagen?
Wenn ich JETZT was speichere, und in einer Stunde faellt der Strom aus, koennen die Daten genauso weg sein. (ja nach Konfiguration des Systems)
Weisst du, dass du im August keinen Stromausfall oder Crash hattest?
 
Ulukay schrieb:
Und was willst du damit sagen?[...]

"All work and no play makes Jack a dull boy"?

Ulukay schrieb:
[...]Wenn ich JETZT was speichere, und in einer Stunde faellt der Strom aus, koennen die Daten genauso weg sein. (ja nach Konfiguration des Systems)[...]

Habe ich sehr oft, dass nach einer Stunde Kram nicht auf meiner Platte ist obwohl es abgespeichert wurde. *Sarkasmus*

Ulukay schrieb:
[...]Weisst du, dass du im August keinen Stromausfall oder Crash hattest?

Isch schwör!
 
Wenn du Leute verarschen willst bitte.
Ich wollte nur helfen. Aber so sicher nicht.

Ich kann nix dafuer, dass du keinen Plan hast was Caching bedeutet.
 
Daher möchte ich der Sache so gut es geht auf den Grund gehen und zukünftige Fälle verhindern.
Woran kann es gelegen haben? Was kann ich tun?

Code:
echo "300" > /proc/sys/vm/dirty_expire_centisecs
echo "200"  > /proc/sys/vm/dirty_writeback_centisecs

echo "3" > /proc/sys/vm/dirty_background_ratio
echo "2"   > /proc/sys/vm/dirty_ratio

<-- das sollte möglichst niedrig sein, damit schnell die Daten vom Speicher auf der Platte landen

die Linux-Dateisysteme mit commit=30 (oder niedriger) Mounten, dann wird alle 30 Sekunden auf die Platten geschrieben

Barrier verwenden (barrier=1) für konsistenten Zustand


PSU einsetzen,

O_SYNC oder O_DIRECT: http://www.thomas-krenn.com/de/wiki/Direct_und_synchronized_I/O_unter_Linux, also das ganze Caching minimieren, den Cache in der Festplatte abschalten (im Bios jedes vernünftigen Servers einfach per Option möglich)


Dateisysteme mit Checksummen einsetzen (Btrfs, ZFS - wobei mir Btrfs noch viel zu unreif vorkommt - hab beide im Einsatz, schon diverser Datenverlust mit Btrfs, mit ZFS bis jetzt noch nix)


wie wurde gesichert ?

mit rsync ?

dann

Code:
-acHAX --inplace

auf jedenfall verwenden (und was noch dazukommt), evtl. -W (whole file)



was könnte sein ?

Festplatten-Controller, Bios, Festplatten(-Firmware) vertragen sich nicht

alles eimal per Prüfsummen überprüfen, ob hier etwas Daten shreddert

RAM, Badblocks der Platten - einfach alles auf "Schwachstellen" abklappern




hoffe das hilft
 
Ulukay schrieb:
Wenn du Leute verarschen willst bitte.
Ich wollte nur helfen. Aber so sicher nicht.

Ich kann nix dafuer, dass du keinen Plan hast was Caching bedeutet.

Aha, sicher. Ich habe natürlich NULL Ahnung. :rolleyes:

Auf Wiedersehen...;)

@freak01:

Zu aller erst danke für deine Antwort.
Die Backups mache ich manuell nach größeren Änderungen, indem ich einfach meinen Projekte-Ordner bzw. das ganze jeweilige Netzlaufwerk über Nacht bei mir lokal als verschlüsseltes rar-Archiv packe. Das Archiv verteile ich dann auf verschiedenen Medien. Ist insofern irrelevant, weil ich wohl ein Backup der "kaputten" Daten gemacht habe.
Die Parameter werde ich entsprechend in meine fstab einpflegen.

Was mir aufgefallen ist damals, war, dass die entsprechende Datei zwar alten Inhalt hatte, aber das Modifikationsdatum passte.
Ich gehe daher davon aus, dass das Problem erst auf Samba-Ebene eingetreten ist. Also entweder cached der Samba-Server zu faul, oder mein Win7 ist falsch eingestellt.
 
Zurück
Oben