ZFS - Ist RAIDZ-1 wirklich so schlimm?

18

Ich habe einen NAS-Server mit 4x 2 TB WD RE4-GP-Laufwerken in einer RAID10-Konfiguration (4 TB verwendbar). Ich habe nicht mehr genügend Speicherplatz (<1 TB verfügbarer Speicherplatz). Ich muss 0 USD für größere / mehr Laufwerke / Gehäuse ausgeben.

Mir gefällt, was ich über die Datenintegritätsfunktionen von ZFS gelesen habe. Diese reichen aus, um von meinem vorhandenen XFS (Software) RAID10 zu wechseln. Dann las ich etwas über die überlegene RAID5-Implementierung von ZFS und dachte, ich könnte mit RAIDZ-1 sogar bis zu 2 TB mehr nutzbaren Speicherplatz gewinnen.

Allerdings habe ich immer wieder lesen mehr und mehr Beiträge zu sagen ziemlich einfach nie verwenden RAIDZ-1. Nur RAIDZ-2 + ist zuverlässig genug, um "echte" Laufwerksfehler zu handhaben. In meinem Fall macht RAIDZ-2 natürlich keinen Sinn. Es wäre viel besser, zwei gespiegelte vdevs in einem einzigen Pool zu verwenden (RAID10).

Bin ich verrückt, wenn ich RAIDZ-1 für 4 x 2 TB-Laufwerke verwenden möchte?

Sollte ich nur einen Pool von zwei gespiegelten vdevs (im Wesentlichen RAID10) verwenden und hoffen, dass die Komprimierung mir genug zusätzlichen Speicherplatz bietet?

In beiden Fällen plane ich die Komprimierung. Ich habe nur 8 GB RAM (maximal), Dedup ist also keine Option.

Dies geschieht auf einem FreeNAS-Server (der das aktuelle Ubuntu-Betriebssystem ersetzen soll), um die Stabilitätsprobleme von ZFS-on-Linux zu vermeiden.

Andrew Ensley
quelle
Ich bin mir nicht sicher, wie das vom Thema abweicht. Ich bitte um Rat bezüglich der richtigen Dateisystemkonfiguration für einen Server.
Andrew Ensley
Auch die Schreibgeschwindigkeit von RAIDZ1
oder
2
Wenn Sie genug CPU haben, um die Parität ohne Verlangsamung zu berechnen, sollte RAIDZ für die meisten Schreibvorgänge genauso schnell oder schneller als RAID10 sein. RAIDZ schreibt alles in einem vollständigen RAID-Streifen, es gibt keinen Lese-, Änderungs- und Schreibzyklus wie bei RAID5. So erhalten Sie mehr Festplattenbandbreite (mehr Daten, weniger Overhead) und die Schreibvorgänge sollten schneller als bei RAID10 sein. Dies hat jedoch den Nachteil, dass Lesevorgänge häufig langsamer enden. "Schreiben Sie jedes Mal einen vollständigen Streifen" führt zu einer Fragmentierung und bietet nicht den Vorteil, dass Sie bei vielen kleinen Lesevorgängen nur einen Teil der Datenträger lesen. Dies war eine bewusste Designentscheidung.
Dan Pritts
Was ich oben gesagt habe, ist nur teilweise wahr. RAID10 ist viel schneller, wenn Sie gleichzeitig kleine Schreibvorgänge ausführen, z. B. einen Datenbankserver. In RAIDZ sind alle Festplatten für alle Schreibvorgänge aktiv. RAID10 teilt sie auf. Der Punkt, den ich zu vermitteln versuchte, war, dass RAIDZ den leistungsmindernden und möglicherweise unsicheren Lese-, Änderungs- und Schreibzyklus von RAID5 beseitigt.
Dan Pritts
RAIDZ2 ist zuverlässiger als RAID10. Mit RAIDZ2 können zwei beliebige Festplatten ausfallen, und Sie verfügen weiterhin über Ihre Daten. Mit RAID10 zwei ausgefallenen Laufwerke (in einem Array vier Platte) kann zu Datenverlusten führen.
Klaws

