[Sammelthread] ZFS Stammtisch

Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Warum - omnios VM würde doch nur die vnic sehen? Oder meinst Du, dass der USB NIC fling noch zu instabil ist?

Wenn man die USB Nic durchreicht, muss OmniOS einen Treiber haben. Wenn nicht muss ESXi einen Treiber bereitstellen. Beide sind nicht so gut darin Treiber für weniger gängige und vor allem im Homebereich benutzte Hardware anzubieten.

Wenn ESXi die Hardware unterstützt sollte es kein Problem sein.
 
Sieht ganz gut aus, frage ist nur wie teuer sie ist. Teilweise werden ja mehrere 100euro aufgerufen für solche Karten. 4.0 dürfte sie auch teuer machen.

edit: Ich vermute mal wenn man sich die Karte näher anschaut dass sie mit an Sicherheit grenzender Warscheinlichkeit doch auf Bifurcation angewiesen sein wird.
Ich denke dass ich es daher dennoch erstmal mit der


da probieren werde.

Aber interesantes Produkt wenn der Preis am Ende stimmt.
 
Zuletzt bearbeitet:
Ist wohl CPU abhängig bzw auch davon ob die Lanes von der CPU kommen oder vom Chipsatz.
Versteh nur nicht die Einschränkung weil 4x4x4x4x sicherlich sinnvoller ist als 8x4x4x
Also da es wohl um den Gen10+ geht fände ich 8x4x4x schon sinnvoll, das würde 10/25Gbit DualPort Netzwerkkarten mit 2mal M.2 auf einem PCB als PCIe x16 Steckkarte erlauben.
Oder noch besser:
Man hätte einfach 2 M.2 Anschlüsse noch irgendwo aufs Board gepackt. 2mal Sata hat man eh noch frei, hätte man auch noch 2 2,5er Wechselschächte unten drunter anbinden können.
Und dann ne Bios Einstellung die eben die letzten 8 Lanes dem PCIe x16 Port klaut und auf die beiden M.2 legt. Und die 2 Sata Ports dann shared mit den 2,5er Wechselrahmen und M.2 Ports machen können. Damit wäre es in meinen Augen perfekt gewesen.

Kann mir einer eigentlich mal kurz den Unterschied erklären zwischen Xeon-D und Xeon-E wie man ihm im Microserver findet.
Es verwirrt mich weil ich eigentlich immer dachte Xeon-D seien eher unter den Xeon-E angesiedelt. Sie haben zwar weniger Ghz, dafür aber mehr Features/Ausstattung integriert anscheinend teilweise. Sind mehr Kerne oder mehr Ghz eigentlich vorteilhafter für einen ZFS SMB Filer?

Also wann macht der Xeon-D Sinn und wann Xeon-E. Was auch verwirrend ist dass die Xeon-Ds Intels QAT haben, während Intel sich bei den E´s darüber hingegen ausschweigt ob sie es haben der nicht. Auch so eine Sache die mich verwirrt.
 
Zuletzt bearbeitet:
Den Hauptvorteil des Xeon-D sehe ich im niedrigeren Stromverbrauch bei nur etwas weniger Leistung. Erreicht wird dies durch mehr Kerne bei niedrigerer Taktfrequenz.

Bei einem reinen Fileserver zählt tendentiell eher Taktfrequenz als Anzahl der Kerne.
 
Xeon-D und niedriger Stromverbrauch schließen sich meiner Meinung nach je nach Generation leider aus und sollte etwas differenzierter betrachtet werden. Die 1500 Reihe kommt mit 35, 45 und max 65W daher, während die 1600er Reihe mir nach vereinzelt taktgesteigerten 1500er aussieht. Die 2000er Reihe dagegen liegt mit 4-16 Kernen zwischen 60-110W deutlich höher und wildert mit bis zu 16 Kernen sowie 128GB RAM deutlich im E5-Revier. Wenn ich mir die Xeon E3 und E5 so ansehe, passen die 2000er D-Modelle gut ins Schema der anscheinend eingestellten E5-1000er Reihe.
 
