Z170 mehrere NVMe ssd / gpu passthrough

H3PO

Enthusiast
Thread Starter
Mitglied seit
10.02.2008
Beiträge
383
Moin,
Ich überlege eine Linux WS auf 1151 oder 2011-3 mit GPU passthrough für das gelegentliche daddeln zu bauen. Dass das auf Z170 möglich wurde von TekSyndicate schon auf einem ASUS Z170-Deluxe demonstriert.
Wenn ich bei Geizhals in der 1151 Kategorie ein bisschen rumfilter (M.2, USB 3.1, >8x SATA, 2x Intel NIC, >3200MHz DDR4, Solid Caps) fällt das ASRock Fatal1ty Z170 Professional Gaming i7 ins Auge, zum einen das günstigste und zum anderen hat es 3x M.2 Slots.
Fragen:
1. Reicht die DMA bandbreite für mehrere x4 M.2 NVMe SSD oder wird der durchsatz sogar permanent auf x2/x1 reduziert?
2. Kann man eine so angebundene SSD durchreichen an eine VM (auf dem Fatal1ty/auf Z170 generell)?
3. Gibt's gpu passthrough erfahrungen auf dem Fatal1ty?

Wie ist generell das Interesse an sowas? Klingt für mich sehr interessant nicht nur die GPU sondern auch die SSD an eine Win10 vm durchzureichen, wenn das geht spekuliere ich auf etwas schnelleren durchsatz als virtio+raw, weniger CPU overhead und kopfschmerzen wg. trim.

Edit: 4. Kann man den Z170 Sata controller durchreichen?
Edit: Asrock schreibt zu den mehreren M.2 slots nur folgendes:
M2_1, SATA3_0, SATA3_1 and SATA_EXP0 share lanes. If either one of them is in use, the others will be disabled.
M2_2, SATA3_2, SATA3_3 and SATA_EXP1 share lanes. If either one of them is in use, the others will be disabled.
M2_3, SATA3_4, SATA3_5 and SATA_EXP2 share lanes. If either one of them is in use, the others will be disabled.
Ich gehe davon aus, dass sich das auf die SATA "lanes" bezieht und nicht auf PCIe (?)
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
1. Reicht die DMA bandbreite für mehrere x4 M.2 NVMe SSD oder wird der durchsatz sogar permanent auf x2/x1 reduziert?
Der Chipsatz ist mit DMI 3 angebunden, was technisch PCIe 3.0 x4 entspricht und bietet selbst bis zu 20 PCIe 3.0 Lanes. Die Anbindung der einzelnen SSDs bleibt mit 4 PCIe 3.0 Lanes, aber wenn auf zwei oder alle drei gleichzeitig lesend zugriffen wird, wie es bei einem RAID 0 der Fall wären, denn begrenzt die DMI Anbindung die gesamte zur Verfügung stehende Bandbreite und damit die Performance. Aber ein RAID 0 gerade so schneller SSDs dürfte kaum mehr als eine PCIe SSD bringen, für M.2 kommt sowieso eigentlich nur die 950 Pro in Betracht, die anderen sind langsamer oder wie die SM951 / PM951 eben OEM SSDs.

Asrock schreibt zu den mehreren M.2 slots nur folgendes:

Ich gehe davon aus, dass sich das auf die SATA "lanes" bezieht und nicht auf PCIe (?)
Das liegt am Aufbau des Chipsatzes mit seinen HSIOs an die entweder eine PCIe Lane oder eine ein SATA Port gehängt werden können. So sieht das aus:

332807d1439867794-intel-sunrise-point-mainboards-infos-news-bilder-reviews-q-h-z170-b-q150-h110-z170_pch_hsio_allocation.png


Wenn da also steht: "M2_1, SATA3_0, SATA3_1 and SATA_EXP0 share lanes.", dann werden die PCIe Lanes #9 bis #12 an diesen M2_1 Slot angebunden und damit können die beiden SATA Ports #0 und #1 nicht benutzt werden und wenn man sie benutzen möchte, dann hätte man die PCIe Lanes #11 und #12 nicht mehr zur Verfügung, nur wird eben offenbar nicht so fein unterschieden und daher wohl gleich der ganze M.2 Slot deaktiviert, statt ihn mit den verbleibenden beiden PCIe Lanes #9 und #10 weiter zu betreiben. Vergiss als die M.2 Slot und die SATA Ports des Chipsatzes gleichzeitig nutzen zu können, denn das geht einfach nicht. Einen M.2 Slot könnte man nutzen, wenn der Boardhersteller die beiden SATA Lanes #0 und #1 auf die alternativen, hellgrün eingezeichneten HSIOs mappt, was ASRock bei dem Board offenbar aber nicht gemacht hat.
 
