Frage Welches Dateisystem für große LVM von Festplatten (8 TB)?


Ich habe einen Linux-Server mit vielen 2-TB-Platten, alle derzeit in einem LVM, was etwa 10 TB Speicherplatz ergibt. Ich benutze all diesen Speicherplatz auf einer ext4-Partition und habe derzeit etwa 8,8 TB Daten.

Problem ist, dass ich oft Fehler auf meinen Platten bekomme, und selbst wenn ich ersetze (das heißt, ich kopiere die alte Platte in eine neue mit dd, dann lege ich die neue in den Server), sobald Fehler auftreten, Ich bekomme oft 100 MB beschädigte Daten. Das macht e2fsck jedes Mal verrückt, und es dauert oft eine Woche, um das ext4-Dateisystem wieder in einen vernünftigen Zustand zu bringen.

Die Frage ist also: Was würdest du mir empfehlen, als Dateisystem auf meinem LVM zu verwenden? Oder was würdest du mir stattdessen empfehlen (ich brauche den LVM nicht wirklich)?

Profil meines Dateisystems:

  • viele Ordner mit verschiedenen Gesamtgrößen (einige mit insgesamt 2 TB, einige mit insgesamt 100 MB)
  • fast 200.000 Dateien mit verschiedenen Größen (3/4 davon etwa 10 MB, 1/4 zwischen 100 MB und 4 GB; ich kann derzeit keine Statistiken mehr über Dateien erhalten, da meine ext4-Partition für einige Tage komplett zerstört ist)
  • viele liest, aber wenige schreibt
  • und ich brauche Fehlertoleranz (ich habe aufgehört, mdadm RAID zu verwenden, weil es keinen Fehler auf der ganzen Platte hat, und ich habe manchmal fehlerhafte Platten, die ich so schnell wie möglich ersetze, aber das bedeutet, dass ich beschädigte Daten bekommen kann mein Dateisystem)

Das Hauptproblem sind fehlerhafte Platten; Ich kann einige Dateien verlieren, aber ich kann es mir nicht leisten, alles gleichzeitig zu verlieren.

Wenn ich weiterhin ext4 benutze, habe ich gehört, dass ich am besten versuchen sollte, kleinere Dateisysteme zu erstellen und sie irgendwie "zusammenzuführen", aber ich weiß nicht wie.

Ich hörte Btrfs wäre nett, aber ich kann keine Ahnung finden, wie es gelingt, einen Teil einer Festplatte (oder einer ganzen Festplatte) zu verlieren, wenn Daten NICHT repliziert werden (mkfs.btrfs -d single ?).

Jeder Rat zu dieser Frage ist willkommen, danke im Voraus!


19
2017-10-08 17:54


Ursprung


Genau welche Datenträgerfehler Sie bekommen. Das sollte einen Hinweis geben - Soham Chakraborty
Schlechte Sektoren, oft sind es nur ein oder zwei fehlerhafte Sektoren auf der ganzen Festplatte ... - alphatiger
Das bedeutet, dass Ihre Festplatte schlecht läuft. Kaum etwas mit Dateisystem zu tun. Wenn die Festplatte schlecht ist, egal was fs Sie verwenden, wird es praktisch sein. Wie andere bereits erwähnt haben, gehen Sie für RAID-Festplatten und / oder kaufen Sie Enterprise-Festplatten. Achten Sie auch auf Qualitätscontroller. - Soham Chakraborty
Ja, ich weiß, deshalb tausche ich Scheiben aus, die schlecht laufen. Entschuldigung, wenn meine Frage nicht klar war. Trotzdem dachte ich, dass sich einige Dateisysteme besser mit beschädigten Daten verhalten würden ... - alphatiger
Sie sollten wirklich die fehlerhaften Teile Ihrer Hardware ersetzen. Das ist, als würde man einen Crashtest-Dummy betrachten, nachdem ein Auto 200 km / h gegen die Wand gefahren wurde. "Oh schau! Sein linkes Bein ist fast OK! Der Test war erfolgreich!" ... kein Dateisystem kann Ihnen helfen, wenn die zugrunde liegende Hardware verrottet. XFS hat schneller fsck als ext *, und nachdem genug Zeit vergangen ist und das Dateisystem ein bisschen reifer wird, würde vielleicht auch btrfs funktionieren. Dann gibt es ZFS, aber unter Linux ist sein Zustand ein bisschen traurig. - Janne Pikkarainen


