FreeNAS und RAID Z

ghostadmin

Grand Admiral Special
Mitglied seit
11.11.2001
Beiträge
25.213
Renomée
191
Standort
Dahoam Studios
Ich bin auf diesen Raid Level von Sun gestoßen, der ja in der aktuellen Beta Version von FreeNAS enthalten ist. Ich habe mich gefragt, welche CPU man da wohl benötigt bzw. welche gut geeignet aber günstig ist.

Und mit Hardware RAID Controllern scheint es wohl Probleme zu geben, weil die Platten nicht 1:1 weitergereicht werden und dann kein Smart funktioniert sowie das ganze nur noch mit dem selben Controller funktioniert. Platten entfernen kann man bei ZFS nicht.

Möchte erstmal anfangen mit 4x 1TB und das ganze später erweitern, wahrscheinlich mit anderer Plattengröße. Macht es Sinn da mehrere Controller zu verwenden, wenn z.B. einer kaputt geht? Man könnte ja diese 4 Platten an 3-4 Controller anstecken. Aber generell müsste ZFS das ja selbst erkennen.
 
ZFS hat mit Kontrollern nichts am Hut.
Solange die Hardware vom Betriebsystem unterstützt ist funktioniert auch das ZFS.

ZFS kann keine RaidZ Verbünde ändern/erweitern.
Man kann nur zu einem Verbund weitere Verbünde später dazu fügen.

ZFS Platten kann man generell abstecken und kunterbunt zusammengewürfelt wieder anstecken ohne dass dabei ein Problem entsteht. Beim mounten sucht das ZFS einfach alle verfügbaren devices durch.

Ein Ausfall eines ganzen Kontrollers kommt bei keinem Raid Verbund sonderlich gut an.
ZFS unterscheidet sich da durch nichts von anderen Systemen.

Bei geschickter Aufteilung von Platten auf verschiedene Kontroller und Auswahl des richtigen Raidlevels kann natürlich ein kompletter Kontrollerausfall weg gesteckt werden.
Die Frage dabei ist allerdings ob der Rechner sowas auch einfach wegsteckt und unterbrechungsfrei weiter läuft.

lg
__tom
 
ZFS hat mit Kontrollern nichts am Hut.
Solange die Hardware vom Betriebsystem unterstützt ist funktioniert auch das ZFS.

Das meine ich nicht. Natürlich spielt es eine Rolle ob die Hardware unterstütz wird aber es geht darum ob Hardware RAID Controller wirklich geeignet sind, da RAID Z nunmal software basiert ist und nichts mit Platten aus Raidcontainern anfangen kann. Reicht es, die Platten im Bios auf JBOD zu stellen?

ZFS kann keine RaidZ Verbünde ändern/erweitern.
Man kann nur zu einem Verbund weitere Verbünde später dazu fügen.

Das ist mir bewußt.

Ein Ausfall eines ganzen Kontrollers kommt bei keinem Raid Verbund sonderlich gut an.
ZFS unterscheidet sich da durch nichts von anderen Systemen.

ZFS sichert doch das Filesystem durch Prüfsummen. Also sollte es auch erkennen wenn der Controller selbst ungültige Daten schreibt. Die Frage ist nur, was macht ZFS dann? Mir gehts weniger um einen Controller Komplettausfall sondern darum korrupte Daten zu vermeiden. Wenn natürlich bei einem Raid Z gleich 2 Platten auf einmal spinnen, kann man nichts machen.
 
Zuletzt bearbeitet:
Das meine ich nicht. Natürlich spielt es eine Rolle ob die Hardware unterstütz wird aber es geht darum ob Hardware RAID Controller wirklich geeignet sind, da RAID Z nunmal software basiert ist und nichts mit Platten aus Raidcontainern anfangen kann. Reicht es, die Platten im Bios auf JBOD zu stellen?
Eine Partition oder Platte ist, egal wie erzeugt, also auch als virtuelles Device am Hardwarekontroller, dem ZFS recht.
Alles Block Devices können benutzt werden.
ZFS weiss ja nicht was hinter einer Partition oder einem Device steht.
Deshalb ist es ihm auch egal.
JBOD ist daher natürlich geeignet.

ZFS sichert doch das Filesystem durch Prüfsummen. Also sollte es auch erkennen wenn der Controller selbst ungültige Daten schreibt. Die Frage ist nur, was macht ZFS dann? Mir gehts weniger um einen Controller Komplettausfall sondern darum korrupte Daten zu vermeiden. Wenn natürlich bei einem Raid Z gleich 2 Platten auf einmal spinnen, kann man nichts machen.
ZFS sichert jede Datei mit Prüfsummen und merkt daher bei einem Zugriff ob eine Datei defekt ist oder nicht.
Wenn man mehr Sicherheit vor Dateikorruption haben will muss man eben RAIDZ2 verwenden.
Da werden auf 2 Paritätsplatten unterschiedliche Prüfsummen gespeichert.
Eine fehlerhafte Datei wird dann aus 2 Paritäten wiederhergestellt - automatisch.