Mir erschließt sich ehrlich gesagt der Sinn dahinter noch nicht so ganz...
Über den DMI bekommst du auf dem Papier ~4GB/sec übertragen. Das ganze sollte normal, PCIe typisch Fullduplex arbeiten. Heist unterm Strich, optimalerweise können da ~8GB/sec auf dem Papier durchfließen. Welche m.2 SSDs sollen das wegschaufeln können? Wenn du da drei 950Pro 512GB Dinger hinter klemmst und technisch damit ein Raid0 Betrieb möglich wäre, ist es immernoch Fraglich, ob die Dinger zusammen 8GB/sec Durchsatz schaffen. Sprich Lesen/Schreiben gleichzeitig... Die Benches von den Teilen werden ja ohne mehrfache Last erzeugt. Wenn da ~2,xGB/sec lesend möglich sind, wird gleichzeitig auf der gleichen SSD nicht mehr 1,xGB/sec schreibend stehen... Selbst mal drei dürften da keine ~8GB raus kommen.
Denn die Daten müssen ja immernoch irgendwo hin bzw. kommen von irgendwo her... Anders schaut das allerdings aus, wenn Quelle/Ziel irgendwas anderes ist. Bspw. ne RAM Disk, ne PCIe SSD oder sogar was externes -> 40GBE/Infiniband/Thunderbold whatever.
Willst du aber ne GPU betreiben in der Kiste, so ist der 16x Slot an der CPU ja eh weg. Das heist, es bleibt effektiv für schnellen Connect doch so oder so nur die RAM Disk. Hast du 64GB RAM in der Kiste, ziehst ein paar GB für die VM Geschichten ab, bleibt da ne Menge von keine Ahnung, vielleicht 40-50GB über. Lesend vom Raid der m.2 SSDs zur RAM Disk würde damit vielleicht 10-20sec brauchen. Dann ist Ende, weil entweder Quelle oder Ziel (in dem Fall Ziel) voll wären. Das halte ich für wenig praxisrelevant derartige Datenmengen quasi permanent umschaufeln zu müssen... Vor allem eben unter dem Gesichtspunkt, dass man ja erstmal die Daten haben müsste. Wo kommen die denn her, wer erzeugt diese Datenmengen innerhalb so kurzer Zeit, dass der Speed der Übertragung so wichtig wäre?



Wenn dir das so "wichtig" sein sollte, bist du eher im Bereich S2011-3, ggf. sogar Dual S2011-3 besser aufgehoben. Da hast du PCIe Lanes bis zum abwinken und kannst mit halbwegs brauchbaren PCIe auf m.2 Adaptern entsprechend viele SSDs unterbringen oder gleich auf PCIe SSDs setzen. Ebenso gibts gleichsam noch die Möglichkeit, ECC RAM wie auch breitere CPUs einsetzen zu können...
Beim Mainstream Z170 halte ich das wie erwähnt für eine unsinnige Spielerei. Auf dem Papier können Limits entstehen, wie viel das in der Praxis aber ausmachen wird, ist halt so eine Sache ;)
 
Zuletzt bearbeitet:
Mich würde auch mal interessieren, warum du quasi Dein Gaming-Rig virtualisieren willst? Wäre es nicht einfacher, Gaming auf einer "bare metal" Maschine aufzusetzen und den Rest halt ggf. virtuell auf einer 2. Box ohne solche Sonderlocken?

Wenn Du in ein flottes Netz (10Gbit) kannst Du die Daddelbox extrem schmal halten und den schnellen Speicher im Server trotzdem nutzen (wer's krachen lassen will halt zur Not mit 2x10Gbit im Team-Mode...;)... Den Storage musst du dann erstmal aufziehen, der das liefert... ).
 
Zuletzt bearbeitet:
Raid mit den M.2 würde ich nicht machen, sondern eine für den Linux hypervisor und eine für den Windows Gast zum durchreichen. Daher ists kein Problem wenn die gesamt Bandbreite auf x4 beschränkt ist, die Windows maschine soll eh nur an sein zum gelegentlichen Spielen.

technisch PCIe 3.0 x4 entspricht und bietet selbst bis zu 20 PCIe 3.0 Lanes.
Heisst das, für die ganzen Peripherie Geräte stehen per DMA x4 Bandbreite/20 Lanes zur Verfügung zusätzlich zu den 16 Lanes der CPU oder inklusive? Bei letzterem würde das ja mit oder ohne M.2 Slots schon knapp mit den NIC und USB3 ports, angenommen ich habe z.B. 2x GBit + 2xUSB3.1 externe HDD + 6x Sata platten + GPU.
Ganz schön kompliziert die Geschichte... Sieht so aus als wäre X99 mit 40 lanes klar zu bevorzugen, ist nur leider knapp über meinem Budget von 1900€

Edit: paar posts verpasst...
Mir erschließt sich ehrlich gesagt der Sinn dahinter noch nicht so ganz...
Über den DMI bekommst du auf dem Papier ~4GB/sec übertragen. Das ganze sollte normal, PCIe typisch Fullduplex arbeiten. Heist unterm Strich, optimalerweise können da ~8GB/sec auf dem Papier durchfließen. Welche m.2 SSDs sollen das wegschaufeln können?
Wie du vielleicht an meiner sig siehst, bin ich ein paar Jahre hinterher und kenne mich dementsprechend nicht aus mit den neuen Interfaces. Ich stelle mir halt grade ein neues System zusammen und gucke was wie und wofür sinn macht. In Richtung M.2 NVMe eher weniger wegen dem Durchsatz als wegen Latenzen.

Wenn dir das so "wichtig" sein sollte, bist du eher im Bereich S2011-3, ggf. sogar Dual S2011-3 besser aufgehoben. Da hast du PCIe Lanes bis zum abwinken und kannst mit halbwegs brauchbaren PCIe auf m.2 Adaptern entsprechend viele SSDs unterbringen oder gleich auf PCIe SSDs setzen. Ebenso gibts gleichsam noch die Möglichkeit, ECC RAM wie auch breitere CPUs einsetzen zu können...
Beim Mainstream Z170 halte ich das wie erwähnt für eine unsinnige Spielerei. Auf dem Papier können Limits entstehen, wie viel das in der Praxis aber ausmachen wird, ist halt so eine Sache ;)
Klar gibt 2011-3 im Server bereich viel her, aber für den Alltag (Sound, USB 3.1) müsste ich dann noch etliche Erweiterungskarten zusätzlich haben. ECC Ram bringt mir keinen mehrwert, ich nutze btrfs. Generell reicht das budget nicht für 2 Rechner und ich gucke auch auf den Stromverbrauch.
 
Zuletzt bearbeitet:
Raid mit den M.2 würde ich nicht machen, sondern eine für den Linux hypervisor und eine für den Windows Gast zum durchreichen. Daher ists kein Problem wenn die gesamt Bandbreite auf x4 beschränkt ist, die Windows maschine soll eh nur an sein zum gelegentlichen Spielen.