Antworten:


Es ist kein Dateisystemproblem, sondern physische Einschränkungen der Festplatten. Hier sind einige Daten:

SATA-Laufwerke werden normalerweise mit einer nicht korrigierbaren Lesefehlerrate (URE) von 10 ^ 14 angegeben. Das bedeutet, dass 1 Byte pro 12 TB wird unwiederbringlich verloren sein auch wenn Disks gut funktionieren.

Das bedeutet, dass Ohne RAID verlieren Sie Daten, selbst wenn kein Laufwerk ausfällt - RAID ist Ihre einzige Option.

Wenn Sie RAID5 (Gesamtkapazität n-1, wobei n = Anzahl der Festplatten) wählen, ist es immer noch nicht genug. Mit 10TB RAID5, bestehend aus 6 x 2TB HDD, haben Sie eine 20% ige Wahrscheinlichkeit eines Laufwerkausfalls pro Jahr und Wenn ein einzelner Datenträger ausfällt, haben Sie aufgrund von URE eine 50% ige Chance, RAID5 erfolgreich neu zu erstellen und 100% Ihrer Daten wiederherzustellen.

Im Grunde mit der hohen Kapazität von Festplatten und relativ hohen URE müssen Sie RAID6 sicher sein, noch einmal Single-Disk-Fehler.

Lesen Sie dies: http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162


21
2017-10-08 20:15



Warte, URE bedeutet nicht behebbar Lesen Fehler, aber das bedeutet nicht, dass die Festplatte tatsächlich HAT der Fehler. Der nächste Lesevorgang kann (und wird wahrscheinlich) das korrekte Bit zurückgeben. Das Betriebssystem liest den Sektor wahrscheinlich einfach neu und erhält die korrekten Daten. Sie haben auch vergessen, über S.M.A.R.T .: zu sprechen, bevor ein Sektor dauerhaft beschädigt wird, S.M.A.R.T. wird versuchen, Daten von / zu lesen / schreiben. Wenn es zu viele Fehler erkennt, ist S.M.A.R.T. verschiebt einfach den Inhalt des Sektors an einen anderen Ort und markiert den Sektor als SCHLECHT und niemand wird wieder darauf schreiben können. - Avio
Also, Sie schlagen einfach vor, Tonnen von Festplatten zu kaufen, ohne zu fragen WARUM Seine Festplatten sind so fehlerhaft. Es könnte ein Hitzeproblem sein, es könnte ein Problem mit einem fehlerhaften SATA-Controller sein, es könnte ein Problem von schlechten SATA-Anschlüssen usw. sein usw. usw. - Avio
@Avio Was ich sagen will, ist, dass mit 10 TB Daten, die Sie aufgrund von Festplatteneinschränkungen lesen werden, auch wenn alle Festplatten, SATA-Controller, SATA-Anschlüsse usw. in einwandfreiem Zustand sind und nach Spezifikationen arbeiten. Ich sage auch, dass, selbst wenn Sie beschließen, RAID zu verwenden, um zu vermeiden, dass Sie mit RAID6 gehen sollten, weil Festplattenkapazität + URE sogar RAID5 nicht zuverlässig genug machen. Selbst der Ausfall eines einzelnen Laufwerks auf RAID5 hat eine hohe Datenverlustchance (50% FFS!). - c2h5oh
@Avio U in URE steht für Nicht wiederherstellbar als für immer gegangen. - c2h5oh
Es kann das Problem des Dateisystems sein, wenn Sie eine Kopie auf einem Schreib-Dateisystem wie btrfs oder xfs verwenden, können Sie sehr wahrscheinlich eine vorherige Version der Datei wiederherstellen, so dass nur die letzte Änderung an der Datei verloren geht. (wenn es jemals geändert wurde) - Jens Timmerman


Tun Sie sich einen Gefallen und verwenden Sie ein RAID für Ihre Festplatten, könnte sogar Software-RAID mit MDADM sein. Denken Sie auch darüber nach, warum Sie "oft Fehler auf Ihren Festplatten bekommen" - das ist nicht normal, außer wenn Sie billige Desktop-SATA-Laufwerke anstelle von RAID-Festplatten verwenden.