Antworten:

21

Überlegen Sie sich Ihren Anwendungsfall, bevor wir auf Einzelheiten eingehen. Speichern Sie Fotos, MP3s und DVD-Rips? In diesem Fall ist es Ihnen möglicherweise egal, ob Sie dauerhaft einen einzelnen Block aus dem Array verlieren. Wenn es sich jedoch um wichtige Daten handelt, könnte dies eine Katastrophe sein.

Die Aussage, dass RAIDZ-1 "nicht gut genug für Ausfälle in der realen Welt" ist, ist, weil Sie wahrscheinlich einen latenten Medienfehler auf einer Ihrer überlebenden Festplatten haben, wenn die Rekonstruktionszeit kommt. Die gleiche Logik gilt für RAID5.

ZFS mildert diesen Fehler in gewissem Maße. Wenn ein RAID5-Gerät nicht wiederhergestellt werden kann, haben Sie so ziemlich Pech. Kopieren Sie Ihre (verbleibenden) Daten und erstellen Sie sie von Grund auf neu. Auf der anderen Seite wird mit ZFS alles bis auf den fehlerhaften Block rekonstruiert, und der Administrator kann die Fehler "löschen". Sie verlieren eine Datei / einen Teil einer Datei, aber nicht das gesamte Array. Und natürlich bedeutet die Paritätsprüfung von ZFS, dass Sie zuverlässig über einen Fehler informiert werden. Andernfalls ist es meines Erachtens möglich (obwohl unwahrscheinlich), dass mehrere Fehler zu einem anscheinend erfolgreichen Neuaufbau führen, der Ihnen jedoch schlechte Daten zurückgibt.

Da es sich bei ZFS um eine " grassierende Layering-Verletzung " handelt, werden auch die Bereiche erkannt , in denen keine Daten vorhanden sind, und sie können bei der Neuerstellung übersprungen werden . Wenn Ihr Array also halb leer ist, ist die Wahrscheinlichkeit eines Wiederherstellungsfehlers halb so hoch.

Sie können die Wahrscheinlichkeit solcher Neuerstellungsfehler auf jeder RAID-Ebene verringern, indem Sie regelmäßig "zpool scrubs" oder "mdadm checks" Ihres Arrays durchführen. Es gibt ähnliche Befehle / Prozesse für andere RAIDs. Zum Beispiel nennen LSI / Dell PERC-RAID-Karten dies "Patrol Read". Diese lesen alles, was den Laufwerken helfen kann, fehlerhafte Sektoren zu finden, und weisen sie neu zu, bevor sie dauerhaft werden. Wenn sie permanent sind, kann das RAID-System (ZFS / MD / RAID-Karte / was auch immer) die Daten aus der Parität neu erstellen.

Auch wenn Sie RAIDZ2 oder RAID6 verwenden, sind regelmäßige Scrubs wichtig.

Ein letzter Hinweis: RAID jeglicher Art ist kein Ersatz für Backups. Es schützt Sie nicht vor versehentlichem Löschen, Ransomware usw. Auch wenn reguläre ZFS-Snapshots Teil einer Backup-Strategie sein können.