Heisst das, für die ganzen Peripherie Geräte stehen per DMA x4 Bandbreite/20 Lanes zur Verfügung zusätzlich zu den 16 Lanes der CPU oder inklusive? Bei letzterem würde das ja mit oder ohne M.2 Slots schon knapp mit den NIC und USB3 ports, angenommen ich habe z.B. 2x GBit + 2xUSB3.1 externe HDD + 6x Sata platten + GPU.
Ganz schön kompliziert die Geschichte... Sieht so aus als wäre X99 mit 40 lanes klar zu bevorzugen, ist nur leider knapp über meinem Budget von 1900€

Die CPU hat 16 PCIe3.0-Lanes und der Chipsatz 20 PCIe3.0-Lanes .... Kann man übrigens bei vielen Test du den Skylake-Chipsätzen nachlesen.´
Die Lanes der CPU werden für die Grafikkarten-Steckplätze genutzt.
 
Mich würde auch mal interessieren, warum du quasi Dein Gaming-Rig virtualisieren willst? Wäre es nicht einfacher, Gaming auf einer "bare metal" Maschine aufzusetzen und den Rest halt ggf. virtuell auf einer 2. Box ohne solche Sonderlocken?

Wenn Du in ein flottes Netz (10Gbit) kannst Du die Daddelbox extrem schmal halten und den schnellen Speicher im Server trotzdem nutzen (wer's krachen lassen will halt zur Not mit 2x10Gbit im Team-Mode...;)... Den Storage musst du dann erstmal aufziehen, der das liefert... ).

Vielleicht passt mein Thread nicht zu den Sachen die hier im Workstation bereich typischerweise diskutiert werden... von 10GBit und Racks im Keller bin ich weit entfernt. Der Gedanke das Gaming zu virtualisieren kommt einfach daher dass ich für OpenCL eh eine Fury in der Workstation verbauen würde.
 
Über den DMI bekommst du auf dem Papier ~4GB/sec übertragen.
Aber nur bevor man den Overhead der oberen Protokolllayer abgezogen hat, mit der Botkodierung alleine ist es ja noch nicht getan, die anderen Schichten des Protokolls erzeugen auch jeweils Overhead.
Das ganze sollte normal, PCIe typisch Fullduplex arbeiten. Heist unterm Strich, optimalerweise können da ~8GB/sec auf dem Papier durchfließen. Welche m.2 SSDs sollen das wegschaufeln können? Wenn du da drei 950Pro 512GB Dinger hinter klemmst
Fullduplex bedeutet es kann in bei Richtungen gleichzeitig übertragen werden, diese 8GB/s (brutto) wären also sowieso nur möglich, wenn 4GB/s gelesen und 4GB/s geschrieben werden. Da SSDs bei gleichzeitigen Lesen- und Schreibzugriffen eher nicht so schnell sind, wären wohl auch drei 950Pro dann zumindest schreibend nicht in der Lage dies zu schaffen. Die Datenrate für jede Richtung zusammen zu zählen, halte ich im übrigens für irreführend und real sind bei PCIe 3.0 x4 je nach Länge der Pakete im Transportlayer wohl auch nur so maximal 3.2GB/s Nettodatenrate möglich.

Raid mit den M.2 würde ich nicht machen, sondern eine für den Linux hypervisor und eine für den Windows Gast zum durchreichen.
Dann werden kaum beide gleichzeitig mit voller Geschwindigkeit lesen, damit wäre der DMI Flaschenhals dann in Praxis kein Thema.
Heisst das, für die ganzen Peripherie Geräte stehen per DMA x4 Bandbreite/20 Lanes zur Verfügung zusätzlich zu den 16 Lanes der CPU oder inklusive?
Diese 16 Lanes der CPU sind extra, die CPU hat im Grunde 20 PCIe 3.0 Lanes, von denen aber 4 fest als DMI zur Anbindung des Chipsatzes genutzt werden, der dann selbst noch mal 20 Lanes hat, die eben aber nur alle genutzt werden können, wenn man z.B. auf die SATA Ports verzichtet, weil die sich intern eben die Bandbreite (HSIOs) teilen.
Bei letzterem würde das ja mit oder ohne M.2 Slots schon knapp mit den NIC und USB3 ports, angenommen ich habe z.B. 2x GBit + 2xUSB3.1 externe HDD + 6x Sata platten + GPU.
Wieso? Die GPU kommt an die 16 Lanes der CPU und der Chipsatz hat neben den 12 für die 3 M.2 Slot / 6 SATA Ports ja noch z.B. ein zusätzlicher SATA Host Controller und z.B. ein USB 3.1 Gen2 Controller angeschlossen sein können.
Ganz schön kompliziert die Geschichte... Sieht so aus als wäre X99 mit 40 lanes klar zu bevorzugen, ist nur leider knapp über meinem Budget von 1900€
Der hat mehr Lanes und der Chipsatz mehr SATA Ports, aber der Chipsatz ist nur mit DMI2 (PCIe 2.0 x4) angebunden und hat selbst auch nur 8 PCIe 2.0 Lanes.
 
Aber nur bevor man den Overhead der oberen Protokolllayer abgezogen hat, mit der Botkodierung alleine ist es ja noch nicht getan, die anderen Schichten des Protokolls erzeugen auch jeweils Overhead.
Ähm danke für die Bestätigung, aber das schrieb ich doch bereits... Steht nicht grundlos mehrfach "auf dem Papier" dort ;)
Fullduplex bedeutet es kann in bei Richtungen gleichzeitig übertragen werden, diese 8GB/s (brutto) wären also sowieso nur möglich, wenn 4GB/s gelesen und 4GB/s geschrieben werden. Da SSDs bei gleichzeitigen Lesen- und Schreibzugriffen eher nicht so schnell sind, wären wohl auch drei 950Pro dann zumindest schreibend nicht in der Lage dies zu schaffen. Die Datenrate für jede Richtung zusammen zu zählen, halte ich im übrigens für irreführend und real sind bei PCIe 3.0 x4 je nach Länge der Pakete im Transportlayer wohl auch nur so maximal 3.2GB/s Nettodatenrate möglich.
Wieder danke, aber auch das schrieb ich bereits... Ebenso den Part, dass ich es für fraglich halte, dass selbst drei m.2 950Pros das überhaupt kompensieren könnten!
Da für ihn der Raidbetrieb wohl nicht in Frage kommt, ist das Thema DMI Flaschenhals so oder so ein Stück weit vom Tisch. Bestenfalls mit xx vielen SATA SSDs, gleichzeitiger m.2 SSD Last über alle beteiligten wie noch USB3/LAN usw. könnte das eintreten. Aber auch das ist wieder fern ab jeglicher Praxisanwendungen.

