GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kann Btrfs Bad Blocks verfolgen/vermeiden?

Ich habe eine Festplatte, der ich nicht ganz vertraue, die ich aber trotzdem verwenden möchte (Burstcoin-Mining, bei der ich nur ein paar Cent verliere, wenn ich einen fehlerhaften Block in einer Datei erhalte).

Wie kann ich btrfs anweisen, bestimmte Blöcke als schlecht zu markieren (z. B. von badblocks Ausgabe)?

Wenn ich Blöcke nicht vorab als fehlerhaft markieren kann, werden alle fehlerhaften Blöcke durch btrfs scrub identifiziert in Zukunft vermieden werden, wenn die Datei, die sie verwendet, gelöscht wird?

Akzeptierte Antwort:

Leider nein.

btrfs verfolgt keine fehlerhaften Blöcke und btrfs scrub verhindert nicht, dass die nächste Datei dieselben fehlerhaften Blöcke trifft.

Dieser Beitrag zur Btrfs-Mailingliste schlägt vor, ext4 mit mkfs.ext4 -c zu verwenden (Dies "erstellt eine Liste fehlerhafter Blöcke und
verwendet diese Sektoren dann nicht"
).
Der Vorschlag, btrfs über mdadm 3.1+ mit RAID0 zu verwenden, funktioniert nicht.

Anscheinend unterstützt LVM keine Neuzuweisung von Badblocks.

Eine Problemumgehung besteht darin, ein Gerät zu bauen, das als schlecht bekannte Blöcke ausschließt:btrfs über dmsetup.

Das btrfs-Projektideen-Wiki sagt:

Nicht beansprucht – noch keine Patches – Noch nicht im Kernel

Derzeit verfolgt btrfs keine fehlerhaften Blöcke, Festplattenblöcke, die sehr wahrscheinlich Daten verlieren, die auf sie geschrieben wurden. Btrfs sollte eine Liste im Ausgabeformat von Badblocks akzeptieren, sie in einem neuen Btree (oder vielleicht im aktuellen Extent-Baum mit einem neuen Flag) speichern, alle Daten, die die Blöcke enthalten, verschieben und diese Blöcke reservieren, damit sie nicht verwendet werden können für zukünftige Zuweisungen. Zusätzlich könnte Scrub beigebracht werden, auf fehlerhafte Blöcke zu testen, wenn ein Prüfsummenfehler gefunden wird. Dies würde das Peeling viel nützlicher machen; Prüfsummenfehler werden im Allgemeinen von der Festplatte verursacht, aber während Scrub betroffene Dateien erkennt, was in einem Backup-Szenario die Möglichkeit gibt, sie neu zu erstellen, wird die nächste Datei, die die fehlerhaften Blöcke wiederverwendet, stattdessen nur Fehler erhalten. Diese beiden Elemente würden einer ext4-Funktion entsprechen (verwendet durch e2fsck).

Bitte kommentieren Sie, wenn sich der Status ändert, und ich werde diese Antwort aktualisieren.

Verwandte:Debian – Wie installiere ich ein einzelnes Paket von Debian Testing oder Unstable auf Stable?
Linux
  1. Können überschriebene Dateien wiederhergestellt werden?

  2. Wie überprüfe ich ein physisches LVM-Volume auf fehlerhafte Blöcke?

  3. So überprüfen Sie eine Festplatte auf fehlerhafte Blöcke oder Festplattenfehler unter CentOS / RHEL

  4. Können wir C-Code in Python verwenden?

  5. Kann ich Dota 2 unter Linux spielen?

So überprüfen Sie fehlerhafte Sektoren oder fehlerhafte Blöcke auf der Festplatte in Linux

So überprüfen Sie die Festplatte auf fehlerhafte Sektoren oder Blöcke in Linux

So überprüfen Sie fehlerhafte Blöcke oder fehlerhafte Sektoren auf der Festplatte in Linux

Führen Sie einen Scan nach fehlerhaften Blöcken auf der Root-Partition in Linux durch

Btrfs:RAID 1 auf 3+ Geräten

Kann ',,' als Alias ​​für '..' verwendet werden?