Also scheint nen E-2224 keine so schlechte Wahl zu sein für einen Fileserver im Vergleich zu einem Xeon-D?
 
Für einen reinen Fileserver sollten 4 Kerne ohne HT, bei 3.4GHz Basis- und 4.6GHz Tubotakt mit 8MB L3-Cache verpackt in 71W TDP-Körbchen locker ausreichen, wenn du mit max 128GB RAM hinkommst...
 
@gea

Das Problem mit der Performance bei der Replikation scheint durch das ändern der MTU von 9000 auf 1500 verschwunden.
Ich beobachte das Mal. Danke.

Ich habe allerdings heute festgestellt, dass die SMART Tools einen Fehler in der Cache SSD festgestellt haben.

Dazu ein paar Fragen:

1. Kann ich da mehr Infos auslesen ?
2. Kann ich den SSD-Cache entfernen und einen neuen erstellen mit einer neuen SSD?
3. Ist der Pool degraded, wenn die SSD ausfällt? --> was wäre dann zu machen?
 

Anhänge

  • Fehler.png
    Fehler.png
    5,2 KB · Aufrufe: 86
@gea

Das Problem mit der Performance bei der Replikation scheint durch das ändern der MTU von 9000 auf 1500 verschwunden.
Ich beobachte das Mal. Danke.

Ich habe allerdings heute festgestellt, dass die SMART Tools einen Fehler in der Cache SSD festgestellt haben.

Dazu ein paar Fragen:

1. Kann ich da mehr Infos auslesen ?

Was gibt denn das Menü Disk > Smartinfo aus?
Da sollte man den Grund für "Problem" ersehen.

2. Kann ich den SSD-Cache entfernen und einen neuen erstellen mit einer neuen SSD?

Ja, per Platten > entfernen
und per Pool > Erweitern eine neue Cache SSD hinzufügen

3. Ist der Pool degraded, wenn die SSD ausfällt? --> was wäre dann zu machen?

Wenn das Cachelaufwerk ausfällt ist der Pool degraded. Ist aber absolut unkritisch da dann lediglich nur der RAM als Cache benutzt wird. Daten sind dadurch nie gefärdet. Dann einfach defektes Cachelaufwerk entfernen und optional ein neues hinzufügen. Mit ausreichend RAM ist ein Cachelaufwerk nicht nötig da es dann kaum was bringt.
 
Mal eine augenscheinlich triviale Frage zur Dokumentation von Boot Environments. Mit dem Befehl

Bash:
beadm create -d "BE description" myNewBE

kann ich meinem BE eine ggf. ausführlichere Dokumentation mitgeben. Der Befehl

Bash:
beadm list -a myNewBE

gibt laut man-page alle verfügbaren Informationen zum BE aus. Aber leider nicht die beim create mitgegebene description. Die ganze man-page gibt keinen weiteren Hinweis darauf, wie man sich die description wieder anzeigen lassen kann. Da BEs ja snaphots sind, habe ich mir auch nochmal die zfs snapshot man-page angesehen, ohne Erfolg. In der Ausgabe von

Bash:
zfs get all rpool/ROOT/myNewBE

findet sich auch nirgends die description.

Weiß zufällig jemand, wo diese sich versteckt?
 
Mal eine augenscheinlich triviale Frage zur Dokumentation von Boot Environments. Mit dem Befehl

Bash:
beadm create -d "BE description" myNewBE

kann ich meinem BE eine ggf. ausführlichere Dokumentation mitgeben.

Weiß zufällig jemand, wo diese sich versteckt?

Als Beschreibung im Grub Bootmenu (/rpool/boot/menu.lst)
 
Danke gea, bei Oracle hatte ich tatsächlich noch nicht nachgesehen :-)

Die Einträge können dann also mit

Bash:
bootadm list-menu

angezeigt werden.

Fazit: Die -d option von beadm ist, da der erfasste description-Text nach dem ersten space-character abgeschnitten wird, also eher nicht für Dokumentationszwecke geeignet.
 