Der hat mehr Lanes und der Chipsatz mehr SATA Ports, aber der Chipsatz ist nur mit DMI2 (PCIe 2.0 x4) angebunden und hat selbst auch nur 8 PCIe 2.0 Lanes.

Ist eigentlich nebensächlich, wenn A) über Budget (nach seiner Aussage) B) kein Mensch groß Geräte an den Chipsätz klemmt bei derartigen Boards und C) die Last dann über die PCIe Lanes verteilt werden würde. -> kurzum, auch beim X99 wird idR der noch schmalere DMI nicht zum direkten Falschenhals. Allerbestenfalls wenn man die SATA Ports mit SSDs voll bestückt, entsprechende Raidlevel fährt und dort dann wieder m.2, RAM Disk oder PCIe SSDs bzw. externe Lösungen als Quelle oder Ziel nutzt. Scheint alles in seinem Fall nicht gegeben... Also Haken dran.

ECC Ram bringt mir keinen mehrwert, ich nutze btrfs.

Gegenfrage, wie schützt dich btrfs gegen Speicherfehler? ;) Sprich wie bekommt das Filesystem mit, dass das, was dort gerade geschieht, aufgrund von Fehlerhaften Daten im Hauptspeicher überhaupt richtig ist? -> das wird so nix. Willst du Sicher, dann sollte ECC auf den Riegeln kleben...
Technisch geht es natürlich auch ohne, das steht außer Frage...
 
Eieiei, ich frag nach mehreren M.2 um eine an VM durchreichen zu können, und ihr fangt an über Bandbreiten im GBit bereich zu diskutieren xD Danke jdf. für die Erklärungen.

Gegenfrage, wie schützt dich btrfs gegen Speicherfehler? ;) Sprich wie bekommt das Filesystem mit, dass das, was dort gerade geschieht, aufgrund von Fehlerhaften Daten im Hauptspeicher überhaupt richtig ist? -> das wird so nix. Willst du Sicher, dann sollte ECC auf den Riegeln kleben...
Technisch geht es natürlich auch ohne, das steht außer Frage...
Btrfs schützt mich nicht vor Speicherfehlern, ob mit oder ohne ECC. Zum Erkennen von Fehlern sind die Checksummen, zum Beheben die Backups.
 
Eieiei, ich frag nach mehreren M.2 um eine an VM durchreichen zu können, und ihr fangt an über Bandbreiten im GBit bereich zu diskutieren xD Danke jdf. für die Erklärungen.
Nix für ungut, ich mag es irgendwie nicht, wenn mir Leute "antworten" und der Spaß dann mit "Aber nur ..." anfängt, sprich eine Art Gegenargument sein soll, wo im Endeffekt das gleiche ausgesagt wird, was ich selbst schon schrieb ;) Es ist halt mühsam, wenn man alle Nase lang alles auf die Goldwage gelegt bekommt um am Ende doch irgendwie an der Aussage nichts zu ändern.

Btrfs schützt mich nicht vor Speicherfehlern, ob mit oder ohne ECC. Zum Erkennen von Fehlern sind die Checksummen, zum Beheben die Backups.

Ja, soweit die Theorie, was passiert aber, wenn du durch Bitfehler im RAM verfälschte Werte hast? Das einmal geschribene Bits auf der Platte kippen, ist ja nur der eine Part. Kann dir potentiell im RAM genau so passieren... Mit den Checksummen kann man den Datenbestand verifizieren. Allerdings sollte dann aber aus meiner Sicht auch klar sein, dass das, was die Checksumme abbildet exakt ist. Kommen Bitfehler im RAM dazu, ist das nicht zwingend gegeben. Zumal doch auch, das was an Datenbestand verifiziert wird, also das, was die HDDs/SSDs lesen durch den RAM läuft. Heist wiederum auch, nicht zwingend ist das, was dort im RAM steht zur Prüfung gegen die Checksumme das, was wirklich auf dem Massenspeicher ist.

Effektiv sind das ja drei Parteien. HDD/SSD Massenspeicher mit Datenbestand. HDD/SSD Massenspeicher mit Checksummen und RAM. (ggf. eine vierte -> Backup, respektive fünfte, Backup Checksummen) Baut der Hauptspeicher aber Mist, zerlegst du dir im Worst Case ALLES. Inkl. dem Backup. Da auch nicht gesichert ist, dass der Datenbestand (und die Checksummen, sofern vorhanden) im Backup sauber sind...

Persönlich würde ich, wenn du schon so eine Kiste fährst, dann nicht am ECC sparen. Der Aufwand, sich dagegen zu schützen ist relativ gering und die Kosten ebenso.
 