Danach ist das Dateisystem nicht mehr so ​​wichtig - ext4, xfs sind beide eine gute Wahl.


12
2017-10-08 17:58



Ich stimme zu, dass ich sollte;) aber ich verwende RAID aus vielen Gründen nicht. Das wichtigste ist der Preis, da sie 2-3 mal teurer sind, und das kann ich mir nicht wirklich leisten. Der zweite Grund ist, dass ich das letzte Mal, als ich RAID 5 benutzt habe, das Glück hatte, zwei beschädigte Festplatten zu bekommen, bevor ich eine neue anschließen und synchronisieren konnte (ich hatte keine Ersatzfestplatten, ich musste auf eine warten) neue, ich stimme zu, dass mit RAID-Klasse-Festplatten, hätte ich dieses Problem gehabt). Der dritte Grund ist, dass die Daten, die ich speichern muss, immer größer werden. Ich füge progressiv neue Festplatten größerer Größe hinzu, was ich mit einer RAID-Konfiguration nicht machen kann. - alphatiger
Ich versuche also herauszufinden, ob es ein Dateisystem gibt, das mir jemand in einer Konfiguration empfehlen würde, in der ich mich nicht auf unverfälschte Daten verlassen kann. Trotzdem, danke für deine Antwort! - alphatiger
Sie sagen also, Ihre Daten sind die zusätzlichen Kosten nicht wert? Wenn Sie es sich nicht leisten können, mindestens zwei Kopien Ihrer Daten zu haben, sollten Sie sie als verloren betrachten. Sie haben recht, dass RAID5 wahrscheinlich keine gute Wahl ist, Sie sollten sich wahrscheinlich RAID6 oder RAID10 anschauen. - Zoredache
@alphatiger: Die Scheiben sind nur zu teuer, wenn deine Zeit und deine Daten zu billig sind. - Martin Schröder


Ich hatte viel Glück mit ZFS, du könntest überprüfen, ob es auf welcher Distribution auch immer verfügbar ist. Warne Warnung, es wird wahrscheinlich bedeuten, dein gesamtes System neu aufzubauen, aber es gibt wirklich gute Leistung und Fehlertoleranz.


7
2017-10-08 18:36



Ich benutze derzeit Debian GNU / Linux, es scheint, dass es eine FUSE-Implementierung gibt, aber kein Paket (wegen Lizenzierungsproblemen). Ich werde es wahrscheinlich versuchen (nach dem Kompilieren von Quellen, wie die Verwendung von FUSE es nicht sehr schön für hohe Ausgabe ist), mache ich mir keine Sorgen, dass ich mein ganzes Dateisystem neu erstellen muss. Vielen Dank ! - alphatiger
+1 für ZFS. Traditionelles RAID wird Daten unbemerkt verfälschen, weil es nicht intelligent genug ist, um zu wissen, wann Blöcke falsch sind oder wie sie repariert werden können. ZFS hingegen erkennt beschädigte Blöcke (über Prüfsummen) und repariert sie von bekannten guten Spiegelkopien. Das Ausführen von ZFS unter FUSE ist zwar nicht ideal, wird jedoch für viele Workloads gut genug funktionieren. Vor diesem Hintergrund sollten Sie Ihre Anwendung testen, bevor Sie diese in einer Produktionsumgebung verwenden. - bahamat
Ein weiteres +1 für ZFS. So ziemlich alle Server hier laufen mit Linux und ich bin ein großer Fan davon, aber ZFS hat sich in den letzten 3+ Jahren als so nützlich erwiesen, dass ich tatsächlich die Mühe gemacht habe, FreeBSD zu lernen und einzurichten großer Speicher, um ZFS ohne Lizenz- oder Leistungsprobleme verwenden zu können. - ssc
Ich benutze es unter Solaris auf meiner alten Sun-Workstation, und die Leistung ist nichts weniger als erstaunlich, wenn man die Hardware berücksichtigt (Single-Core-Opteron @ 2,2 GHz mit 3G-Speicher und ein Paar 250G SATA-Laufwerke). - TMN