mit cat /rpool/boot/menu.lst kann man das Bootmenue direkt ausgeben (da bleiben Texte mit Leerzeichen erhalten)
 
Wegen Performance-Drop in Verbindung mit verschlüsselten Datasets:

In der openzfs-Mailingliste kam der Einwand, dass bei verschlüsselten Datasets die Funktion "embedded_data" nicht genutzt werden kann und dies möglicherweise der Grund ist, warum ZFS bei verschlüsselten Datasets in Verbindung mit kleinen Dateien schlechter performt.

Wird bei nicht verschlüsselten datasets die Funktion embedded_data von Napp-IT/OmniOS immer automatisch genutzt? Wenn nicht, würde dieser Ansatz als Erklärung ja nicht in Frage kommen.
 
Das Performance Problem besteht bei sync write + Verschlüssellung.

Der normale Schreibvorgang (unsync) schreibt relativ große Datenblöcke aus dem RAM-Writecache (z.B. Datenmenge bis 4GB in Blöcken in recsize also bis 1M). Das geht auch verschlüsselt recht schnell. Aktiviert man sync, so wird jeder einzelne Schreib-Commit zusätzlich auf das Logdevice protokolliert. Hier können Datenblöcke von 4k anfallen. Dabei gibt es das Performanceproblem da dieses Logging zusätzlich zum normalen Schreiben der großen Datenblöcke aus dem Writecache erfolgt.

Der Hinweis auf "kleine Dateien" ist daher nicht zielführend.
Das Problem ist dass die Verschlüssellung ganz kleiner Datenblöcke z.B. 4k wohl Performanceprobleme macht.
 
Das erklärt den wirklich krassen Performanceverlust von bis zu 94% (bezogen auf meine Benchmarks) wenn man ein Logdevice nutzt.

Wenn man kein Logdevice nutzt ist der Performanceverlust aber trotzdem noch bei 22-32%. Wenn man betrachtet, dass die CPU in einer virtuellen Umgebung noch 2GByte/s mit Hilfe von AES-NI schaufeln kann (baremtal auch locker 15GByte/s) und somit die CPU lange nicht der Flaschenhals ist, dann sind 22-32% Leistungsverlust bei Benchmarkresultaten um 50MB/s trotzdem noch ganz schön viel. Möglicherweise lässt sich da im Code von ZFS ja noch was optimieren.

Wenn Verschlüsselung die Antwort auf DSGVO-Konformität und andere Fragen der IT-Sicherheit ist, dann wäre es wünschenswert, wenn da noch was geschieht.
 
Keine Ahnung ob das für viele hier jetzt ein alter Hut ist.
Aber mir ist gerade aufgefallen, dass Solaris 11.4 (wie schauts bei OmniOS etc aus ?) einen automatischen Scrub jeden Monat für alle Pools einrichtet - den man nicht über napp it sieht.


Hatte mich gerade gewundert warum ein Scrub 3 Tage vor Start im Napp it gestartet ist..

Ist ja unnötige Belastung, fals man selbst Scrubs über Napp it angelegt hat.
 
Zuletzt bearbeitet:
Ausgehend von deinem verlinkten Oracle-Blog sollte das aber kein Problem sein: "You can specify your own scrubinterval in days, weeks, or months. If scrubinterval is set to manual, this feature is disabled."
 
Das erklärt den wirklich krassen Performanceverlust von bis zu 94% (bezogen auf meine Benchmarks) wenn man ein Logdevice nutzt.

Wenn man kein Logdevice nutzt ist der Performanceverlust aber trotzdem noch bei 22-32%. Wenn man betrachtet, dass die CPU in einer virtuellen Umgebung noch 2GByte/s mit Hilfe von AES-NI schaufeln kann (baremtal auch locker 15GByte/s) und somit die CPU lange nicht der Flaschenhals ist, dann sind 22-32% Leistungsverlust bei Benchmarkresultaten um 50MB/s trotzdem noch ganz schön viel. Möglicherweise lässt sich da im Code von ZFS ja noch was optimieren.