Ist eigentlich nebensächlich, wenn ... kein Mensch groß Geräte an den Chipsätz klemmt bei derartigen Boards und C) die Last dann über die PCIe Lanes verteilt werden würde. -> kurzum, auch beim X99 wird idR der noch schmalere DMI nicht zum direkten Falschenhals. Allerbestenfalls wenn man die SATA Ports mit SSDs voll bestückt, entsprechende Raidlevel fährt
DMI2 bedeutet real so 1600MB/s und bei 10 SATA Ports müssen nur mehr als 3 schnelle SSDs im RAID 0 sein die einzuschränken oder 8 schnelle 3.5" HDDs, schaffen die schnellsten schon über 220MB/s auf den äußeren Spuren. Dabei darf nichts auf den USB Ports oder von Controllern an den PCIe Lanes des Chipsatzes übertragen werde, also so üppig ist bei dem X99 die DMI2 Bandbreite nicht und nicht jeder hängt alles I/O in Form von Extra Controllern an die PCIe Lanes der CPU. Aber das ist ja hier egal, denn M.2 SSDs sollte man beim X99 auf jeden Fall mit Lanes der CPU versorgen.

Btrfs schützt mich nicht vor Speicherfehlern, ob mit oder ohne ECC.
Nein, aber mit Bitfehlern kann Dir btfs wie jedes andere Dateisystem korrupt werden und es schützt auch nicht davor, dass die Daten nicht durch die Bitfehler unbemerkt schon korrupt abgespeichert wurden oder schlimmer noch kaputt korrigiert werden. Das kann bei ZFS und vermutlich auch bei btrfs eben passieren, wenn das Filesystem aufgrund von RAM Fehlers auf eine Inkonsistenz trifft und diese für eine Zeichen korrupte Daten hält, woraufhin die Daten "korrigiert" und dann korrupt werden. Eine normalen ext Filesystem auf einem md raid würde das nicht machen, da gibt es nur die dann vom RAM Fehler korrumpierten Daten zurück, aber die Daten auf den Platten werden deswegen nicht verändert. Das würde nur passieren, wenn es gleichzeitig einen Lesefehler gibt und daher die Daten mit hilfe der Parity rekonstruiert werden müssen und dann auch auf die betroffene HDD geschrieben werden.

Liegen Metadaten des Filesystems in einem RAM.Bereich wo es zu RAM Fehlern kommt, dann ist kein Fileystem davor geschützt korrupte Daten zu liefern und meist wird dann auch noch das ganze Filesystem korrupt werden Vor RAM Fehlern schützt aber nur ECC RAM mit entsprechendem Board und passender CPU, also Xeon statt i5/i7 und bei S. 115x ein C2xx Chipsatz. Beim S. 2011-3 können ja wohl einige ASRock X99er Board mit einem Xeon E5 drin dann auch ECC unterstützen, der X99 scheint es also nicht zu verhindern.
Zum Erkennen von Fehlern sind die Checksummen, zum Beheben die Backups.
Wenn dann mal der Fehler den die Prüfsumme meldet echt ist und die Daten im Backup noch korrupt sind. Wenn Du Dir Sorgen um Silent-Data-Corruption machst, fange mit ECC RAM an und nicht überlege ob Du noch ein Filesystem mit Prüfsummen draufsetzt, nicht umgekehrt. Genauso rät es auch Matt Ahren, einer der Mitentwickler von ZFS:

Das einmal geschribene Bits auf der Platte kippen, ist ja nur der eine Part.
Wobei das bei einer HDD kein Thema ist, denn außer man nutzt spezielle Befehle um die Daten roh zu lesen wie es die SAS RAID Controller gerne machen um die TLER zu umgehen, bekommt man diese Daten so nie von der Platte wieder. Diese SAS formatieren dann auch die HDDs auf 520/528 Bytes pro Sektor und schreiben selbst eine Prüfsumme in diese zusätzlichen 8/16 Byte um eben Lesefehler sofort zu erkennen und die Daten anhand der Parity zu rekonstruieren, statt zu warten ob die Platten den Sektor in späteren Versuchen nicht doch noch erfolgreich lesen kann. Das geht bei SATA Platten gar nicht, die liefern einen Lesefehler zurück, wenn die Daten nicht zur ECC passen, die es hinter jedem Sektor gibt. Da bekommt man keine korrupten Daten wieder, außer bei Nutzung von den ATA Streamingbefehlen für Echtzeitvideoaufzeichnung, aber die werden nicht für normale Dateioperationen verwendet.

Das ein Bit auf einer Platte mal kippt passiert durchaus mal, dass es dann aber auch dazu führt das falsche Daten geliefert werden, passiert bei einer SATA Platte normalerweise nie, die Wahrscheinlichkeit das falsche Daten trotzdem zu ECC passen ist extrem gering. Die Übertragung ist mit einer CRC32 pro FIS welcher maximal 8192Byte Nutzdaten enthalten kann, auch praktisch Null, denn eine CRC32 lässt auf 8192 Byte weniger einen Fehler pro 1:10^14 fehlerhafter Übertragungen durch, das sind mehr Daten als das Internet gespeichert hat oder ja an HDD Kapazität produziert wurde!

Bleiben also Lücken nur Fehler aus den internen Datenpfaden der Platten, Consumer HDDs schützen diese ja meist nicht und haben auch oft kein Ende-zu-Ende Fehlerattribut in den S.M.A.R.T. Werten was wenigstens eine Fehlererkennung anzeigt, des Host Controllers oder FW Bugs bei der HDD oder dem Host Controller. Das sind die Fehlerquellen vor denen Dich Prüfsummen im Filesystem wirklich schützen können, aber z.B. ein md RAID mit ext4 drauf eben nicht.