Dan Pritts
quelle
Danke für diese Erklärung. Das ist sehr sinnvoll und passt zu dem, was ich bisher über ZFS gelernt habe. Ich habe meinen Server bereits mit FreeNAS neu geladen und bin zur RAIDZ-1-Konfiguration übergegangen. Ich habe es einmal im Monat eingestellt, um zu schrubben. Glaubst du, das ist oft genug oder würdest du häufigeres Peeling empfehlen? Die grassierende Layering-Verletzung ist mein Lieblingsfeature von ZFS :-)
Andrew Ensley
1
Ich habe ein raidz1, das auf 7 Consumer-Laufwerken unterschiedlichen Alters ausgeführt wird. Ich muss es alle 2 Wochen schrubben. Oft wird ein Fehler gefunden und behoben. Ich habe kürzlich ein Laufwerk verloren und eine Datei mit einem latenten Fehler verloren. Zum Glück war es eine Mediendatei, die ich leicht ersetzen kann. Für meine wichtigen Daten habe ich natürlich noch Backups.
Dan Pritts
Ich möchte darauf hinweisen, dass 'Home'-Laufwerke eine um zwei Größenordnungen schlechtere nicht behebbare Bitfehlerrate aufweisen, wenn sie gegen' Enterprise'-Qualität abgeglichen werden. Ich bin immer noch sehr glücklich darüber, dass die Compound-Ausfallrate auf RAID-5-Laufwerken auf vernünftigen FC / SAS-Laufwerken akzeptabel ist. Würde es aber nicht auf SATA machen.
Sobrique
1
Nur eine Größenordnung, die zwei Seagate-Laufwerke vergleicht: Seagate ST2000DM001: 1 in 10E14. ST2000NM0033: 1 in 10E15. Wirklich schwer zu sagen, ob die Antriebsmechanismen anders sind. Ich habe glaubwürdige Quellen gehört, die gegenteilige Antworten gaben.
Dan Pritts
2
Ich habe auf meinem System ein fehlerhaftes SATA-Kabel entdeckt. Seit dem Austausch haben meine Scrubs keine Fehler gefunden.
Dan Pritts
4

Hier ist ein kleines Missverständnis am Werk. Viele der Ratschläge, die Sie sehen, basieren auf einer Annahme, die möglicherweise nicht wahr ist. Insbesondere die nicht behebbare Bitfehlerrate Ihres Laufwerks.

Eine billige "Heimanwender" -Diskette weist eine pro 10 ^ 14 nicht behebbare Fehlerrate auf.

http://www.seagate.com/gb/de/internal-hard-drives/desktop-hard-drives/desktop-hdd/#specs

Dies befindet sich auf einer Ebene, auf der die Wahrscheinlichkeit eines nicht behebbaren Fehlers während einer RAID-Wiederherstellung erheblich ist. Sie sollten dies daher nicht tun. (Eine schnelle und unsaubere Berechnung legt nahe, dass RAID-5-Festplatten mit 5 x 2 TB tatsächlich eine Chance von etwa 60% haben werden.)

Dies gilt jedoch nicht für teurere Laufwerke: http://www.seagate.com/gb/en/internal-hard-drives/enterprise-hard-drives/hdd/enterprise-performance-15k-hdd/#specs

1 pro 10 ^ 16 ist 100x besser - was bedeutet, dass 5x 2 TB eine Chance von <1% für eine fehlgeschlagene Wiederherstellung darstellen. (Vermutlich weniger, da 600-GB-Spindeln für Unternehmen in der Regel nützlicher sind).

Also persönlich - ich denke, sowohl RAID-5 als auch RAID-4 sind immer noch hervorragend verwendbar, aus all den Gründen, aus denen RAID-0 immer noch weit verbreitet ist. Vergessen Sie nicht - das Problem mit RAID-6 ist die hohe Schreibstrafe. Sie können dies teilweise durch viel Caching abmildern, haben aber dennoch einige Probleme, insbesondere wenn Sie in erster Linie mit langsamen Laufwerken arbeiten.

Und im Grunde genommen - vertrauen Sie NIEMALS Ihrem RAID, um Ihre volle Ausfallsicherheit zu gewährleisten. Sie werden öfter Daten verlieren, als wenn ein Laufwerk ausfällt. Sie BRAUCHEN also eine angemessene Sicherungsstrategie, wenn Sie sich trotzdem um Ihre Daten kümmern.