Wenn Verschlüsselung die Antwort auf DSGVO-Konformität und andere Fragen der IT-Sicherheit ist, dann wäre es wünschenswert, wenn da noch was geschieht.

Entscheidend ist nicht das Logdevice sondern ob man sync aktiviert oder nicht.

Zur Perfomance
ZFS Verschlüssellung mit Open-ZFS gibt es jetzt seit ca 1,5 Jahren. Das Konzept basiert auf der Verschlüssellung in OpenSolaris die zum Zeitpunkt des Forks "fast fertig" war. Oracle hat nur wenige Monate gebraucht um das in Solaris 11.1 fertigzustellen.

Seitdem sind über 10 Jahre vergangen. Vieles wurde bereits optimiert. ZFS Verschlüssellung hat in der Performance seit letztem Jahr deutlich zugelegt und wird sicher noch schneller werden.

Es wird aber nie die Performance von Festplattenverschlüssellung wie unter Luks oder Geli erreichen. Da klemmt sich das Verschlüsselungsmodul einfach in den Datenstrom zur Festplatte. ZFS Verschlüssellung muss dagegen den RAM und den Schreib-Lesecache mit absichern, dazu muss es je Dateisystem arbeiten und hat auch keinen Datenstrom sondern variable Datenblöcke in recsize oder einem Teil davon.

Der Performance"einbruch" bei einem Diskpool is nahezu Null, bei einem Flashpool (1591-1877 vs 1541-1592) auch nur ca 10-20%. Bei einem Optanepool merkt man das dann eher da man hier unverschlüsselt bei > 3000MB/s liegt. Da ist der Einbruch dann tatsächlich 30-40%. Nichtsdestweniger wäre das für ein 40G Netzwerk immer noch ok. Bei höheren Geschwindigkeiten geht dann aber schon die CPU arg ins Ergebnis mit ein.

Entscheidend ist als Resumee, dass 10G verschlüsselt (ein 10G Netz ohne Tuning macht ca 300-600 MB/s) überhaupt kein Problem ist. Sync das man bei VM Storage braucht bricht dann schon eher ein. Da muss man dann halt abwägen.

Code:
151036      async             sync            async/enc         sync/enc

Flash pool  1591-1877 MB/s    943-1134 MB/s   1541-1592 MB/s    201-206 MB/s -
Optane pool 3339-3707 MB/s    1445-1471 MB/s  1720-1730 MB/s    202-207 MB/s -

zur DSGVO
Die legt Datensicherheit nach Stand der Technik fest. Damit ist Verschlüssellung praktisch Pflicht. Wenn man aber jetzt Verschlüssellung je Anwendung braucht und die Daten zusätzlich verschlüsselt zum Backupsystem übertragen möchte und da auch mit einem eigenen Schlüssel per Anwendung verschlüsselt speichern möchte - welche Optionen außer ZFS gibt es dann noch?

Da wird es sehr schnell eng. Einfache Festplattenverschlüssellung reicht da nicht mehr und schützt lediglich vor dem Diebstahlfall.
 
Zuletzt bearbeitet:
Welche SSD würdet ihr zum booten nehmen? Muss (sollte) es da auch eine teure sein mit PLP oder würden da auch 1-2 SSDs aus der Consumer Serie ausreichen?

Mich würde auch interesieren wie das genau mit dem rpool Mirror aussiegt. Soweit ich es verstanden habe sieht das Bios 2 einzelne Platten in dem Fall von dem es booten kann. Wenn das System hochgefahren ist und eine Platte steigt aus würde das System auch oben bleiben. Was aber wenn beim Booten eine einzelne Datei nicht gelesen werden kann? In dem Fall würde der Server ohne manuelles eingreifen doch wohl nicht booten oder? Dies ist doch als Nachteil zu sehen zu Raid1.
Und wenn während des Booten Dateien auf die Bootplatte geschrieben werden, schreibt ZFS diese dann später von allein auf die andere Platte?
 