Heist wiederum auch, nicht zwingend ist das, was dort im RAM steht zur Prüfung gegen die Checksumme das, was wirklich auf dem Massenspeicher ist.
Genau da wohnt das Risiko, man hat A ins RAM Geschrieben aber wegen einer Fehler wird dann dort B stehen und immer wieder B ausgelesen. Durch die Prüfsummen wird er Fehler bemerkt und dann beginnt das Unheil, wenn die Korrektur des Fehler beginnt und dann die Daten so anpasst, dass diese dann verändert werden. Das passiert bei einem normalen SW-RAID nicht, ein md SW RAID liest anderes als ZFS eben die Parity bei normalen Lesevorgängen nicht mit und prüft die Daten daher auch nicht gegen die Parity. Deshalb wird bei ZFS mehr gelesen, mehr Daten landen im RAM und damit steigt eben auch das Risiko von RAM Fehler betroffen zu werden, entgegen der Aussage von dem Matt Ahren im Rest des oben zitierten Beitrags. Aber der will auch Werbung für sein Baby machen und die eigentliche Aussage ist nicht wirklich quantitativ sondern qualitativ zu sehen:
Sprich: Hast Du kein ECC RAM kann jedes Filesystem wegen RAM Fehler korrupt werden und eine Abfrage ob das System mit ECC RAM arbeitet und welche ZFS nur für solche System freigibt, ist im Filesystem nicht vorhanden. Wie er seine Aussage danach zusammengefasst hat, habe ich ja oben schon zitiert.

Baut der Hauptspeicher aber Mist, zerlegst du dir im Worst Case ALLES. Inkl. dem Backup.
So ist es und wenn das eine Workstation ist, dann kann es auch leicht sein, dass schon die Daten im RAM Bereich des Programms welches sie schreibt korrupt werden, weil sie gerade in dem Bereich liegen, wo der RAM Fehler ist. Ist es ein Storage Server im Netz, dann kann es schon passieren, wenn sie vom Netzwerktreiber ins RAM geschrieben werden und das Filesystem bekommt sie schon korrupt bevor es sie liest, seine Prüfsumme darüber bildet und alles abspeichert, womit sie scheint korrekt gespeichert sind, nur wurde eben nicht das gespeichert, was über das Netzwerk angekommen ist.

Persönlich würde ich, wenn du schon so eine Kiste fährst, dann nicht am ECC sparen. Der Aufwand, sich dagegen zu schützen ist relativ gering und die Kosten ebenso.
So sehe ich das auch, die Mehrkosten sind im Vergleich bei derartiger HW nicht sehr hoch. Wer ein System haben will welches im Bezug auf stabilen Betrieb und die Sicherheit der Daten vor Korruption mehr leistet als normale Consumer HW, der sollte auch keine normale Consumer HW kaufen, sondern eben Workstation- oder Serverhardware, wobei ein Workstationboard mit Xeon Chipsatz da meist optimal ist, denn Fernwartung braucht man an einer Workstation wo man ja direkt vor dem Rechner arbeitet, i.d.R. eben nicht und die werden auch nicht headless betrieben.
 
Ich habs auf dem Schirm (auch vor dem Thread hier, ist ja momentan überall Panik wegen ECC und ZFS). Bis zur Anschaffung sinds noch ein paar 2-3 Wochen, evtl fallen die Preise für die Fury oder ich greife zu einer günstigeren Karte zu gunsten von Xeon+ECC. Ich seh's einfach nicht so kritisch, da es sich bei meinem Array nur um eine Datenhalte für alte Serien und temporären Kram wie rainbow tables handelt. Die Sachen die momentan drauf sind müsste ich so oder so im neuen System als "tainted" behandeln, da die größtenteils von ext2 auf ext4 konvertiert und dann auf btrfs kopiert wurden, alles auf der alten DDR2-800 Krücke ohne ECC.

Bleiben also Lücken nur Fehler aus den internen Datenpfaden der Platten, Consumer HDDs schützen diese ja meist nicht und haben auch oft kein Ende-zu-Ende Fehlerattribut in den S.M.A.R.T. Werten was wenigstens eine Fehlererkennung anzeigt, des Host Controllers oder FW Bugs bei der HDD oder dem Host Controller. Das sind die Fehlerquellen vor denen Dich Prüfsummen im Filesystem wirklich schützen können, aber z.B. ein md RAID mit ext4 drauf eben nicht.
Und daher habe ich letztes Jahr mal auf btrfs umgezogen, als ich zum x-ten mal das raid neumachen musste um eine platte hinzuzufügen. ZFS wärs geworden, wenn nicht die Empfehlung gewesen wäre 1GB ram pro 1TB platz. Inzwischen habe ich irgendwo gelesen das ist quatsch, aber nun ists halt btrfs.

edit: um mal etwas konkreter zu werden:
Xeon E5 v3 System mit 32GB ECC
1 x Samsung SSD 950 Pro 256GB, M.2 (MZ-V5P256BW)
1 x Intel Xeon E5-1650 v3, 6x 3.50GHz, boxed (BX80644E51650V3)
1 x Crucial DIMM Kit 32GB, DDR4-2133, CL15, reg ECC (CT2K16G4RFD4213)
1 x Gigabyte Radeon R9 Fury WindForce 3X OC, 4GB HBM, DVI, HDMI, 3x DisplayPort (GV-R9FURYWF3OC-4GD-B)
1 x ASRock X99 Extreme6/3.1 (90-MXGY80-A0UAYZ)
1 x Thermalright HR-02 Macho Rev. B (100700726)
1 x Fractal Design Define R5 Titanium, schallgedämmt (FD-CA-DEF-R5-TI)
1 x be quiet! Dark Power Pro 11 650W ATX 2.4 (BN251)
~2000€ ohne 2. GPU für host-system

Alternativ i7 Skylake mit 64GB
1 x Samsung SSD 950 Pro 256GB, M.2 (MZ-V5P256BW)
1 x Intel Core i7-6700K, 4x 4.00GHz, tray (CM8066201919901)
1 x G.Skill RipJaws V schwarz DIMM Kit 64GB, DDR4-3200, CL16-18-18-38 (F4-3200C16Q-64GVK)
1 x Gigabyte Radeon R9 Fury WindForce 3X OC, 4GB HBM, DVI, HDMI, 3x DisplayPort (GV-R9FURYWF3OC-4GD-B)
1 x ASRock Fatal1ty Z170 Professional Gaming i7 (90-MXB110-A0UAYZ)
1 x Arctic Freezer Xtreme Rev. 2 (UCACO-P0900-CSB01)
1 x Fractal Design Define R5 Titanium, schallgedämmt (FD-CA-DEF-R5-TI)
1 x be quiet! Dark Power Pro 11 650W ATX 2.4 (BN251)
~1800€
 