Sobrique
quelle
Ich verwende 4-WD-RE4-GP-Laufwerke mit <1 in 10 ^ 15 nicht behebbaren Lesefehlern.
Andrew Ensley
Die RAID6-Schreibstrafe ist sehr real. RAID-Z2 leidet jedoch nicht darunter. Mit zfs werden alle Schreibvorgänge vollständig ausgeführt. Dies hat jedoch auch andere negative Auswirkungen - die Leseleistung wird aus mehreren Gründen tendenziell verringert.
Dan Pritts
3

Hmmm, hier einige schlechte Informationen. Bei 4 Festplatten ist an XFS wirklich nichts auszusetzen. Ich neige dazu, ZFS-RAIDZ aus Gründen der Leistung und Erweiterbarkeit zu vermeiden (niedrige Lese- / Schreibraten, kann nicht erweitert werden). Verwenden Sie nach Möglichkeit ZFS-Spiegel. Mit 4 Festplatten und keinem Ort, an dem Sie Ihr Betriebssystem unterbringen können, verlieren Sie entweder viel Kapazität oder müssen durch Partitionsspiele gehen, um Ihr Betriebssystem und Ihre Daten auf die gleichen vier Festplatten zu bringen.

Ich würde ZFS wahrscheinlich nicht für Ihren Anwendungsfall empfehlen. Hier stimmt nichts mit XFS.

ewwhite
quelle
2
Ich habe vergessen zu erwähnen, dass das Betriebssystem auf einem separaten Laufwerk läuft. Es tut uns leid. Ich möchte von ZFS, dass das XFS-RAID 10 keine Prüfsummen-Datenüberprüfung hat, mit der unbeaufsichtigte Datenfehler erkannt (und transparent behoben) werden können (ein bisschen auf dem Laufwerk gewendet, und die Festplatte hat keine Ahnung). Ich glaube nicht, dass XFS dazu in der Lage ist.
Andrew Ensley
Verwenden Sie für vier Festplatten ZFS-Spiegel, wenn eine Erweiterung erforderlich ist oder wenn die Leistung von Bedeutung ist. Ich würde auch FreeNAS vermeiden und unter Linux nur reines ZFS verwenden.
Ewwhite
1
Ich bin selbst ein Terminal-Typ, daher wechsle ich definitiv nicht zur grafischen Benutzeroberfläche. Meistens benötige ich nur ein stabiles Dateisystem, das (so weit wie möglich) die Integrität der darauf gespeicherten Dateien gewährleistet. Und ich hatte gehofft, dabei etwas Platz zu gewinnen. Ich habe viele Probleme mit ZoL gesehen, viele davon im Zusammenhang mit Ubuntu-Betriebssystem-Upgrades. groups.google.com/a/zfsonlinux.org/forum/#!searchin/zfs-discuss/… Ich versuche nicht, ein Schmerz zu sein. Ich erkläre nur, warum ich denke, was ich denke. Ich bin auf jeden Fall offen für Korrekturen.
Andrew Ensley
1
Das ist gut. Ich habe weitaus mehr Probleme mit FreeNAS (nicht mit FreeBSD) gesehen, so dass es in beide Richtungen geht. Es gibt da draußen Informationen. Ich benutze Ubuntu nicht, aber ich kann wissen ZFS . Mein ZFS unter Linux läuft normalerweise mit RHEL oder CentOS. Hier ist ein Beispiel-Workflow .
Ewwhite
1
Ich verwende ZFS unter Linux und Centos 6. Ich erlaube keine automatischen Updates des Kernels oder von ZFS. Ich hatte Probleme mit ZFS / SCL-Borking, aber noch nie Datenverlust. Übrigens verfügt FreeBSD über ähnliche Solaris-Kompatibilitätsroutinen, die jedoch zusammen mit ZFS vollständig in die Distribution integriert sind. Dies vereinfacht die Zusammenarbeit erheblich. Wenn ich nur ZFS und Dateidienste wollte, würde ich wahrscheinlich FreeBSD ausführen. Eigentlich habe ich das gemacht, aber ich benutze die Box für andere zufällige Sachen, was ZoL attraktiver gemacht hat.
Dan Pritts