Das sind zwei Aspekte.
Zunächst müssen beide SSD des Bootmirrors bootbar sein (Booten und von ZFS rpool starten, das ist unabhängig von ZFS). Die Boot-Reihenfolge kann man im Bios festlegen. Fällt die erste Bootplatte komplett aus, bootet automatisch die zweite. Das Anlegen des Bootmirrors muss also zunächst beide SSD bootbar machen

Unter ZFS müssen die beiden ZFS Pools (rpool) einen Mirror bilden. Bei Schreiben werden damit beide aktualisiert. Ein Checksumfehler beim Lesen von einer SSD wird erkannt und aus dem Mirror automatisch repariert. Das funktioniert wie bei einem Datenmirror auch.

Plp ist für rpool nicht wirklich notwendig wiewohl immer eine gute Sache. SSD mit plp sind praktisch immer von der besseren Sorte/zuverlässiger. Ich bevorzuge da immer die DC Modelle von Intel oder Samsung. Vor allem letztere gibts immer wieder mal günstig.
 
Unter ZFS müssen die beiden ZFS Pools (rpool) einen Mirror bilden. Bei Schreiben werden damit beide aktualisiert. Ein Checksumfehler beim Lesen von einer SSD wird erkannt und aus dem Mirror automatisch repariert. Das funktioniert wie bei einem Datenmirror auch.
Mir ist nur noch nicht klar ab wann die Platten während des hochfahrens denn dann als Pool gesehen werden. Für das Bios und während des bootens sind dies doch erstmal 2 unabhängige Geräte sofern das OS noch nicht komplett hochgefahren ist. Die Frage die ich mir also stelle was ist wenn beim booten beide Geräte zwar ansprechbar sind, aber eine zum booten wichtige Datei nicht gelesen werden kann ohne dass zu dem Zeitpunkt schon die ZFS Funktionen geladen sind. In dem Fall würde das booten dann doch dennoch Fehlschlagen oder nicht?
Beitrag automatisch zusammengeführt:

Plp ist für rpool nicht wirklich notwendig wiewohl immer eine gute Sache. SSD mit plp sind praktisch immer von der besseren Sorte/zuverlässiger. Ich bevorzuge da immer die DC Modelle von Intel oder Samsung. Vor allem letztere gibts immer wieder mal günstig.
Was ist von Kingston DC1000B zu halten? Besonders merkmal soweit ich weiß PLP im Formfaktor 2280, was wohl eher selten (einzigartig?) bis dato ist.

Habe noch eine Consumer Intel 330 als Boot SSD für einen meiner Server. Frage mich da ob es da Sinn machen würde die gleiche nochmal bei ebay zu ersteigern um dann für wenig Geld nen Mirror zu haben.

Bei nem anderen Server habe ich leider nur 2 freie M.2 Slots. Wäre es möglich die M.2s (NVMe) zu partionieren, einen Teil für rpool zu benutzen, einen mirror zu erstellen, und den restlichen Platz ebenfalls für einen zweiten Mirror zu benutzen um dort dann VMs abzulegen?
Also: Partition1 auf beiden M.2s bilden rpool, Partition2 auf beiden M.2 bilden VM_Pool. Oder gibt es bessere Ansätze wie ich 2 M.2 quasi zum booten UND als VM Storage benutzen kann und bei beiden von der Spiegelung profitieren kann.
 
Zuletzt bearbeitet:
Zu Beginn des Bootprozesses gibt es noch keinen Mirror. Gibt es da ein Problem, hilft der Mirror nichts (dann muss man Boot-Reihenfolge ändern). Der Mirror sorgt hauptsächlich dafür dass bei einem Ausfall der Bootplatte von der anderen (ebenfalls aktuellen) gebootet werden kann.

Gute SSD fallen aber so selten aus, dass man das nicht unbedingt braucht. Hat man keine komplexen Sachen (VMs, komplizierte Dienste) auf dem System, ist man nach einem Ausfall und Neuinstallation innerhalb kurzer Zeit eh wieder online.