Zuletzt bearbeitet:
Also das Skylake System wirkt nicht ganz ausgewogen... Ich bin kein (selbsternannter) Profi bei solchen Zusammenstellungen, aber ich würde an deiner Stelle nicht unbedingt da mit 3200er DDR4 Modulen rangehen. Denn über den Takt steigt potentiell zumindest auch das Risiko, was die RAM Problematik angeht ;)

Aber sei es drum, beim 2011er System müsstest du schauen, ob das Board in Verbindung mit dem Xeon auch ECC kann. Sollte sich irgendwo im Handbuch finden. Wenn ein zweites Fury Kärtchen dazu kommen soll, würde ich ehrlich gesagt auf mehr wie 650W beim NT gehen. So ne Fury, wenn man ihr die Sporen gibt und HighLoad anlegt, kann da schonmal 250W+ kompensieren. Da bliebt nicht sonderlich viel für den Rest. Und ein NT permanent auf 100% Load oder annähernd 100% Load zu fahren, ist auch nicht sooo gut.
Ich bin mittlerweile bei Corsair NTs hängen geblieben. Nie Probleme, also kein Grund, das nicht zu empfehlen. Bspw. so ein HX850i. Kost 25€ mehr wie deins, 200W drauf, ebenso Platinum Zertifiziert, damit hält sich der Mehrverbrauch bei niedriger Last in Grenzen. Corsair Link gibts wohl sogar ontop, falls dich sowas interessiert (Überwachung von Verbrauch, Last und Effizienz des NTs)

Ansonsten, aktuell gibts bei Alternate eine Fury non X für 449€, günstiger als deine Gigabyte zumindest. Ob der Kühler taugt, weis ich allerdings nicht.
https://www.alternate.de/XFX/Radeon...r=DeGeizhals&campaign=Grafikkarte/XFX/1228296
Spart aber immerhin 10% ;)
 
Die AsRock boards unterstützen offiziell ECC, Asus (inkl. der WS Version) nur nach Hörensagen. Den 3200er RAM deshalb, weil er nunmal ins Budget passt und auch Vorteile bei Verwendung der iGPU bringen soll. Von dem XFX Angebot habe ich auch im entsprechenden Thread gelesen, habs nur nicht auf der Liste weil ich davon ausgehe, dass entweder das Angebot vorbei ist bis ich kaufe oder evtl. die anderen Karten auch geringfügig im Preis fallen. Die Gigabyte Karte hat offiziell einen zero-fan Modus; ob man ähnliches bei der XFX per Hand machen kann konnte ich durch schnelles googlen nicht rausfinden.
Das Corsair überwachungsdings hört sich interessant an, kannte ich noch nicht.
 
Zuletzt bearbeitet:
Schimpft sich Corsair Link... Die Software ist etwas frickelei, aber wenn es läuft, läuft es ganz gut. Ich hab so immer den "Zähler" im Blick bzw. Temperaturen von diversen Sachen und speziell auch, da ich gleich noch ne H100i als AIO Wakü nutze, die vier über die Software regelbare Lüfterports hat, dreh ich dort ggf. auch aktiv drin rum.

Wie gesagt, was das Thema mit dem ECC angeht, das ist eine Grundsatzentscheidung, die musst du für dich treffen... Sicherheit vs. Preis bzw. eine Art Risikoabschätzung. Es KANN dir auf die Füße fallen, es muss aber nicht. Tendenziell wird auch mit steigender Menge bei den Speichern die Warscheinlichkeit höher, dass dich das Problem mal ereilt. Wie viel dir das allerdings dann wert ist, ist halt von außen nicht beantwortbar... Deine Daten = deine Verantwortung ;)
 
Wenn du Linux einsetzen willst ( und eh nen Xeon nutzen magst) würde ich dir beim 2011-3 eher zu einem C6xx Board raten. Gibts ab 250€

z.B das https://geizhals.de/fujitsu-d3348-b-a1315062.html?hloc=at&hloc=de
bzw dessen B2 Nachfolger der ab April kommt und dann auch die Broadwell E unterstützt

Und sei etwas vorsichtig mit den USB 3.1 auf den ASRock, da kannste Probleme bekommen .. Das Extreme 4 hat eigentlich alles, was man braucht und kost nur 200

Die 3.1 Controller sollten eine 4x Anbindung haben, da tricksen aber viele mit switched/shared lanes ... oder nur 2x ... Lieber später mal ne günstige Addon Karte rein, sobald gebraucht

Generell lieber weniger Schnick Schnack , dann gibts auch weniger Baustellen
 
Zuletzt bearbeitet:
Den 3200er RAM deshalb, weil er nunmal ins Budget passt und auch Vorteile bei Verwendung der iGPU bringen soll.
Was willst Du denn mit der iGPU, wenn noch eine R9 Fury in den Rechner kommen soll? Je mehr das System und vor allem das RAM übertaktet ist, umso größer ist das Risiko von RAM Fehlern, auch wenn bei DDR4 ja nun eine CRC die Datenübertragung zwischen dem RAM und dem RAM Controller absichert, womit die Abhängigkeit von der Frequenz vielleicht nicht mehr so sehr gilt wie früher. Wenn man solche Maßnahmen zu Absicherung vor Fehlern in die Norm aufnimmt, dann ist es meist weil die Probleme so groß wurden, dass es nicht mehr meistens bei den meisten User problemlos funktioniert.