Triple Parity ist außerdem auch in Vorbereitung.

lg
__tom
 
Ja wenn es merkt das z.B. auf einer Platte Mist ist dann merkt ZFS das und kann eingreifen. Ich habe gelesen das es da einen Scrub gibt der das dann beheben kann. Aber ich glaube der läuft nur manuell gestartet. Oder wird bei jedem Lese/Schreibzugriff die Prüfsumme abgeglichen?

Und was passiert wenn der Controller zu spinnen anfängt und auf allen Platten Mist macht. Ich hatte sowas mal bei Raid5 und alle Daten waren hinüber. Vor allem weil bei normalen Raid der Controller ja nicht weiß wo die "guten" Daten sind, weil er nichts übers Filesystem weiß und dann alles syncen will.
Es werden ja nur die Platten überprüft, ob diese OK sind (wird da eigentlich auch Smart verwendet ähnlich wie bei SCSI/SAS ?) aber der Controller eben nicht.

Und wäre es da sinnvoll ECC Ram zu verwenden?

Stimmt es das mehrere Cores bei einem reinen ZFS NAS gar nichts bringen?
 
Ja wenn es merkt das z.B. auf einer Platte Mist ist dann merkt ZFS das und kann eingreifen. Ich habe gelesen das es da einen Scrub gibt der das dann beheben kann. Aber ich glaube der läuft nur manuell gestartet. Oder wird bei jedem Lese/Schreibzugriff die Prüfsumme abgeglichen?
Bei jedem Zugriff wird natürlich die jeweilige Datei geprüft und ggf. korrigiert.
Anders hätte es ja keinen Sinn ;)
Scrub dient dazu das ganze Dateisystem zu überprüfen.

Und was passiert wenn der Controller zu spinnen anfängt und auf allen Platten Mist macht. Ich hatte sowas mal bei Raid5 und alle Daten waren hinüber. Vor allem weil bei normalen Raid der Controller ja nicht weiß wo die "guten" Daten sind, weil er nichts übers Filesystem weiß und dann alles syncen will.
Es werden ja nur die Platten überprüft, ob diese OK sind (wird da eigentlich auch Smart verwendet ähnlich wie bei SCSI/SAS ?) aber der Controller eben nicht.
Ausprobieren!
Wenn ein Dateisystem beim schreiben eines Blockes ein OK vom Treiber bekommt geht es davon aus, dass es so ist.
ZFS prüft nicht "zur Sicherheit" nochmal alles.
Klarerweise werden Fehler in der Prüfsumme erst erkannt wenn wieder auf die jeweilige Datei zugegriffen wird.
Ist zuviel kaputt kann nix wiederhergestellt werden.

Und wäre es da sinnvoll ECC Ram zu verwenden?
ECC ist durchaus sinnvoll aber man muss halt das Verhältnis von Kosten Nutzen auch beachten.
Was nutzt mir zB. ein ECC Speicher im Hauptspeicher wenn am Pufferspeicher des Kontrollers kein ECC Speicher ist? ;)
Wie groß ist die Wahrscheinlichkeit das genau dieses eine Bit wo gerade mein Datenblock steht umfällt und durch ECC korrigiert wird?


Stimmt es das mehrere Cores bei einem reinen ZFS NAS gar nichts bringen?
Ausprobieren, es kommt sicher auf den Kernel an, sag ich mal.
Wenn es für Netzwerk IO und Disk IO verschiedene non blocking Kernelthreads gibt dann haben mehrere Cores Sinn.
Die Frage ist ab welcher Last ist aber ein Unterschied bemerkbar.
Denn IO Kontroller von großen RAID-Systemen sind zb. auch immer Single Cores, oder?

lg
__tom
 
Willst du die RAID-Funktionalität über ZFS realisiert haben, funktioniert JBOD natürlich nicht. ZFS sieht dann ja auch nur ein großes Device. Manche RAID-Controller, insbesondere die guten, können die Platten auch einzeln weiter reichen. Dann kannst du auf deren RAID-Funktionalität verzichten, und das ZFS machen lassen. Aber auch, wenn du die Platten nicht einzeln durchreichst, kommst du mitunter an die S.M.A.R.T.-Daten. Zumindest unter Linux hast du zum sd-device auch ein sg-device. Selbiges sollte dir die Werte ausspucken.
 
Ja das meinte ich. Das Problem ist ja das man die SATA Controller (vor allem die größeren ab 2 Ports) gar nicht mehr ohne RAID bekommt, selbst die billigen. Vielleicht gehen ja wenigstens diese Pseudo SAS/SATA RAID Controller.
Ein teurer SAS Controller würde rumliegen aber da hab ich keine Kabel zum anstecken.
 
Zuletzt bearbeitet:
Willst du die RAID-Funktionalität über ZFS realisiert haben, funktioniert JBOD natürlich nicht. ZFS sieht dann ja auch nur ein großes Device. Manche RAID-Controller, insbesondere die guten, können die Platten auch einzeln weiter reichen.
JBOD ist einzeln weiterreichen -> just a bunch of disks ;)
ZFS sieht dann genau die disks die im bunch sind.
 
Nur hat irgendwo mal einer geschrieben er hätte kein SMART auslesen können. Meine das war ein echter RAID Controller.
 
Ja das meinte ich. Das Problem ist ja das man die SATA Controller (vor allem die größeren ab 2 Ports) gar nicht mehr ohne RAID bekommt, selbst die billigen. Vielleicht gehen ja wenigstens diese Pseudo SAS/SATA RAID Controller.
Ein teurer SAS Controller würde rumliegen aber da hab ich keine Kabel zum anstecken.

und was haben die RAID Funktionen des Controllers damit zu tun, die willst du doch nicht nutzen. Die Platten werden dem System zu 100% einzeln bekannt sein.
 
und was haben die RAID Funktionen des Controllers damit zu tun, die willst du doch nicht nutzen. Die Platten werden dem System zu 100% einzeln bekannt sein.
Das ist doch gerade eine der Fragen. Kann der Controller die Platten einzeln durchreichen, oder bietet er sie nur in einer "RAID"-Konfiguration an?
 
Bei den mir bekannten HP Controllern muss man ein Raid1 mit einem member definieren, welches dann weitergereicht wird. JBOD kennen die nicht.
 
Ich hatte den P800 grad im PEG Slot. Bios Screen war da aber ausser 10sek lang Initializing kam da nichts. Normalerweise kommt da ein Press F8 aber war nichts. Habe eben leider keine Kabel dafür um mal eine Platte anstecken zu können.

Läuft so ein x8 PCIe Controller eigentlich auch in einem x16 Slot der elektrisch nur 4x verdrahtet ist (steht bei Geizhals so)?
Die billigeren Boards haben eben nur einen x4 Slot, die etwas besseren einen x8 Slot. Habe nicht vor da ne PCIe GPU reinzustecken aber evtl 2 Controller mit x8.
 
Zuletzt bearbeitet:
Das ist doch gerade eine der Fragen. Kann der Controller die Platten einzeln durchreichen, oder bietet er sie nur in einer "RAID"-Konfiguration an?

er hat ja nicht geschrieben welchen er hat. Von den gängigen Promise und Co habe ich bis jetzt noch nichts davon gehört, dass es nicht gehen soll.

Bei den von HP und Co ist es leider oft so, dass sie nur Plattenverbünde durchreichen.

Läuft so ein x8 PCIe Controller eigentlich auch in einem x16 Slot der elektrisch nur 4x verdrahtet ist (steht bei Geizhals so)?
Die billigeren Boards haben eben nur einen x4 Slot, die etwas besseren einen x8 Slot. Habe nicht vor da ne PCIe GPU reinzustecken aber evtl 2 Controller mit x8.

eigentlich sollte das schon laufen, weil PCIe ja abwärtskompatibel ist, aber ich meine du hast dann nicht die volle Bandbreite.
 
Ist denn ZFS in FreeNAS schon einigermaßen ausgereift? Noch im 7er Zweig von FreeBSD war es nicht unproblematisch...
 
Ich hatte den P800 grad im PEG Slot. Bios Screen war da aber ausser 10sek lang Initializing kam da nichts. Normalerweise kommt da ein Press F8 aber war nichts. Habe eben leider keine Kabel dafür um mal eine Platte anstecken zu können.

Läuft so ein x8 PCIe Controller eigentlich auch in einem x16 Slot der elektrisch nur 4x verdrahtet ist (steht bei Geizhals so)?
Die billigeren Boards haben eben nur einen x4 Slot, die etwas besseren einen x8 Slot. Habe nicht vor da ne PCIe GPU reinzustecken aber evtl 2 Controller mit x8.

Mein verwendeter Raidcontroller ein PCIe x8 SAS/SATA Controller, der läuft auch im PCIe x16er Peg Slot, als auch bei mir derzeit in einem nach hinten offenen x4er Slot bei der Länge eines x16er Slots.
 
Der verwendete P800 unterstützt tatsächlich kein JBOD. Man muss jede Platte in einen RAID0 Container stecken und Smart Werte werden keine angezeigt.

Die HP Smartstart CD geht nicht und Firmware Update auch nicht. Im Bios sind die Optionen stark begrenzt.
 
Zurück
Oben Unten