Ansonst ist das wichtigste Kriterium der Bootplatte Zuverlässigkeit. Da sind meine Erfahrungen mit Kingston SSD eher nicht so prickelnd. Partitionieren von Boot und Datenbereich würde ich lassen. Oberstes Kriterium für problemlosen Betrieb ist KISS (keep it simple, stupid).

Ich würde daher immer eine einfache Boot-SSD (Single oder Mirror) nehmen und dann dazu einen NVMe Mirror für Daten.
 
Partitionieren von Boot und Datenbereich würde ich lassen.
Naja VMs zählen für mich nicht umbedingt zu Daten. Allein schon weil ich mir da Privat dann dafür durchaus eher kleine preiswerte PLP SSDs gönnen würde, was ich bei einem reinen Datenpool mit SSDs wohl nicht tun würde aufgrund des Preises. Von daher die Idee sie mit auf das Medium zu packen wo auch OS des Servers schon drauf ist.

Theoretisch wäre es doch sicherlich auch Möglich wenn man ESXI einsetzt 2 SSDs zu betreiben, auf jede dieser SSD einen Container anzulegen für beispielsweise eine OmniOS VM und in OmniOS selbst die beiden virtuellen HDDs als Mirror wieder zusammen zu fassen (falls man keinen Raid Controller besitzt).
Damit sollte die OmniOS VM doch auch booten können selbst wenn eine SSD ausfällt und damit ESXI der eine Container fehlt, oder gibt es etwas anderes was dagegen spricht?
 
Zuletzt bearbeitet:
Alles ist möglich.

Ein OmniOS ändert sich aber selten, meist bei einem Update.
Da muss man aber eh neustarten. Da kann man es auch als Template in ESXi wegsichern.

Stirbt dann die Systemplatte, muss man ESXi neu installieren.
Das Wiederherstellen der Storage VM aus dem Template dauert < 2 Minuten.
 
Was heißt eigentlich genau "Produktivsystem" ? Es wird ja oft abgeraten von USB in Zusammenhang mit ZFS bei einem "Produktivsystem", aber was heißt das genau?
Dass man bei einem Pool mit mehreren Usern gleichzeitig eher USB vermeiden sollte kann ich ja noch nachvollziehen.
Aber was ist zB mit USB für Backups, sprich Replications. Wäre USB hier ebenfalls eine totsünde? Backups gehören doch eigentlich nicht mehr zum "produktiven" Teil oder?

Vorteil bei USB sehe ich dass die Platten mobil sind und man nahezu an jedem Gerät auch freie USB Ports vorfinden wird oder schnell freimachen kann um so mal ein Backup zurückzuspielen.
Ergo ich könnte doch über eine langsamme Verbindung auf einen etwas entfernten Backupserver an dem USB Platten hängen Replications von meinem Pool machen. Und im Fall der Fälle spiele ich das Backup dann nicht über die langsamme Verbindung zurück sondern nehme mir einfach die USB Platten und hänge sie an mein Hauptserver zum zurückspielen des Backups?

Selbst lokal haben die meisten nur 1Gbit Netzwerk, das kann nen Mirror als Backup über USB grade beim lesen doch deutlich übersteigen. Bei 5Gbit von USB käme ich da immerhin in der Praxis auf etwa 3,5Gbit pro Verbindung.
 
Ich würde "Produktivsystem" in "tut immer und garantiert problemfrei" übersetzen. Das ist z.B. bei einem SAS Wechselplatteneinschub der Fall bei dem man problemfreies Hotplug für SAS/Sata Platten hat.

Bei USB gibt es dagenen Usb 1-4, verschiedene Chipsets im Server und in der Platte, mal bessere, mal schlechtere, mal keine Treiber und damit gerne das Problem tut nicht, tut manchmal, tut meistens, Wenn es einfach tun soll, USB eher vermeiden.
 
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