Trotzdem scheinen mir beide Zusammenstellungen schon sehr gegensätzlich bzgl. der Sicherheit der Daten vor Datenkorruption zu sein. Wenn es nur eher unwichtige Mediendaten sind, dann ist ein gekipptes Bit ja nicht so tragisch und selbst der Totalverlust ja dann noch keine Katastrophe, dann muss man eben auch nicht wirklich auf HW mit ECC RAM und womöglich obendrauf noch ein Filesystem mit Prüfsummen setzen, aber wie wichtig im die Daten und deren Schutz vor Korruption oder Totalverlust sind, muss jeder für sich entscheiden.
 
Was willst Du denn mit der iGPU, wenn noch eine R9 Fury in den Rechner kommen soll?

Lieber Holt, erwartest du eigentlich wirklich, dass man deine Beiträge alle liest, wenn du offensichtlich noch nicht mal mehr die knappen Beiträge des Fragenstellers durchgelesen hast?! Um den Grund für iGPU zu finden muss man nicht lange suchen (1. Beitrag, 1. Satz):

Moin,
Ich überlege eine Linux WS auf 1151 oder 2011-3 mit GPU passthrough für das gelegentliche daddeln zu bauen.

Zum Thema: wenn dir die Leistung der kleinen Plattform reicht, würde ich die nehmen, Haswell-E ist halt aufrüstbarer und flexibler. Die IGP für Linux/CPU-PCIe für Gast-Lösung ist aber einfach konkurrenzlos simpel :). Wenn genug Geld da ist, kann man sich mit dem Fujitsu C236 für ~150€ ECC auch mal genau überlegen. Was BTRFS ohne RAID und ohne ECC schlechter als ext macht, konnte mir auch noch niemand der vielen Leute hier erklären.
 
Zuletzt bearbeitet:
Zwar habe ich von GPU passthrough keine Ahnung, aber wenn man dafür unbedingt eine iGPU brauchen würde, käme ein S. 2011-3 System ja wohl sowieso nicht in Betracht.
 
Hintergrund ist eher, wenn du dem System die GPU wegnimmst, was soll es dann noch ausspucken? ;)
Ähnlich dem Storage Controller Ansatz... Durchreichen ja, aber ggf. brauchst du einfach nen zweiten Controller, der nicht durchgereicht wird, weil der Bedarf genau daran besteht.

Ob man die aktive und einzige GPU überhaupt durchreichen kann? Kein Plan... Derartige Spielereien mit der Durchreicherei sind nicht so meins... Aus meiner Sicht wiegen die Vorteile die Nachteile, die dadurch entstehen idR nicht auf... Wobei das klar auf den konkreten Anwendungsfall ankommt. Logisch...
 
Wenn man kein Geld für 2 Systeme hat und kein Dualboot machen will, ist das halt eine recht günstige (auch aus Verbrauchssicht) Methode, doch Linux und Windows parallel nutzen zu können – grundsätzlich kann man da bei Haswell-E einfach 2 Karten durchreichen, wenn dann allerdings beide den gleichen Linuxtreiber verwenden und der ein bisschen buggt, ist die Sache mit der IGP recht einfach gelöst (blacklisten von nouveau, radeon,... – kann man natürlich mit einer jeweils anderen Karte bei AMD/NV auch, aber für Desktop/2D-Betrieb ist der Intel-Treiber unter Linux wohl mittlerweile doch die beste Wahl).
Ich glaube im vorliegenden Fall, ist die Hauptfrage, ob man, wenn man ein Board mit 2 m.2 Slots hat, einen davon via VFIO in die VM bringen kann (Antwort: ja, wenn er in einer eigene IOMMU-Gruppe ist) und ob man davon booten kann (Antwort: kommt drauf an, es fliegen sicher Patches umher) – um RAID0 oder ähnliches geht es nicht, die Frage war dann nur, ob man dann evtl. ein Bottleneck hat, wenn man 2 Systeme parallel mit m.2 angeschlossen hat (Antwort: bei Skylake nein). Insgesamt meine ich aber, dass man in einer VM sinnvollerweise einen normalen SATA-Controller reinreicht (booten ist hier auch so eine Sache), der ist a) schneller als die virtuellen Disks (die für meinen Gaming-PC allerdings ausreichen) und ist b) seeehr viel billiger, als m.2, wo man die hohen IOPS/Datenraten wirklich merkt, limitiert dann iwann eh der Formfaktor, was man so hört.
 
Das man bei Skylake mit 2 M.2 SSDs keinen Bottleneck hat, stimmt so pauschal nicht. Die schnellen M.2 PCIe SSDs wie die SM951 und 950 Pro können mit mehr als 2000MB/s seq. Lesen und damit schaffen zwei von denen mehr als DMI3 durchsetzen kann, wenn gerade von beiden lange sequentielle Lesezugriffe erfolgen. Das mag eher selten vorkommen, wenn man sie eben nicht als RAID 0 betreibt und sicher in der Praxis dann auch zu verschmerzen sein, aber ein Bottleneck ist es trotzdem.
 
Mit welcher Plattform/Konfig hätte man denn dieses "Bottleneck" nicht?
 
Beim S. 2011-3 hat man genug PCIe Lanes direkt von der CPU, da kann man dann mit PCIe Slot Adaptern entsprechend der Laneverteilung des Board auch mehrere schnelle M.2 PCIe SSDs parallel mit voller Geschwindigkeit lesen. Aber wie gesagt dürfte es bei 2 solcher SSDs auch bei Skylake nicht wirklich ein Problem sein, denn um überhaupt so schnell lesen zu können, müssen schon sehr lange sequentielle Lesezugriffe auf diese SSDs erfolgen und damit es ein Bottleneck gibt auch noch gleichzeitig auf beide SSDs, was es im Alltag ohne RAID 0 eher selten geben dürfte.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh