Ich habe einen Linux-Server mit vielen 2-TB-Festplatten, die sich alle derzeit in einem LVM befinden, was ungefähr 10 TB Speicherplatz ergibt. Ich benutze den gesamten Speicherplatz auf einer ext4-Partition und habe derzeit ca. 8,8 TB Daten.
Das Problem ist, ich bekomme oft Fehler auf meinen Festplatten, und selbst wenn ich sie ersetze (das heißt, ich kopiere die alte Festplatte mit dd auf eine neue, dann lege ich die neue in den Server), sobald Fehler auftreten, Ich bekomme oft ungefähr 100 MB beschädigter Daten darauf. Das macht e2fsck jedes Mal verrückt und es dauert oft eine Woche, bis das ext4-Dateisystem wieder in einem vernünftigen Zustand ist.
Die Frage ist also: Was würden Sie mir empfehlen, um als Dateisystem auf meinem LVM zu verwenden? Oder was würden Sie mir empfehlen, stattdessen zu tun (ich brauche das LVM nicht wirklich)?
Profil meines Dateisystems:
- viele Ordner mit unterschiedlichen Gesamtgrößen (einige mit 2 TB, andere mit 100 MB)
- Fast 200.000 Dateien mit unterschiedlichen Größen (3/4 von ihnen ca. 10 MB, 1/4 zwischen 100 MB und 4 GB; ich kann derzeit keine weiteren Statistiken zu Dateien abrufen, da meine ext4-Partition einige Tage lang völlig kaputt ist)
- Viele lesen, aber wenige schreiben
- und ich brauche Fehlertoleranz (Ich habe die Verwendung von mdadm RAID eingestellt, weil es nicht gefällt, EINEN Fehler auf der gesamten Festplatte zu haben, und ich habe manchmal fehlerhafte Festplatten, die ich ersetze, sobald ich kann, aber das bedeutet, dass ich beschädigte Daten auf bekommen kann mein Dateisystem)
Das Hauptproblem sind fehlerhafte Festplatten. Ich kann einige Dateien verlieren, aber ich kann es mir nicht leisten, alles gleichzeitig zu verlieren.
Wenn ich ext4 weiterhin verwende, sollte ich versuchen, kleinere Dateisysteme zu erstellen und sie irgendwie zusammenzuführen, aber ich weiß nicht wie.
Ich habe gehört, BTRFS wäre nett, aber ich kann keinen Hinweis darauf finden, wie es den Verlust eines Teils eines Datenträgers (oder eines gesamten Datenträgers) verwaltet, wenn Daten NICHT repliziert werden ( mkfs.btrfs -d single
?).
Jeder Hinweis auf die Frage ist willkommen, vielen Dank im Voraus!
quelle
Antworten:
Es handelt sich nicht um ein Dateisystemproblem, sondern um die physischen Einschränkungen der Festplatten. Hier sind einige Daten:
SATA-Laufwerke werden normalerweise mit einer nicht behebbaren Lesefehlerrate (URE) von 10 ^ 14 angegeben. Das bedeutet, dass 1 Byte pro 12 TB unwiederbringlich verloren gehen, selbst wenn die Festplatten einwandfrei funktionieren.
Dies bedeutet, dass Sie ohne RAID Daten verlieren, auch wenn kein Laufwerk ausfällt - RAID ist Ihre einzige Option.
Wenn Sie RAID5 wählen (Gesamtkapazität n-1, wobei n = Anzahl der Festplatten), reicht dies immer noch nicht aus. Mit 10 TB RAID5, bestehend aus 6 x 2 TB Festplatte, haben Sie eine 20% ige Chance auf einen Laufwerksausfall pro Jahr, und mit einem Ausfall einer einzelnen Festplatte haben Sie aufgrund von URE eine 50% ige Chance, RAID5 erfolgreich wiederherzustellen und 100% Ihrer Daten wiederherzustellen .
Grundsätzlich benötigt man bei der hohen Kapazität der Festplatten und der relativ hohen URE RAID6, um auch bei einem erneuten Ausfall einzelner Festplatten sicher zu sein.
Lesen Sie dies: http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162
quelle
Tun Sie sich selbst einen Gefallen und verwenden Sie ein RAID für Ihre Festplatten, bei mdadm könnte es sich sogar um Software-RAID handeln. Denken Sie auch darüber nach, warum "häufig Fehler auf Ihren Festplatten auftreten" - dies ist nicht normal, es sei denn, Sie verwenden billige Desktop-SATA-Laufwerke anstelle von RAID-Festplatten.
Danach ist das Dateisystem nicht mehr so wichtig - ext4, xfs sind beide gute Möglichkeiten.
quelle
Ich hatte viel Glück mit ZFS. Sie können überprüfen, ob es in der von Ihnen verwendeten Distribution verfügbar ist. Faire Warnung, es wird wahrscheinlich bedeuten, dass Sie Ihr gesamtes System neu aufbauen, aber es bietet wirklich gute Leistung und Fehlertoleranz.
quelle
Da Sie an der Verwendung von LVM interessiert sind und mehrere Laufwerke verwalten möchten, besteht die einfache Antwort darin, nur die Spiegelfunktion zu verwenden, die Teil von LVM ist. Fügen Sie einfach alle physischen Volumes zu Ihrem LVM hinzu. Wenn Sie ein logisches Volume erstellen, übergeben Sie die
--mirrors
Option. Dies dupliziert Ihre Daten.Eine andere Möglichkeit könnte darin bestehen, nur mehrere RAID1-Paare einzurichten. Fügen Sie dann alle RAID1-Volumes als PVs zu Ihrer VG hinzu. Wenn Sie dann Ihren Speicher erweitern möchten, kaufen Sie einfach ein Paar Festplatten.
quelle
Sie sollten wirklich ein RAID 5, 6, 10, 50 oder 60 verwenden. Hier einige Ressourcen für den Einstieg:
Hintergrundinformationen zu RAIDs
Howto's & Setup
Überprüfen Sie meine köstlichen Links auf zusätzliche RAID-Links: http://delicious.com/slmingol/raid
quelle
Wenn Sie sich wirklich Sorgen über Datenbeschädigungen machen, würde ich ein Dateisystem mit Prüfsummen wie zfs und btrfs empfehlen. Beachten Sie jedoch, dass btrfs immer noch als in der Entwicklung befindlich und nicht produktionsbereit gilt.
Es gibt keine Garantie dafür, dass die von einer Festplatte gelesenen (auch erfolgreich gelesenen) Daten korrekt sind. Blöcke haben Prüfsummen, aber sie sind einfache Prüfsummen, die nicht immer Fehler erkennen. Neuere Dateisysteme wie ZFS verknüpfen Dateien mit leistungsfähigeren Prüfsummen und können Datenfehler abfangen und reparieren, die von der Festplatte oder dem RAID-Controller nicht bemerkt werden.
quelle
Wie @ c2h5oh sagt , ist Unrecoverable kritisch - dies bedeutet, dass die Festplatte bereits versucht hat, den Sektor erneut zu lesen, und dies fehlgeschlagen ist.
Nach meiner Erfahrung gehen einige Daten für immer verloren, sobald eine Festplatte nicht behebbare Lesefehler (UREs) erzeugt. Sie können nur mit GNU ddrescue alle Daten sofort sichern , um die fehlerhaften Sektoren erneut zu versuchen und nicht behebbare Sektoren zu überspringen.
Angenommen, Sie haben Sicherungen, die möglicherweise aufgrund der UREs fehlgeschlagen sind und mit Sicherheit einige beschädigte Dateien enthalten. Daher müssen Sie einen vollständigen Satz von Daten aus verschiedenen Sicherungen desselben Dateisystems zusammensetzen.
Die anderen Antworten, die ZFS empfehlen, sind lesenswert, da die fortlaufende Datenbereinigung und die RAID-Funktionen dazu beitragen, dass Ihre Daten auch in Zukunft sicherer werden - obwohl sie immer noch kein Ersatz für Sicherungen sind, die auch vor Benutzer- und Administratorfehlern schützen.
Ich würde LVM nur verwenden, wenn Sie keine Snapshots benötigen - es lässt sich nicht so gut in RAID integrieren, enthält keine Datenbereinigungs- / Datenprüfsummen und Sie benötigen immer noch Sicherungen, daher ist ZFS wahrscheinlich die bessere Option. Weitere Informationen finden Sie in dieser Antwort zu LVM-Problemen und -Risiken .
quelle