Fragen zu Raid und Backup bei defekten Sektoren

meltinsands

Cadet 1st Year
Registriert
Okt. 2013
Beiträge
15
Ich habe ein paar "Basic" Fragen zu (m)einer NAS Konfiguration mit mehreren Platten.

Zu meiner Konfiguration: Ich habe eine 2 Bay Synology NAS mit 2x Basic (kein Raid). Platte 1 sichert auf Platte 2 regelmäßig ein Backup. Das Dateisystem bei beiden Platten ist btrfs.
Falls Anmerkungen zu der Strategie kommen: Eine zusätzliche, externe Sicherung findet weiterhin statt. Sollte aber versehentlich eine Datei auf Disc 1 gelöscht werden, kann ich schnell von Disc 2 darauf zugreifen.

Folgende Fragen zu meiner Konfiguration mit 2x Basic:
Was passiert mit einer Datei, falls sie auf einem defekten Sektor von Platte 1 liegt: Wird sie defekt auf die zweite Platte kopiert oder repariert btrfs die Datei, sodass der defekte Sektor auf der Sicherungsplatte und der Quellplatte keine Rolle spielt?
Falls ich falsch liege, wie funktioniert es ansonsten?


Folgende Fragen zu einem Raid(1):
Da Platte 1 und 2 gespiegelt sind, wie verhält es sich hier mit den defekten Sektoren bei btrfs auf Platte 1?
Folgende Szenarien sind aus meiner Sicht möglich:
  • btrfs repariert die Datei und die Dateien sind auf beiden Platten weiterhin nicht defekt.
  • Der defekte Teil der Datei von Platte 1 aus dem defekten Sektor wird auf Platte 2 kopiert. Die Datei ist daher fehlerhaft.
  • Das System erkennt den Defekt auf Platte 1 und kopiert den vorhandenen, korrekten Teil von Platte 2 auf Platte 1. Die Datei ist daher nicht fehlerhaft.
Welche der Antworten ist richtig oder wie ist es richtig? Gilt das für alle Raids außer Raid0?

Danke für eine Auffrischung meines Wissens.
 
meltinsands schrieb:
Folgende Fragen zu meiner Konfiguration mit 2x Basic:
Was passiert mit einer Datei, falls sie auf einem defekten Sektor von Platte 1 liegt: Wird sie defekt auf die zweite Platte kopiert oder repariert btrfs die Datei, sodass der defekte Sektor auf der Sicherungsplatte und der Quellplatte keine Rolle spielt?
Das kommt auf den Fehler und die Backupmethode an. Ist es ein Bitrot, wandert dieser auch auf die Zielplatte. Ist es ein defekt der Platte, kann die Datei nicht mehr gelesen werden und das Backup meldet, dass es die Datei nicht lesen kann.

meltinsands schrieb:
Folgende Fragen zu einem Raid(1):
Da Platte 1 und 2 gespiegelt sind, wie verhält es sich hier mit den defekten Sektoren bei btrfs auf Platte 1?
Auch hier: Bitrot und der Fehler wandert mit. Platte defekt: btrfs klärt.
btrfs kann bitrots immerhin erkennen, aber nicht reparieren.

Nutzt du bei deiner jetzigen Variante btrfs send/receive? Oder nutzt du rsync & co?
 
foo_1337 schrieb:
Ist es ein Bitrot, wandert dieser auch auf die Zielplatte.
Da btrfs Bitfehler durch checksums erkennt sollte das zu einem IO Error führen und somit nicht im Backup landen.


foo_1337 schrieb:
btrfs kann bitrots immerhin erkennen, aber nicht reparieren.
Innerhalb eines RAIDs (1,5,6), wie der TE fragt, kann btrfs das natürlich reparieren. Alles andere wäre ja sinnlos.

meltinsands schrieb:
Das System erkennt den Defekt auf Platte 1 und kopiert den vorhandenen, korrekten Teil von Platte 2 auf Platte 1. Die Datei ist daher nicht fehlerhaft.

Das ist die korrekte Antwort.
Allerdings passiert so eine Fehlerkorrektur nur wenn auch lesend darauf zugegriffen wird.
Deshalb sollte regelmäßig gescrubbed werden.
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: Banned
wayne_757 schrieb:
Da btrfs Bitfehler durch checksums erkennt sollte das zu einem IO Error führen und somit nicht im Backup landen.
Daher habe ich nach der Backuplösung gefragt. Genau die Diskussion gab es z.B. bei Restic:
https://github.com/restic/restic/issues/2064
Hier war das Problem, dass der IO Error nicht zum Tragen kam, da die Metadaten (mtime, atime) noch gelesen werden konnten und somit das File erst garnicht angefasst wurde.

wayne_757 schrieb:
Innerhalb eines RAIDs (1,5,6), wie der TE fragt, kann btrfs das natürlich reparieren. Alles andere wäre ja sinnlos.
Weil Synology ein md(adm) Raid auch bei btrfs nutzt. Oder hat sich das mittlerweile geändert?
Edit: https://www.synology.com/en-global/...entation_for_Btrfs_File_System_on_SynologyNAS
 
Zuletzt bearbeitet von einem Moderator:
Das Thema ist wohl doch komplexer als ich dachte.

foo_1337 schrieb:
Nutzt du bei deiner jetzigen Variante btrfs send/receive? Oder nutzt du rsync & co?
Ich nutze Synology Hyper Backup auf Einzelversion-Ebene. Hilft das schonmal?

Für mich ist einfach wichtig zu wissen, wie man korrupte Dateien aus defekten Sektoren nicht mit rüberzieht auf das Medium, auf dem gesichert werden soll. Bisher hat ich das Problem zum Glück noch nicht.
 
foo_1337 schrieb:
Weil Synology ein md(adm) Raid auch bei btrfs nutzt. Oder hat sich das mittlerweile geändert?
Edit: https://www.synology.com/en-global/...entation_for_Btrfs_File_System_on_SynologyNAS
Wow, spannend. Synology hat sich anscheinend darüber Gedanken gemacht und eine eigene Lösung dafür gestrickt, die sogar zu Funktionieren scheint.
https://daltondur.st/syno_btrfs_1/

Aber man sieht in dem Versuch auch ganz gut, dass wenn der Bitrot vorhanden ist, ein File z.B. über den NAS Weg trotzdem kopiert werden kann, wenn auch langsam ohne dass der User es erstmal merkt. Es gibt dann die übliche Meldung im Syslog, jedoch immerhin auch eine Notification im DSM.

@meltinsands du kannst so wie es aussieht die Variante 2 (Raid) nutzen. Aber denke immer daran: Ein Raid ist kein Backup.
 
@foo_1337 das bedeutet:

a) (mein aktuelles) Backup-Szenario mit Basic 1 sichert auf Basic 2 (über Einzelversion)
= Bitrot Dateien sollten durch btrfs eigentlich erkannt werden, aber werden dennoch mitkopiert.
= Bei defektem Sektor / Defekt auf Platte klärt btrfs und der Fehler wird nicht ins Backup kopiert.

b) Das Ideal-Szenario ist also ein Raid >1 mit Backup: Mit btrfs und durch das Raid werden Bitrots und Plattendefekte behoben und daher ist auch das Backup sauber.

Mittelfristig werde ich also um ein Raid + Backup nicht vorbeikommen kommen.
 
Zurück
Oben