Ich füge progressiv neue Disketten größerer Größe hinzu

Da Sie LVM interessant einsetzen und mehrere Laufwerke verwalten möchten, besteht die einfache Antwort darin, nur die Spiegelungsfunktion 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 das --mirrors Möglichkeit. Dies dupliziert Ihre Daten.

Eine andere Option könnte sein, einfach mehrere RAID1-Paare einzurichten. Fügen Sie dann alle RAID1-Volumes als PVs zu Ihrer VG hinzu. Wenn Sie Ihren Speicher erweitern möchten, kaufen Sie einfach ein Paar Festplatten.


7
2017-10-08 20:04





Sie sollten wirklich ein RAID 5, 6, 10, 50 oder 60 verwenden. Hier sind einige Ressourcen für den Anfang:

Hintergrundinformationen zu RAIDs

Anleitungen und Setup

Schau dir meine leckeren Links für zusätzliche RAID-Links an: http://delicious.com/slmingol/raid


6
2017-10-08 18:17



Siehe meine Kommentare zu SvenWs Antwort, um zu sehen, warum ich nicht wirklich RAID möchte. (Tatsächlich habe ich bereits mehrere Software-RAIDs in einer Firma eingerichtet, die sich das leisten konnten ...) Trotzdem, danke! - alphatiger
Ich habe immer Standardlaufwerke für RAIDs verwendet, niemals solche, die für RAID-Nutzung ausgelegt sind, und es gab noch nie Probleme damit, solange Sie ein RAID auswählen, das genügend Redundanz enthält (RAID 6 oder RAID 60). Mit einem RAID 6 benötigen Sie eine gerade Zahl. Sie können RAIDs relativ einfach erweitern, indem Sie vorhandene Elemente durch größere Festplatten ersetzen und dann in den Speicherplatz der neueren Festplatten einsteigen. - slm


Wenn Sie sich wirklich Sorgen über Datenkorruption machen, würde ich ein checksummiertes Dateisystem wie zfs und btrfs empfehlen - beachten Sie jedoch, dass btrfs immer noch als betrachtet wird in Entwicklung und nicht produktionsbereit.

Es gibt keine Garantie, dass die Daten, die von einem Datenträger gelesen (sogar erfolgreich gelesen) werden, korrekt sind. Blöcke haben Prüfsummen, aber sie sind einfache Prüfsummen, die nicht immer Fehler finden. Neuere Dateisysteme wie ZFS fügen mehr fähige Prüfsummen an Dateien an und können Datenfehler, die von der Festplatte oder dem RAID-Controller nicht bemerkt werden, abfangen und reparieren.


3
2017-10-08 23:28





Wie @ c2h5oh sagt, das Nicht wiederherstellbar ist kritisch - es bedeutet, dass die Festplatte bereits versucht hat und es versäumt hat, den Sektor erneut zu lesen.

Meiner Erfahrung nach sind einige Daten für immer verloren, sobald eine Festplatte mit der Erzeugung von nicht behebbaren Lesefehlern (UREs) beginnt, und Sie haben nur die Hoffnung, alle Daten sofort zu sichern GNU ddrescue, die die fehlerhaften Sektoren erneut versuchen und nicht wiederherstellbare Sektoren überspringen können.

Angenommen, Sie haben Backups, könnten sie aufgrund der UREs fehlgeschlagen sein und haben sicher einige beschädigte Dateien, so dass Sie eine ganze Reihe von Daten aus verschiedenen Backups desselben Dateisystems zusammenstellen müssen.

Die anderen Antworten, die ZFS empfehlen, sind lesenswert, da die fortlaufende Datenbereinigung und die RAID-Funktionen dazu beitragen, Ihre Daten in Zukunft sicherer zu machen. Sie sind jedoch kein Ersatz für Backups, die auch vor Benutzer- und Administratorfehlern schützen.

Ich würde LVM nur verwenden, wenn Sie keine Snapshots benötigen - es ist nicht so gut in RAID integrierbar, enthält keine Datenschrubbungs- / Datenprüfsummen und Sie benötigen immer noch Backups, also ist etwas wie ZFS wahrscheinlich eine bessere Option. Sehen diese Antwort auf LVM Probleme und Risiken für mehr.


0
2018-04-17 07:21