[Sammelthread] ZFS Stammtisch

Sorry wenn ich zwischenrein grätsche.

Ich hab meine Platten jetzt nicht mehr über RDM angebunden, sondern über einen supermicro aoc-s3008l-l8i controller mit IT-firmware, der über Passthrough auf einem ESXi an Napp-IT durchgeschleift ist. Zwei platten werden jetzt in dem Menü "Disks" in der Spalte smart_overview2 mit "Problem" angezeigt.

Wenn ich "Disks -> Smartmoninfo" aufrufe erscheint:

1607806037840.png


Allerdings gibt die Konsole aus, dass smartmontools installiert ist:

1607806200911.png


Ich konnte das Problem auf meiner zweiten Napp-IT installation reproduzieren.

Wie behebt man das Problem?

Installiert ist:
version : 19.12b12 noncommercial homeuse (For newest features and bugfixes upgrade to napp-it Pro in menu About > Upgrade)
running on : SunOS Napp-IT1 5.11 omnios-r151036-4a32ffb911 i86pc i386 i86pc
OmniOS v11 r151036c
Beitrag automatisch zusammengeführt:

Und noch ne andere Frage hinterher:

Hab 7x 10TB WD Red WD100EFAX (CMR)

Was würdet ihr machen?
a = 1 Pool mit 2x raidz1 mit je 3 Platten + 1x Hotspare
b = 1 Pool mit 1x Raidz2 mit 6 Platten + 1x Hotspare
c = 1 Pool mit 3x mirror mit je 2 Platten + 1x Hotspare
d = 1 Pool mit 1x Raidz2 mit 7 Platten

Anwendungsgebiet: Datenhalde für private (Multimediasammlung, Dokumente, Fotos, Videos, etc...) also eher kein Pool der häufig unter Stress steht.

Wichtig zu wissen wäre vielleicht noch: Ich muss mit aktuell drei leeren Platten zuerst einen Teil des Pools erstellen, dann Daten umziehen, dann den Pool erweitern. Verteilt ZFS dann bei einer Erweiterung des Pools die Daten gleichmäßig auf die neue Poolgröße, das heißt ich müsste bei einer Erweiterung aus Stressgründen erstmal ne Weile warten, bis die Daten gleichmäßig verteilt sind?

System: Ryzen 7 4750G
NFS-System läuft in VMware-Gast mit 16GB Ram
LSI 3008 Controller
(Wahrscheinlich) wirds langfristig OmniOS mit Napp-IT. Die Filesysteme auf den Pools sollen verschlüsselt werden.
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
@gea



Scheint nicht so wirklich zu funktioneren

Die entscheidende Fehlermeldung scheint: No space left on device cannot open 'tank/_Pool_Benchmark':
Ist der Pool voll/ neuestes OmniOS/Poolversion/napp-it oder ein früherer Benchmark nicht abgeschlossen?

Ansonst sind die Werte ohne enc mit 35MB/s sync und 188 MB/s nonsync ganz ok. Bei einem Filer nutzt man eh kein sync. (und ZFS Verschlüssellung machts recht langsam bei schwacher Hardware)

ps
als code einfügen, dann bleibt die Tabelle lesbar
Beitrag automatisch zusammengeführt:

Sorry wenn ich zwischenrein grätsche.

Ich hab meine Platten jetzt nicht mehr über RDM angebunden, sondern über einen supermicro aoc-s3008l-l8i controller mit IT-firmware, der über Passthrough auf einem ESXi an Napp-IT durchgeschleift ist. Zwei platten werden jetzt in dem Menü "Disks" in der Spalte smart_overview2 mit "Problem" angezeigt.

Wenn ich "Disks -> Smartmoninfo" aufrufe erscheint:

Anhang anzeigen 560664

Allerdings gibt die Konsole aus, dass smartmontools installiert ist:

Anhang anzeigen 560666

Ich konnte das Problem auf meiner zweiten Napp-IT installation reproduzieren.

Wie behebt man das Problem?

Installiert ist:
version : 19.12b12 noncommercial homeuse (For newest features and bugfixes upgrade to napp-it Pro in menu About > Upgrade)
running on : SunOS Napp-IT1 5.11 omnios-r151036-4a32ffb911 i86pc i386 i86pc
OmniOS v11 r151036c

Smartmontools ist erst seit recht kurzer Zeit im OmniOS repository. Davor hat napp-it das selbst kompiliert. Das Programm smartctl landet dabei einmal in /usr/sbin/ und ansonst unter /opt/ooce.

Ein ganz neues napp-it kann beides nutzen. Als Workaround kann man daher einen link des installierten smartctl auf /usr/sbin/smartctl setzen oder einfacher auf 19.12b13 updaten. Da wird das beachtet.


Beitrag automatisch zusammengeführt:

Und noch ne andere Frage hinterher:

Hab 7x 10TB WD Red WD100EFAX (CMR)

Was würdet ihr machen?
a = 1 Pool mit 2x raidz1 mit je 3 Platten + 1x Hotspare
b = 1 Pool mit 1x Raidz2 mit 6 Platten + 1x Hotspare
c = 1 Pool mit 3x mirror mit je 2 Platten + 1x Hotspare
d = 1 Pool mit 1x Raidz2 mit 7 Platten

letzteres würde ich machen für max Kapazität (und es dürfen zwei beliebige Platten ausfallen) wenn man keine mittelfristige Erweiterung braucht (50TB reichen). Hotspare ist bei mirror und Z1 Pflicht, ein Z2 + hotspare macht weniger Sinn, da kann man gleich Z3 machen dann ist die Redundanz besser und die hotspare quasi gleich mit eingebunden. Mirror macht für einen Filer nur dann Sinn wenn man einfache Erweiterkeit des Pools braucht oder beste iops haben möchte.

Anwendungsgebiet: Datenhalde für private (Multimediasammlung, Dokumente, Fotos, Videos, etc...) also eher kein Pool der häufig unter Stress steht.

Wichtig zu wissen wäre vielleicht noch: Ich muss mit aktuell drei leeren Platten zuerst einen Teil des Pools erstellen, dann Daten umziehen, dann den Pool erweitern. Verteilt ZFS dann bei einer Erweiterung des Pools die Daten gleichmäßig auf die neue Poolgröße, das heißt ich müsste bei einer Erweiterung aus Stressgründen erstmal ne Weile warten, bis die Daten gleichmäßig verteilt sind?

Das geht nur mit Multi-Mirror (Nutzkapazität 30TB) oder einem Z1 Pool aus drei Platten den man dann um ein Z1 aus drei Platten ergänzt + Hotspare (Nutzkapazität 40TB). Ein Rebalancing auf neue vdevs findet nicht automatisch statt sondern nur beim Schreiben. Man muss dazu also Daten umkopieren oder replizieren.

Wenn mal 3 Platten zum Vorbereiten braucht, dann ist das Ziel ein Pool mit 2 x Z1 (je drei Platten) vdev + hotspare am Besten.

System: Ryzen 7 4750G
NFS-System läuft in VMware-Gast mit 16GB Ram
LSI 3008 Controller
(Wahrscheinlich) wirds langfristig OmniOS mit Napp-IT. Die Filesysteme auf den Pools sollen verschlüsselt werden.

Virtualisiert ist ZFS Verschlüssellung etwas langsamer, sollte aber für ein 1G Netzwerk voll ausreichend sein. Wenn man VMs auf den Pool packt, sollte sync aktiviert werden und für dieses Dateisystem auf enc verzichtet werden. Ein Slog würde dann auch Sinn machen.
 
Zuletzt bearbeitet:
Da man beim Updateprozess nur "19.12" sieht und das b13 nicht dabei steht, hab ich nicht bemerkt, dass es schon ne neuere Version gibt. Bin auch gar nicht auf die Idee gekommen, weil die Napp-IT Installation keine Woche alt ist. Das Update auf b13 scheint also noch warm zu sein und hat das Problem mit Smartmontools tatsächlich gelöst. Prima, danke!

Bringt rebalancing überhaupt etwas? Meinem Verständnis nach wären ab dem ersten nachträglich hinzugefügten vdev die Daten ja ziemlich ungleichmäßig verteilt. Der IOPS und Durchsatzvorteil von vielen vdevs wäre dann ja für ältere Daten ausgehebelt. Der andere Vorteil wäre natürlich, dass man Pools nicht immer zwingend mit dem gleichen vdev-setup erweitern müsste.



Vielleicht klappts ja doch mit dem RaidZ2 mit sieben Platten. Ich muss mal gucken ob ich noch genug alte Platten zusammen bekomme für ein temporäres Backup auf Nicht-10TB-Platten. Mir kam nämlich grad folgende Idee, wie man ZFS/Napp-IT an der Nase herum führen könnte. :-) Da eine nachträgliche Änderung an einem raidz nicht mehr möglich ist wäre die Frage, ob nicht einfach folgendes gehen würde:

Ich könnte vier 10TB Platten leeren. Zusätzlich könnt ich noch eine, besser zwei alte 6TB-Platten organisieren. Zum Zeitpunkt der Initialisierung des RaidZ2 binde ich also vier physische 10TB-Platten ein und ich erstelle außerdem drei vmdks mit 10TB. Die vmdks sind dabei thin provisioniert. Ich initialisere also das raidz2 mit vier phyisischen 10TB-Platten am HBA und drei vrituellen 10TB-Platten, die in einem VMFS auf den 6TB-Platten liegen. Somit gauckle ich dem Napp-IT ein Raidz2 mit 7 10TB-Platten vor. Nach der Initialisierung trenne ich die vmdks, die keine eigenen 6TB-Platte hätten. Dann schieb ich meine Daten auf den Pool. Folge: Die drei 10TB und die zwei 6TB Platten laufen gleichmäßig voll und die VMDKs wachsen einfach mit. Heißt: Ich könnte effektiv von vorne weg 5x6*0,9 = ~27TB netto in den neuen Pool speichern. Dann füge ich eine physische 10TB-Platte hinzu, deren Daten nun schon im vdev liegen. Wenn das resilvering abgeschlossen ist, ersetze ich noch die zwei VMDKs gegen zwei physische 10TB-Platten über einen replace.


Zum Thema Virtualisierung von Napp-IT in Verbindung mit Verschlüsselung:
Ich habe die ganze Nacht zugebracht, mit den drei leeren 10TB-Platten und meiner noch leeren Samsung PM983 2TB M.2 PCIe Benchmarks zu fahren, weil ich die Befürchtung hatte, dass mich das Problem von @CommanderBond ebenfalls treffen könnte. Und ich glaube dem ist auch so.

Vorweg:
Ich hab kein Schmalbrüstiges System unter meinem virtualisierten Napp-IT, sondern einen gerademal 2-3 Wochen alten Server mit aktueller Hardware. Unter dem ESXi 7.0 free werkelt ein Ryzen 7 4750G. Das ist ein seit nem viertel Jahr erhältlicher Achtkerner mit 16 Threads mit AMV-V, IOMMU und natürlich AES-NI. Bei mir läuft der aus thermischen Gründen aber nur mit 3,6Ghz Basistakt, der Boosttakt (bis 4,6Ghz) ist deaktiviert.

Ich hab darüber hinaus noch Vergleichssysteme: Einen Ryzen 7 3700X von letztem Jahr mit aktuellem Chipsatz. Auf dem System läuft Win10 und VMWare Workstation 15.x und full system encryption.
Und ich hab einen Intel i7 2600k aus dem Jahr 2012, welchen ich vor dem Ryzen acht Jahre als Workstation hatte. Diese Hardware hab ich seit dem Kauf ebenfalls mit Full System Encryption betrieben. Dieser i7 hat damals schon 2GByte/s AES-Throughput mit AES-NI geschafft und ich hatte damit im Alltag keine Problem. Was ich damit sagen will: 2GByte/s ist eigentlich dicke ausreichend für einen Arbeits-PC mit nem anspruchsvollen Benutzer davor und sollte es eigentlich auch für einen Fileserver sein.

Lass ich auf den Ryzen-Systemen Win10 ohne Hypervisor laufen und führe einen AES-Benchmark mit AES-NI-support aus, schaffen die CPUs knapp 15GByte/s. Ohne AES-NI sind es immerhin noch 2GByte.

Führe ich auf den Ryzensystemen den Benchmark auf einem Win10 aus, welches in einer VM läuft, wird mir ebenfalls AES-NI-Support angezeigt. Es scheint offensichtlich auch zu funktionieren, jedoch mit reduziertem Throughput. Der Benchmark schafft in der VM mit AES-NI gerademal noch 2Gbyte/s - 2,3GByte/s. Deaktiviere ich in der VM im Benchmark die AES-NI-Unterstützung, schaffen beide CPUs immerhin noch 522MB/s - 580MB/s in Software. Die leichten Unterschiede sind sicherlich auf den deaktivierten Boost beim 4750G oder auf die reduzierte Threadanzahl durch ESXi free zurückzuführen. Es spielt aber keine Rolle ob ich das in ESXi teste oder VMWare Workstation - die Ergebnisse sind gleich.

Meiner Ansicht nach sollte sich über 520MB/s ohne AES-NI oder 2GByte/s mit AES-NI schon in der Performance von einem virtualisierten Napp-IT wiederspiegeln.

Zurück zu den Benchmarks. Ich habe 8 verschiedene Poolsetups getestet und dokumentiert. Falls jemand an der kompletten Testreihe als PDF Interesse hat, bitte melden.

Jede Poolkonfig wurde mindestens einmal mit und einmal ohne Encryption gebencht. Das Bild ist immer gleich: Sobald encryption an ist, fällt die Performanche mit Sync in den Keller (hat ja das Epyc Paper von gea schon gezeigt).

Hier ein Bench mit der Samsung SSD PM983 2TB M.2 NVMe als Basic vdev

1607868448227.png
1607868482416.png




Hier ein Bench mit meinen Standardfestplatten Western Digital WD Red Plus 10TB, SATA 6Gb/s (WD100EFAX) als Basic vdev

Interessant ist, dass Enc gerademal 3-4% eingebrochen ist, obwohl es die gleiche Konfig ist wie zuvor.

1607869730709.png
1607869737414.png



Interessant ist auch, dass die CPU während dieser Benchmarks nie ausgelastet war. Maximal 33% hab ich beobachtet. Ist das ein Latenzproblem oder verschlinkt der Code da einfach Effizienz?



Wie siehts bei anderen ZFS-Filern (TrueNAS, etc.) aus?

Betrifft dieses Verhalten auch Solaris mit seinem geschlossenen ZFS?

Was ist der Grund für dieses Verhalten?
 
Zuletzt bearbeitet:
Ich habe die 19.12b13 heute erst hochgeladen und da die smartctl Erkennung rückportiert.

Prinzipiell kann man schon tricksen beim Erzeugen des Pools. Man sollte halt nie eine Situation haben in dem ein Fehler oder technisches Problem zu einem Datenverlust führen kann.

Die niedrige Performance von enc+sync war mir vor meiner Testreihe auch nicht bewußt. Ich habe dazu auch bisher keine Berichte von Open-ZFS unter Free-BSD oder Linux gesehen. Ich vermute dass sich die kleinen Datenblöcke die mit sync geschrieben werden (bis herunter zur physikalischen Blockgröße der Platten also 512B/4k) schlecht verschlüsseln lassen/die Datenmenge aufblähen. Ohne sync werden ja Blöcke in recsize z.B. default 128k geschrieben.

Zur CPU Last
100% CPU bedeutet, dass der Pool mehr könnte als die CPU kann. Bei einer geringeren CPU Last ist das System an anderer Stelle am Anschlag.

Mit Solaris habe ich das nicht getestet. Da aber native Oracle ZFS/Verschlüssellung und Open-ZFS Verschlüssellung beidesmal auf OpenSolaris aufbaut erwarte ich ähnliches. Die Performance von Oracle Solaris ZFS Verschlüssellung war ja auch nicht ganz auf Niveau der Plattenverschlüssellung z.B. mit Luks. Auch unter Linux gilt ZFS Verschlüssellung dagegen als relativ langsam
 
Zuletzt bearbeitet:
Dein Engagement ist einfach klasse. :-)

Ich weiß zu wenig darüber wie ZFS unter der Haube funktioniert und Daten in Blöcke packt. Aber im Grunde ist das ein gängiges Problem in der IT. Datenströme werden doch bei sogut wie jeder Übertragung portioniert (TCP, Ethernet Frames, SCSI, ... ). Und wenn compression aktiviert ist, dann wirds ja eigentlich noch etwas dynamischer. Ich vermute mal, dass das kein endgültiger Hardwareflaschenhals ist, denn wenn unter Windows solche Raten drin sind, müsste das auch bei anderen Betriebssystemen möglich sein.

Das hier ist so der krasseste Einbruch von allen Benchmarks die ich gemacht habe: Pool aus 3x10TB Platten als basic vdevs und dem Log aus Samsung SSD. Einmal unverschlüsselt, einmal verschlüsselt. Der Unterschied ist Faktor 15 (Die Benchmarks liefen immer 30s). Was sagt eigentlich dieses primary/secondary cache aus? Das bricht ja grundsätzlich immer auf niedrige zweistellige Raten ein. Egal was dann oben drüber rauskommt.

Ich schätze mal, das sync abschalten nicht der heilige Gral sein kann. Ist das doch ein Kernelement der ZFS Datensicherheit.

1607889734991.png
1607889793391.png



Weißt du wo sich die Entwickler von den entsprechenden Komponenten die da in Frage kommen könnten tummeln? Ich würde gerne mal mit denen in Kontakt treten und das Problem schildern. Wenn du da den besseren Draht hast, würd ich mich da nicht vordrängeln wollen.
 
Zuletzt bearbeitet:
Sun hatte ZFS kompromißlos auf Datensicherheit entwickelt. Ist im übertragenen Sinne wie ein gepanzertes Fahrzeug mit ABS, ESP, innenliegender doppelter Knautschzone und 10 Airbags. Sowas wäre furchtbar langsam wenn Sun nicht gleichzeitig überragende rambasierte Schreib/Lesecaches eingebaut hätte.

Lesecache kann RAM (Arc/primary) oder SSD (L2Arc/secondary) sein. Das kann man abschalten. Sollte man aber nur für gezielte Performancetests machen. Ist wie beim Auto wenn man Turbo deaktiviert und Drehzahl auf 3000 rpm begrenzt und sich dann wundern würde wenn es das Auto nicht bringt.

ZFS braucht übrigens kein sync für sein eigenes Sicherheitskonzept da es wegen Copy on Write immer valide bleibt. Sync write ist ein High End Feature und normalerweise deaktiviert. Man braucht das nur als Absicherung des RAM-Schreibcaches damit Transaktionen sicher sind, z.B. bei VMs und fremden Dateisystemen auf ZFS oder Datenbanken damit z.B. eine Kontoabbuchung bei einem Absturz nur wirksam wird wenn auch die folgende Aufbuchung auf ein anderes Konto noch klappt. Jeder bestätigte Schreibvorgang muss mit sync auf Platte sein, spätestens beim nächsten reboot.

Wenn man Open-ZFS Verschlüssellung diskutieren möchte, dann hier, https://zfsonlinux.topicbox.com/groups/zfs-discuss. Illumos Entwickler finden sich hier, https://illumos.topicbox.com/groups/discuss. OmniOS Entwickler auch hier, https://gitter.im/omniosorg/Lobby, Bugs dann hier, https://www.illumos.org/issues
 
Die entscheidende Fehlermeldung scheint: No space left on device cannot open 'tank/_Pool_Benchmark':
Ist der Pool voll/ neuestes OmniOS/Poolversion/napp-it oder ein früherer Benchmark nicht abgeschlossen?

Ansonst sind die Werte ohne enc mit 35MB/s sync und 188 MB/s nonsync ganz ok. Bei einem Filer nutzt man eh kein sync. (und ZFS Verschlüssellung machts recht langsam bei schwacher Hardware)

ps
als code einfügen, dann bleibt die Tabelle lesbar
Der Pool ist bis auf ein paar GB leer. Habe neugestartet, jetzt kommt die Fehlermeldung zwar nicht mehr, aber der Test scheint endlos zu laufen. Auch nach über 30minuten findet keine aktualisierung mit den Ergebnissen der Seite statt. Browser ist Chrome.

host backup
pool tank
(recsize=128K, ssb=-, compr=off, readcache=all)
slog -
encryption aes-256-ccm
remark


Enter passphrase: Re-enter passphrase

mehr kommt nicht mehr.
 
Da die Testserie nicht als Service/Background task sondern interaktiv läuft, gibt es timeouts. Ein Timeout ist der Webserver CGI timeout. Der ist meist nicht das Problem sondern der Browser timout. Der ist bei Chrome mit am Längsten, deshalb sollte man Chrome dafür nutzen.

Das Verhalten bedeutet jetzt schlicht dass die Testsequenz innerhalb der timeout Zeit nicht abgeschlossen werden kann (die Tests sind auf schnelle Systeme ausgelegt, in der Titelleiste sieht man auch welcher Test gerade läuft). Ich würde jetzt als erstes die readtests deaktivieren oder read und write nacheinander testen. Schreibwerte sind unabhängiger von Cachegrößen und daher eh aussagekräftiger.

Man kann auch statt der aufwändigeren filebench Tests lediglich einfache dd Werte testen. Die sind zwar nicht auf workloads einstellbar so wie filebench geben meist aber korrekte Größenordnungen und werden meist auch auf langsamen Systemen beendet. Mit enc auf sehr langsamen Systemen werden aber auch die eventuell zu lange laufen.

Dann kann man aber dennoch sagen dass man enc da nicht sinnvoll nutzen kann.
 
Zuletzt bearbeitet:
Probiere es später noch mal aus. Allerdings habe ich benchmarks von meiner CPU gefunden im Internet wo knapp 180MB/S AES Singlecore erreicht werden. Mit mehreren Kernen dann über 300. das erscheint mir jetzt nicht zu langsam zu sein für meine Ansprüche
 
@CommanderBond
Falls du irgendwo Veracrypt rumfliegen hast, kannst du deine höchstwahrscheinliche Performance bei AES&Co auch damit testen. Alternativ schaust du dir in "napp-it" an, wie @gea die Befehle zum Testen hinterlegt hat. Seine Web-Oberfläche macht ja, wenn ich das richtig verstanden habe, nix anderes, als die auszuführenden Befehle in einem Terminal zu starten und dann deren Ausgabe grafisch aufbereitet über die Oberfläche anzuzeigen.
 
Es gibt ein Update für OmniOS (freies Solaris)

Wichtigstes Bugfix für mich: Behebt SMB Probleme mit OSX 11 (Big Sur)
 
Zuletzt bearbeitet:
hallo zusammen,

hab mal derzeit neue Platten eingebaut als ZFS RaidZ1 - hab dann ein Smart Test gemacht und bekomme bei der einen Platte folgende Werte:

Bild 17.12.20 um 17.24.jpg



Die RAW Error Rate - Raw Value kommt mir sehr hoch vor....Platte defekt oder brauch ich mir keine Sorgen machen?
 
Evtl. eine Seagate? Die haben AFAIK eine bestimmte Stellencodierung, so dass ein einfaches Ablesen des gesamten Wertes keinen sinnvollen Wert gibt.
 
Da ich mich gerade mit Encryption befasse und man ja nur pro Dataset verschlüsseln kann..
Macht es dann Sinn nur ein Dataset zu haben...stehe gerade vor folgender Situation:
Hab einen Fileserver, dazu ein RaidZ Pool....auf dem sind derzeit mehrere Datasets bspw. "Filme", "Fotos" usw.

Wenn ich jetzt für jedes Dataset ein Pass setze und ich den Server Neustarte, dann müsste ich ja jedes Dataset neu einbinden....wäre es dann nicht einfacher bzw zu empfehlen ein Dataset zu machen und den Rest als Ordnerstruktur darzustellen?

Wie macht ihr das?
 
Kommt darauf an.

1. Wenn man mehrere Personen/Datenarten hat, die jeweils eigene Schlüssel möchten, dann braucht man mehrere Dateisysteme (verschlüsselte Dateisysteme, nicht schachteln). Man muss dann halt jedes Dateisystem einzeln nach dem Booten manuell freischalten oder einen dateibasierten Schlüssel nutzen den man aber auch irgendwie schützen muss. Oracle Solaris unterstützt dafür zusätzlich in ZFS eingebautes Keyserver Management (native ZFS).

Mit Open-ZFS gibt es dafür (remote Keyserver/ auto-unlock) keine Lösung auf Basis von ZFS. Das muss man entweder manuell per Script erledigen oder in der Management Oberfläche eine Funktion haben. In napp-it habe ich da unlock per SMB, per splitted file oder per keyserver das mit Solaris und native ZFS und OmniOS/OI und Open-ZFS arbeitet.

2. Als Vereinfachung kann man ein verschlüsseltes Dateisystem anlegen und darunter nur normale Ordner.

3. Als etwas komplexere Alternative ist es denkbar unter dem verschlüsselten Dateisystem weitere (dann auch verschlüsselte) Dateisysteme anzulegen. Hier kann/sollte man alle Dateisysteme mit dem Master Key des Parent freischalten/sperren. Über Vererbung folgen die enthaltenen Dateisysteme. Man sollte vermeiden die geschachtelten Dateisysteme einzeln zu sperren/öffnen. Vorteil: Eigene ZFS Eigenschaften je Sub-Dateisystem.

Privat würde ich 2. nehmen.
Wenn jedes Familienmitglied seinen eigenen (geheimen) Schlüssel braucht, dann 1.

3. nur dann wenn man z.B. einzelne Dateisystem einzeln replizieren möchte, die als eigenen SMB share sehen möchte oder andere ZFS Eigenschaften wie Quota, Reservation etc braucht.
 
Zuletzt bearbeitet:
Ich hab ein paar Auffälligkeiten, die ich mir technisch nicht so recht erklären kann.
Basis meiner beiden Büchsen ist Solaris 11.3 + napp-it und zwei Mellanox Connect X2 Nic die an einen 10g Switch angebunden sind.
Die Pools auf beiden System setzen auf Raid Z2 und Raid1. Ram 16 und 24GB.
De Performance ist grandios ! Client <-> Server.
Die Pools liefern zwischen 300-600MB/s ja nach Dateigröße und Maschine.

Wenn ich z.B. einen erstellten Ordner zippe, der sagen wir mal 3GB hat, und dann das zp File kopiere, dann liefert bei der ersten Anfrage das max. an Performance, was der Pool kann.
Kopiere ich die Datei ein zweites mal, dann kommt die aus dem RAM-Cache und ballert mit 10g max durch die Leitung.
Allerdings kann ich das nur mit Windows so nachstellen. OSX liefert immer die gleiche Performance.
Wieso das?
Es spielt keine Rolle, ob 1500 oder 9k MTU.

Die andere Thematik betrifft die Performance bei netcat beim replizieren.
Technisch funzt auch hier alles super, nur leider sehr langsam, was "früher" besser war.

Ich hatte erst DaVinci Resolve im verdacht, da ich seit dem Umstellung alles auf dem primären StoragePool habe.
Sprich DB- und Projektdaten.
Alle Videos lassen sich in 4k ruckelfrei schneiden....

Wenn ich allerdings ein replikations Tasks starte, dann ist die Performance bei teils weniger als 1mb/s.

Ich habe dann mal alles, was die Pool bremsen könnte entfernt, das resolve ja N kleine Dateien erzeugt. Hat aber leider Effekt erzielt.
Hat dazu jemand eine Idee?

Nutzt hier jemand Resolve + Replikation und kann was zur allgemeinen Performance sagen?
 
Ist das Problem neu aufgetreten?

Grundsätzlich habe ich bei OSX festgestellt dass bis ca 10.11 Windows und OSX gleich schnell waren und es kein Problem war bei beiden mit SMB und MTU 9000 ca 700-900MB/s lesend und schreibend zu erhalten. Mit aktuellem OSX lande ich da gerne mal bestenfalls bei 300-500 MB/s.

Die meisten Tipps raten dazu SMB signing unter OSX und/oder Server zu deaktivieren und/oder maxprotocoll auf dem Server auf 2.0 zu setzen. Richtig geholfen hat mir das bei meinem letzten Tests nicht.

Langsame Replication unter netcat hatte ich auch mal mit mtu 9000. Ich würde das mal deaktivieren und auf default mtu 1500 zu gehen.

Da Solaris 11.3 keine Apple Extensions unterstützt, wäre eine weitere Option auf Solaris 11.4 zu gehen oder (sofern man keinen Oracle Support Vertrag hat) gleich auf OmniOS. Da sind im aktuellen OmniOS eine ganze Reihe von Anpassungen an OSX geschehen, diese Woche erst ein Fix für ein SMB Problem in Big Sur.

Testhalber könnte man auch ein Pool > Benchmark laufen lassen um sicher zu sein dass der Pool problemlos arbeitet.

Um ein SMB Problem auszuschließen wäre ein iSCSI Target (z.B. mit globalSan initiator 14 Tage trial) unter OSX eine weitere Option. NFS unter OSX ist leider eine Krücke.
 
Zuletzt bearbeitet:
Ist das Problem neu aufgetreten?

Gute Frage: ich habe das zeitlich so mit Resolve auf dem Schirm. Es kann aber auch an der MTU Einstellung gelegen haben.
Grundsätzlich habe ich bei OSX festgestellt dass bis ca 10.11 Windows und OSX gleich schnell waren und es kein Problem war bei beiden mit SMB und MTU 9000 ca 700-900MB/s lesend und schreibend zu erhalten. Mit aktuellem OSX lande ich da gerne mal bestenfalls bei 300-500 MB/s.

Ich habe bewusst 10.14 am laufen, da das 100% Stabil läuft. Keine Erfahrung, was 10.15 und BigSur an Performance bringen. Muss ich ggf. mal testen. Du hast ja leider auch keinen positiven Effekt vermerkt.
Die meisten Tipps raten dazu SMB signing unter OSX und/oder Server zu deaktivieren und/oder maxprotocoll auf dem Server auf 2.0 zu setzen. Richtig geholfen hat mir das bei meinem letzten Tests nicht.

Signing ist off. Hatte bei mir meinen Effekt. Kann ich bestätigen. SMB/CIFS macht keinen Unterschied.

Langsame Replication unter netcat hatte ich auch mal mit mtu 9000. Ich würde das mal deaktivieren und auf default mtu 1500 zu gehen.

Danke für den Hinweis. Das mache ich mal.
Da Solaris 11.3 keine Apple Extensions unterstützt, wäre eine weitere Option auf Solaris 11.4 zu gehen oder (sofern man keinen Oracle Support Vertrag hat) gleich auf OmniOS. Da sind im aktuellen OmniOS eine ganze Reihe von Anpassungen an OSX geschehen, diese Woche erst ein Fix für ein SMB Problem in Big Sur.

Was meinst Du mit Apple Extensions? Wenn, dann nur Solaris 11.4. Ich hatte damals auf OmniOS setzen wollen, aber da funzte meine NIC von Mellanox nicht.
Testhalber könnte man auch ein Pool > Benchmark laufen lassen um sicher zu sein dass der Pool problemlos arbeitet.

Hab ich mit Boardmitteln von Napp-it schon durch. Scrubbing, Bonnie, DD usw. alles lief/läuft sauber.
Um ein SMB Problem auszuschließen wäre ein iSCSI Target (z.B. mit globalSan initiator 14 Tage trial) unter OSX eine weitere Option. NFS unter OSX ist leider eine Krücke.

NFS ist die totale Krücke unter OSX! Korrekt.
Ich habe eine Lizenz hier. War damals für FCPX nötig, die früher nicht via SMB arbeiten wollten.

Hast Du einmal die Kernel Parameter angepasst?

kern.ipc.maxsockbuf= 4194304 – will not go higher in OSX due to system limitations. net.inet.tcp.sendspace= 2097152
net.inet.tcp.recvspace=2097152
net.inet.tcp.maxseg_unacked=32
net.inet.tcp.delayed_ack=2 kern.maxnbuf=60000 kern.maxvnodes=280000 net.inet.tcp_sack=1


###

/etc/sysctl.conf
kern.ipc.maxsockbuf=16777216
net.inet.tcp.sendspace=4194304
net.inet.tcp.recvspace=4194304
net.inet.tcp.maxseg_unacked=32
net.inet.tcp.delayed_ack=0
kern.maxnbuf=60000
kern.maxvnodes=280000
net.inet.tcp_sack=1

/etc/nsmb.conf
[default]
signing_required=no
streams=yes
file_ids_off=yes
 
Zuletzt bearbeitet:
Bin grade am Tauschen von Solaris 11.3 gegen 11.4 und installiere eben napp-it neu, da erscheint das hier beim Kompilieren der smartmontools:

Bash:
### s11 1.6 install smartmontools 7.1 and gcc
---------------------------------
 Startup: Refreshing catalog 'solaris' ... Done
Planning: Solver setup ... Done
Planning: Running solver ... Done
Planning: Finding local manifests ... Done
Planning: Fetching manifests:  0/16  0% complete
Planning: Fetching manifests: 16/16  100% complete
Planning: Package planning ... Done
Planning: Merging actions ... Done
Planning: Checking for conflicting actions ... Done
Planning: Consolidating action changes ... Done
Planning: Evaluating mediators ... Done
Planning: Planning completed in 6.11 seconds
           Packages to install: 16
           Mediators to change:  1
            Services to change:  1
       Create boot environment: No
Create backup boot environment: No

Download:    0/1834 items    0.0/332.4MB  0% complete
Download:  521/1834 items    3.9/332.4MB  1% complete (797k/s)
Download:  766/1834 items    7.0/332.4MB  2% complete (734k/s)
Download:  766/1834 items    9.3/332.4MB  2% complete (598k/s)
Download:  766/1834 items   11.6/332.4MB  3% complete (474k/s)
Download:  766/1834 items   13.9/332.4MB  4% complete (474k/s)
Download:  766/1834 items   16.3/332.4MB  4% complete (474k/s)
Download:  766/1834 items   18.6/332.4MB  5% complete (474k/s)
Download:  766/1834 items   20.9/332.4MB  6% complete (474k/s)
Download:  766/1834 items   23.2/332.4MB  6% complete (474k/s)
Download:  766/1834 items   25.5/332.4MB  7% complete (474k/s)
Download:  766/1834 items   27.9/332.4MB  8% complete (474k/s)
Download:  766/1834 items   30.2/332.4MB  9% complete (474k/s)
Download:  766/1834 items   32.5/332.4MB  9% complete (474k/s)
Download:  766/1834 items   34.8/332.4MB  10% complete (474k/s)
Download:  766/1834 items   37.2/332.4MB  11% complete (474k/s)
Download:  766/1834 items   39.5/332.4MB  11% complete (474k/s)
Download:  766/1834 items   41.8/332.4MB  12% complete (474k/s)
Download:  766/1834 items   44.1/332.4MB  13% complete (474k/s)
Download:  766/1834 items   46.4/332.4MB  13% complete (474k/s)
Download:  766/1834 items   48.8/332.4MB  14% complete (474k/s)
Download:  766/1834 items   51.1/332.4MB  15% complete (474k/s)
Download:  766/1834 items   53.4/332.4MB  16% complete (474k/s)
Download:  766/1834 items   55.7/332.4MB  16% complete (474k/s)
Download:  766/1834 items   58.1/332.4MB  17% complete (474k/s)
Download:  766/1834 items   60.4/332.4MB  18% complete (474k/s)
Download:  766/1834 items   62.7/332.4MB  18% complete (474k/s)
Download:  815/1834 items   70.2/332.4MB  21% complete (991k/s)
Download:  816/1834 items   72.6/332.4MB  21% complete (1014k/s)
Download:  816/1834 items   74.9/332.4MB  22% complete (505k/s)
Download:  816/1834 items   77.2/332.4MB  23% complete (470k/s)
Download:  816/1834 items   79.5/332.4MB  23% complete (470k/s)
Download:  816/1834 items   81.9/332.4MB  24% complete (470k/s)
Download:  816/1834 items   84.2/332.4MB  25% complete (470k/s)
Download:  816/1834 items   86.5/332.4MB  26% complete (469k/s)
Download:  816/1834 items   88.8/332.4MB  26% complete (468k/s)
Download:  816/1834 items   91.1/332.4MB  27% complete (468k/s)
Download:  816/1834 items   93.4/332.4MB  28% complete (469k/s)
Download:  816/1834 items   95.7/332.4MB  28% complete (469k/s)
Download:  816/1834 items   98.0/332.4MB  29% complete (468k/s)
Download:  816/1834 items  100.3/332.4MB  30% complete (467k/s)
Download:  816/1834 items  102.6/332.4MB  30% complete (468k/s)
Download:  816/1834 items  104.9/332.4MB  31% complete (468k/s)
Download:  816/1834 items  107.2/332.4MB  32% complete (467k/s)
Download:  816/1834 items  109.5/332.4MB  32% complete (467k/s)
Download:  816/1834 items  111.8/332.4MB  33% complete (467k/s)
Download:  816/1834 items  114.1/332.4MB  34% complete (468k/s)
Download:  816/1834 items  116.4/332.4MB  34% complete (467k/s)
Download:  816/1834 items  118.6/332.4MB  35% complete (468k/s)
Download:  816/1834 items  120.9/332.4MB  36% complete (468k/s)
Download:  816/1834 items  123.2/332.4MB  37% complete (468k/s)
Download:  841/1834 items  124.5/332.4MB  37% complete (435k/s)
Download: 1225/1834 items  131.7/332.4MB  39% complete (839k/s)
Download: 1425/1834 items  138.9/332.4MB  41% complete (1.4M/s)
Download: 1425/1834 items  140.8/332.4MB  42% complete (1.0M/s)
Download: 1425/1834 items  142.7/332.4MB  42% complete (388k/s)
Download: 1425/1834 items  144.5/332.4MB  43% complete (386k/s)
Download: 1425/1834 items  146.4/332.4MB  44% complete (386k/s)
Download: 1425/1834 items  148.3/332.4MB  44% complete (386k/s)
Download: 1425/1834 items  150.2/332.4MB  45% complete (386k/s)
Download: 1425/1834 items  152.1/332.4MB  45% complete (386k/s)
Download: 1425/1834 items  154.0/332.4MB  46% complete (386k/s)
Download: 1425/1834 items  155.9/332.4MB  46% complete (386k/s)
Download: 1425/1834 items  157.8/332.4MB  47% complete (386k/s)
Download: 1425/1834 items  159.7/332.4MB  48% complete (386k/s)
Download: 1425/1834 items  161.6/332.4MB  48% complete (386k/s)
Download: 1425/1834 items  163.5/332.4MB  49% complete (386k/s)
Download: 1425/1834 items  165.4/332.4MB  49% complete (386k/s)
Download: 1425/1834 items  167.3/332.4MB  50% complete (386k/s)
Download: 1425/1834 items  169.2/332.4MB  50% complete (386k/s)
Download: 1425/1834 items  171.1/332.4MB  51% complete (386k/s)
Download: 1425/1834 items  173.0/332.4MB  52% complete (386k/s)
Download: 1425/1834 items  174.9/332.4MB  52% complete (386k/s)
Download: 1425/1834 items  176.8/332.4MB  53% complete (386k/s)
Download: 1425/1834 items  178.6/332.4MB  53% complete (386k/s)
Download: 1425/1834 items  180.5/332.4MB  54% complete (386k/s)
Download: 1425/1834 items  182.4/332.4MB  54% complete (386k/s)
Download: 1425/1834 items  184.3/332.4MB  55% complete (386k/s)
Download: 1425/1834 items  186.2/332.4MB  56% complete (386k/s)
Download: 1425/1834 items  188.1/332.4MB  56% complete (386k/s)
Download: 1463/1834 items  191.0/332.4MB  57% complete (468k/s)
Download: 1464/1834 items  194.1/332.4MB  58% complete (605k/s)
Download: 1464/1834 items  196.4/332.4MB  59% complete (570k/s)
Download: 1464/1834 items  198.7/332.4MB  59% complete (467k/s)
Download: 1464/1834 items  201.0/332.4MB  60% complete (467k/s)
Download: 1464/1834 items  203.3/332.4MB  61% complete (467k/s)
Download: 1464/1834 items  205.6/332.4MB  61% complete (467k/s)
Download: 1464/1834 items  207.9/332.4MB  62% complete (467k/s)
Download: 1464/1834 items  210.2/332.4MB  63% complete (467k/s)
Download: 1464/1834 items  212.5/332.4MB  63% complete (468k/s)
Download: 1464/1834 items  214.8/332.4MB  64% complete (467k/s)
Download: 1464/1834 items  217.1/332.4MB  65% complete (468k/s)
Download: 1464/1834 items  219.4/332.4MB  65% complete (468k/s)
Download: 1464/1834 items  221.7/332.4MB  66% complete (468k/s)
Download: 1464/1834 items  224.0/332.4MB  67% complete (467k/s)
Download: 1464/1834 items  226.3/332.4MB  68% complete (467k/s)
Download: 1464/1834 items  228.6/332.4MB  68% complete (467k/s)
Download: 1464/1834 items  230.9/332.4MB  69% complete (468k/s)
Download: 1464/1834 items  233.2/332.4MB  70% complete (468k/s)
Download: 1464/1834 items  235.4/332.4MB  70% complete (468k/s)
Download: 1464/1834 items  237.7/332.4MB  71% complete (468k/s)
Download: 1464/1834 items  240.0/332.4MB  72% complete (467k/s)
Download: 1464/1834 items  242.3/332.4MB  72% complete (468k/s)
Download: 1464/1834 items  244.6/332.4MB  73% complete (468k/s)
Download: 1464/1834 items  246.9/332.4MB  74% complete (469k/s)
Download: 1486/1834 items  249.0/332.4MB  74% complete (434k/s)
Download: 1486/1834 items  251.3/332.4MB  75% complete (436k/s)
Download: 1486/1834 items  253.6/332.4MB  76% complete (474k/s)
Download: 1486/1834 items  255.9/332.4MB  76% complete (474k/s)
Download: 1486/1834 items  258.2/332.4MB  77% complete (474k/s)
Download: 1486/1834 items  260.6/332.4MB  78% complete (473k/s)
Download: 1486/1834 items  262.9/332.4MB  79% complete (473k/s)
Download: 1486/1834 items  265.2/332.4MB  79% complete (474k/s)
Download: 1486/1834 items  267.5/332.4MB  80% complete (474k/s)
Download: 1486/1834 items  269.9/332.4MB  81% complete (474k/s)
Download: 1486/1834 items  272.2/332.4MB  81% complete (474k/s)
Download: 1486/1834 items  274.5/332.4MB  82% complete (474k/s)
Download: 1486/1834 items  276.8/332.4MB  83% complete (474k/s)
Download: 1486/1834 items  279.1/332.4MB  83% complete (472k/s)
Download: 1486/1834 items  281.4/332.4MB  84% complete (471k/s)
Download: 1486/1834 items  283.7/332.4MB  85% complete (470k/s)
Download: 1486/1834 items  286.0/332.4MB  86% complete (469k/s)
Download: 1486/1834 items  288.3/332.4MB  86% complete (469k/s)
Download: 1486/1834 items  290.7/332.4MB  87% complete (470k/s)
Download: 1486/1834 items  293.0/332.4MB  88% complete (471k/s)
Download: 1486/1834 items  295.3/332.4MB  88% complete (471k/s)
Download: 1486/1834 items  297.6/332.4MB  89% complete (469k/s)
Download: 1486/1834 items  299.9/332.4MB  90% complete (468k/s)
Download: 1486/1834 items  302.2/332.4MB  90% complete (468k/s)
Download: 1601/1834 items  309.5/332.4MB  93% complete (962k/s)
Download: 1746/1834 items  315.7/332.4MB  94% complete (1.4M/s)
Download: 1765/1834 items  320.0/332.4MB  96% complete (1.1M/s)
Download: 1784/1834 items  324.9/332.4MB  97% complete (914k/s)
Download: 1801/1834 items  328.6/332.4MB  98% complete (887k/s)
Download: Completed 332.44 MB in 671.30 seconds (501k/s)
 Actions:    1/2298 actions (Installing new actions)
 Actions: 1245/2298 actions (Installing new actions)
 Actions: 1795/2298 actions (Installing new actions)
 Actions: Completed 2298 actions in 15.57 seconds.
 Done
 Done
 Done
 Done
 Done
 
 
 
 

### create source folder
---------------------------------
--2020-12-21 20:37:11--  http://downloads.sourceforge.net/project/smartmontools/smartmontools/7.1/smartmontools-7.1.tar.gz
Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 216.105.38.13
Connecting to downloads.sourceforge.net (downloads.sourceforge.net)|216.105.38.13|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://deac-fra.dl.sourceforge.net/project/smartmontools/smartmontools/7.1/smartmontools-7.1.tar.gz [following]
--2020-12-21 20:37:11--  https://deac-fra.dl.sourceforge.net/project/smartmontools/smartmontools/7.1/smartmontools-7.1.tar.gz
Resolving deac-fra.dl.sourceforge.net (deac-fra.dl.sourceforge.net)... 37.203.33.33
Connecting to deac-fra.dl.sourceforge.net (deac-fra.dl.sourceforge.net)|37.203.33.33|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 971468 (949K) [application/x-gzip]
Saving to: ‘smartmontools-7.1.tar.gz’

smartmontools-7.1.tar.gz                100%[=============================================================================>] 948,70K   113KB/s    in 8,4s   

2020-12-21 20:37:40 (113 KB/s) - ‘smartmontools-7.1.tar.gz’ saved [971468/971468]

checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/gmkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking dependency style of gcc... gcc3
checking for pkg-config... no
checking build system type... x86_64-pc-solaris2.11
checking host system type... x86_64-pc-solaris2.11
checking for nm... nm
checking whether this is a build from SVN... no
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /usr/bin/ggrep
checking for egrep... /usr/bin/ggrep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking byteswap.h usability... no
checking byteswap.h presence... no
checking for byteswap.h... no
checking for __int128... yes
checking for long double with more range or precision than double... yes
checking for getopt_long... yes
checking for clock_gettime... yes
checking for ftime... yes
checking for gettimeofday... yes
checking whether byte ordering is bigendian... no
checking whether g++ supports __attribute__((packed))... yes
checking for sigaction... yes
checking for g++ option to accept C++11... none needed
checking for regcomp... yes
checking whether os_solaris.cpp uses new interface... no
checking whether g++ supports -Wformat=2... yes
checking whether g++ supports -fstack-protector-strong... yes
checking whether _FORTIFY_SOURCE is predefined... no
checking whether g++ supports _FORTIFY_SOURCE=2... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
checking whether make sets $(MAKE)... (cached) yes
configure:
-----------------------------------------------------------------------------
smartmontools-7.1 configuration:
host operating system:  x86_64-pc-solaris2.11
C++ compiler:           g++
C compiler:             gcc
preprocessor flags:     
C++ compiler flags:     -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong
C compiler flags:       -g -O2
linker flags:           
OS specific modules:    os_solaris.o dev_legacy.o 
binary install path:    /usr/sbin
man page install path:  /usr/share/man
doc file install path:  /usr/share/doc/smartmontools
examples install path:  /usr/share/doc/smartmontools/examplescripts
drive database file:    /usr/share/smartmontools/drivedb.h
database update script: /usr/sbin/update-smart-drivedb
database update branch: branches/RELEASE_7_0_DRIVEDB
download tools:         curl wget lynx svn
GnuPG for verification: gpg
local drive database:   /etc/smart_drivedb.h
smartd config file:     /etc/smartd.conf
smartd warning script:  /etc/smartd_warning.sh
smartd plugin path:     /etc/smartd_warning.d
PATH within scripts:    /usr/local/bin:/usr/bin:/bin
smartd initd script:    [disabled]
smartd save files:      [disabled]
smartd attribute logs:  [disabled]
NVMe DEVICESCAN:        [not implemented]
-----------------------------------------------------------------------------

make  all-am
 cat ChangeLog NEWS $(SOURCES) | $(VERSION_FROM_SVN_IDS) > svnversion.h
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT smartctl.o -MD -MP -MF .deps/smartctl.Tpo -c -o smartctl.o smartctl.cpp
mv -f .deps/smartctl.Tpo .deps/smartctl.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT atacmdnames.o -MD -MP -MF .deps/atacmdnames.Tpo -c -o atacmdnames.o atacmdnames.cpp
mv -f .deps/atacmdnames.Tpo .deps/atacmdnames.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT atacmds.o -MD -MP -MF .deps/atacmds.Tpo -c -o atacmds.o atacmds.cpp
mv -f .deps/atacmds.Tpo .deps/atacmds.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT ataidentify.o -MD -MP -MF .deps/ataidentify.Tpo -c -o ataidentify.o ataidentify.cpp
mv -f .deps/ataidentify.Tpo .deps/ataidentify.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT ataprint.o -MD -MP -MF .deps/ataprint.Tpo -c -o ataprint.o ataprint.cpp
mv -f .deps/ataprint.Tpo .deps/ataprint.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT dev_ata_cmd_set.o -MD -MP -MF .deps/dev_ata_cmd_set.Tpo -c -o dev_ata_cmd_set.o dev_ata_cmd_set.cpp
mv -f .deps/dev_ata_cmd_set.Tpo .deps/dev_ata_cmd_set.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT dev_intelliprop.o -MD -MP -MF .deps/dev_intelliprop.Tpo -c -o dev_intelliprop.o dev_intelliprop.cpp
mv -f .deps/dev_intelliprop.Tpo .deps/dev_intelliprop.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT dev_interface.o -MD -MP -MF .deps/dev_interface.Tpo -c -o dev_interface.o dev_interface.cpp
mv -f .deps/dev_interface.Tpo .deps/dev_interface.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT dev_jmb39x_raid.o -MD -MP -MF .deps/dev_jmb39x_raid.Tpo -c -o dev_jmb39x_raid.o dev_jmb39x_raid.cpp
mv -f .deps/dev_jmb39x_raid.Tpo .deps/dev_jmb39x_raid.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT json.o -MD -MP -MF .deps/json.Tpo -c -o json.o json.cpp
mv -f .deps/json.Tpo .deps/json.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT knowndrives.o -MD -MP -MF .deps/knowndrives.Tpo -c -o knowndrives.o knowndrives.cpp
mv -f .deps/knowndrives.Tpo .deps/knowndrives.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT nvmecmds.o -MD -MP -MF .deps/nvmecmds.Tpo -c -o nvmecmds.o nvmecmds.cpp
mv -f .deps/nvmecmds.Tpo .deps/nvmecmds.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT nvmeprint.o -MD -MP -MF .deps/nvmeprint.Tpo -c -o nvmeprint.o nvmeprint.cpp
mv -f .deps/nvmeprint.Tpo .deps/nvmeprint.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT scsicmds.o -MD -MP -MF .deps/scsicmds.Tpo -c -o scsicmds.o scsicmds.cpp
mv -f .deps/scsicmds.Tpo .deps/scsicmds.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT scsiata.o -MD -MP -MF .deps/scsiata.Tpo -c -o scsiata.o scsiata.cpp
mv -f .deps/scsiata.Tpo .deps/scsiata.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT scsinvme.o -MD -MP -MF .deps/scsinvme.Tpo -c -o scsinvme.o scsinvme.cpp
mv -f .deps/scsinvme.Tpo .deps/scsinvme.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT scsiprint.o -MD -MP -MF .deps/scsiprint.Tpo -c -o scsiprint.o scsiprint.cpp
mv -f .deps/scsiprint.Tpo .deps/scsiprint.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT utility.o -MD -MP -MF .deps/utility.Tpo -c -o utility.o utility.cpp
mv -f .deps/utility.Tpo .deps/utility.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT os_solaris.o -MD -MP -MF .deps/os_solaris.Tpo -c -o os_solaris.o os_solaris.cpp
os_solaris.cpp:40:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
 };
 ^
os_solaris.cpp:40:1: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
os_solaris.cpp: In function ‘int do_scsi_cmnd_io(int, scsi_cmnd_io*, int)’:
os_solaris.cpp:409:68: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘std::size_t {aka long unsigned int}’ [-Wformat=]
       pout("  dxfer_len=%d, resid=%d\n", iop->dxfer_len, iop->resid);
                                          ~~~~~~~~~~~~~~            ^
mv -f .deps/os_solaris.Tpo .deps/os_solaris.Po
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT dev_legacy.o -MD -MP -MF .deps/dev_legacy.Tpo -c -o dev_legacy.o dev_legacy.cpp
mv -f .deps/dev_legacy.Tpo .deps/dev_legacy.Po
g++  -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong    -o smartctl smartctl.o atacmdnames.o  atacmds.o ataidentify.o ataprint.o  dev_ata_cmd_set.o dev_intelliprop.o  dev_interface.o dev_jmb39x_raid.o  json.o knowndrives.o nvmecmds.o  nvmeprint.o scsicmds.o scsiata.o  scsinvme.o scsiprint.o utility.o       os_solaris.o dev_legacy.o     
g++ -DHAVE_CONFIG_H -I.   -DBUILD_INFO='"(local build)"'  -DSMARTMONTOOLS_SYSCONFDIR='"/etc"'  -DSMARTMONTOOLS_SMARTDSCRIPTDIR='"/etc"'  -DSMARTMONTOOLS_DRIVEDBDIR='"/usr/share/smartmontools"'         -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong -MT smartd.o -MD -MP -MF .deps/smartd.Tpo -c -o smartd.o smartd.cpp
mv -f .deps/smartd.Tpo .deps/smartd.Po
g++  -g -O2 -Wall -W -Wformat=2 -fstack-protector-strong    -o smartd smartd.o atacmdnames.o  atacmds.o dev_ata_cmd_set.o  dev_intelliprop.o dev_interface.o  dev_jmb39x_raid.o knowndrives.o  nvmecmds.o scsicmds.o scsiata.o  scsinvme.o utility.o      os_solaris.o dev_legacy.o       
/bin/sh ./config.status --file=update-smart-drivedb
config.status: creating update-smart-drivedb
chmod +x update-smart-drivedb
/bin/sh ./config.status --file=smartd_warning.sh
config.status: creating smartd_warning.sh
chmod +x smartd_warning.sh
 $(MAN_FILTER) < ./smartd.conf.5.in > smartd.conf.5
 $(SOLARIS_MAN_FILTER) < smartd.conf.5 > smartd.conf.4
 $(MAN_FILTER) < ./smartctl.8.in > smartctl.8
 $(SOLARIS_MAN_FILTER) < smartctl.8 > smartctl.1m
 $(MAN_FILTER) < ./smartd.8.in > smartd.8
 $(SOLARIS_MAN_FILTER) < smartd.8 > smartd.1m
 $(MAN_FILTER) < ./update-smart-drivedb.8.in > update-smart-drivedb.8
 $(SOLARIS_MAN_FILTER) < update-smart-drivedb.8 > update-smart-drivedb.1m
 /usr/bin/gmkdir -p '/usr/sbin'
  /usr/bin/ginstall -c smartctl smartd '/usr/sbin'
 /usr/bin/gmkdir -p '/usr/sbin'
 /usr/bin/ginstall -c update-smart-drivedb '/usr/sbin'
/usr/bin/gmkdir -p '/etc'
 /usr/bin/ginstall -c -m 644 './smartd.conf' '/etc/smartd.conf'
 /usr/bin/gmkdir -p '/etc/smartd_warning.d'
 /usr/bin/gmkdir -p '/usr/share/doc/smartmontools'
 /usr/bin/ginstall -c -m 644 AUTHORS ChangeLog ChangeLog-6.0-7.0 COPYING INSTALL NEWS README TODO smartd.conf '/usr/share/doc/smartmontools'
 /usr/bin/gmkdir -p '/usr/share/smartmontools'
 /usr/bin/ginstall -c -m 644 drivedb.h '/usr/share/smartmontools'
 /usr/bin/gmkdir -p '/usr/share/doc/smartmontools/examplescripts'
 /usr/bin/ginstall -c -m 644 examplescripts/README '/usr/share/doc/smartmontools/examplescripts'
 /usr/bin/gmkdir -p '/usr/share/doc/smartmontools/examplescripts'
 /usr/bin/ginstall -c examplescripts/Example1 examplescripts/Example2 examplescripts/Example3 examplescripts/Example4 examplescripts/Example5 examplescripts/Example6 examplescripts/Example7 examplescripts/Example8 '/usr/share/doc/smartmontools/examplescripts'
/usr/bin/gmkdir -p '/usr/share/man/man4'
/usr/bin/gmkdir -p '/usr/share/man/man1m'
for i in smartd.conf.4 smartctl.1m smartd.1m  update-smart-drivedb.1m; do \
  if test -f ./$i; then file=./$i; \
  else file=$i; fi; \
  ext=`echo $i | sed -e 's/^.*\\.//'`; \
  inst=`echo $i | sed -e 's/\\.[0-9a-z]*$//'`; \
  inst=`echo $inst | sed -e 's/^.*\///'`; \
  inst=`echo $inst | sed 's,x,x,'`.$ext; \
  echo " /usr/bin/ginstall -c -m 644 '$file' '/usr/share/man/man$ext/$inst'"; \
  /usr/bin/ginstall -c -m 644 "$file" "/usr/share/man/man$ext/$inst"; \
done
 /usr/bin/ginstall -c -m 644 './smartd.conf.4' '/usr/share/man/man4/smartd.conf.4'
 /usr/bin/ginstall -c -m 644 './smartctl.1m' '/usr/share/man/man1m/smartctl.1m'
 /usr/bin/ginstall -c -m 644 './smartd.1m' '/usr/share/man/man1m/smartd.1m'
 /usr/bin/ginstall -c -m 644 './update-smart-drivedb.1m' '/usr/share/man/man1m/update-smart-drivedb.1m'
 /usr/bin/gmkdir -p '/etc'
 /usr/bin/ginstall -c smartd_warning.sh '/etc'
test -z "smartd.8 smartd.1m smartd.8.html smartd.8.html.tmp  smartd.8.pdf smartd.8.txt smartctl.8 smartctl.1m  smartctl.8.html smartctl.8.html.tmp smartctl.8.pdf  smartctl.8.txt smartd.conf.5 smartd.conf.4 smartd.conf.5.html  smartd.conf.5.html.tmp smartd.conf.5.pdf smartd.conf.5.txt  smartd.initd smartd.cygwin.initd smartd.freebsd.initd  smartd.service smartd_warning.sh svnversion.h  update-smart-drivedb update-smart-drivedb.8  update-smart-drivedb.1m update-smart-drivedb.8.html  update-smart-drivedb.8.html.tmp update-smart-drivedb.8.pdf  update-smart-drivedb.8.txt SMART " || rm -f smartd.8 smartd.1m smartd.8.html smartd.8.html.tmp  smartd.8.pdf smartd.8.txt smartctl.8 smartctl.1m  smartctl.8.html smartctl.8.html.tmp smartctl.8.pdf  smartctl.8.txt smartd.conf.5 smartd.conf.4 smartd.conf.5.html  smartd.conf.5.html.tmp smartd.conf.5.pdf smartd.conf.5.txt  smartd.initd smartd.cygwin.initd smartd.freebsd.initd  smartd.service smartd_warning.sh svnversion.h  update-smart-drivedb update-smart-drivedb.8  update-smart-drivedb.1m update-smart-drivedb.8.html  update-smart-drivedb.8.html.tmp update-smart-drivedb.8.pdf  update-smart-drivedb.8.txt SMART
test -z "smartctl smartd" || rm -f smartctl smartd
rm -f *.o
touch: cannot create /var/web-gui/_log/smartmontools7.1.ok: No such file or directory
Kritisch?
Install läuft weiter durch, das hat sie davor mit Routingproblemen und nem Sack fehlender Pakete aber auch schon gemacht. Das Skript scheint das nicht groß zu prüfen.
 
Das
Kritisch?
Install läuft weiter durch, das hat sie davor mit Routingproblemen und nem Sack fehlender Pakete aber auch schon gemacht. Das Skript scheint das nicht groß zu prüfen.

Das Script kompiliert das jeweils neueste Smartmontools, prüft aber das Ergebnis nicht weiter. Eventuelle Fehlermeldungen zeigt der Kompilerlauf neben seiner allgemeinen "Geschwätzigkeit".

Läuft Smartmontools denn (Programm "smartctl")?

ps
Bei Solaris ist es "normal" dass bei jedem Aufruf der iostat Error Zähler um eins hochzählt.

Beitrag automatisch zusammengeführt:

Hast Du einmal die Kernel Parameter angepasst?

Da kann man endlos optimieren mit oft minimalen Auswirkungen.

Normalerweise sind die Default Werte aber sehr gut optimiert.
Üblicherweise erhöhe ich allenfalls die tcp und nfs Puffer bei 10G
 
Zuletzt bearbeitet:
Daten kommen raus, aber derzeit nicht in der Übersicht an. Die gelisteten Aufrufe sehen aus wie üblich. Disks sind bis auf die des rpools noch keine drin.
Mit der 19.12b14 kommen die auch an und der Codierfehler bei °C ist behoben. Vielleicht verlässt die ja eines Tages die Betaphase und wird direkt statt der 18.12 ausgeliefert :)
 
v18 ist die aktuell freie Basis-Version, auch für kommerzielle Nutzung
v19 ist ein freies Update für nichtkommerzielle Nutzung

a,b,c sind größere Anpassungen, Bugfixes oder Rückportierungen z.B. Unterstützung neuerer OS Versionen oder wichtiger ZFS Features, hat nichts mit b=beta zu tun; b14 ist eine Mini-Fehlerbehebung gegenüber b13 (Behebung eines kleinen Problems von OmniOS 151036f gegenüber dem vorherigen 151036, das ist aber auch in der jeweils neuesten Version 18 und 20 pro enthalten).
 
Mal angenommen man hat einen Gen10+ Microserver wo die 4 HDDs Trays schon mit HDD besetzt sind und man sich den einen PCIe Steckplatz auch für ne 10Gbit Ethernet Karte freihalten will und will nun noch 2 SSDs betreiben im Mirror über die beiden USB3.2 (10Gbit) Anschlüsse.
USB ist ja nicht ideal aber was wäre in dem Fall das beste? SATA SSDs mit entsprechendem Converter/Gehäuse auf USB3.2. Oder doch lieber von USB auf M.2 SSDs gehen?
Also die Frage ist im Grunde lieber USB=>NVMe oder USB=>SATA.
Und wenns um Zuverlässigkeit geht sollte man dann eher SSDs oder HDD an USB betreiben oder spielt das unter dem Aspekt keine Rolle?
 
Man nutzt einfach keine USB Devices für ernstzunehmende Storage-Loesungen.
Daher wuerde ich mich damit abfinden dass nicht mehr Platten rein koennen.

Maximalst als Backup dranklemmen, jedoch nicht als dauerhafte Loesung.
 
Beides Schrott. Du hast den falschen Server fuer dein Vorhaben.
 
@CommanderBond
Bei 2.5er Datenträgern hätte ich vor 2 Jahren noch SSD gesagt, aber das höher-schneller-weiter führt bei SSDs zu immer höheren Leistungsverbräuchen und je nach USB-Generation stehen nur 2.5W (2.0) bzw 4.5W (3.0) zur Verfügung. Wenn du noch ne 2.5er HDD rumliegen hast, dürfte die beim Schreiben im Bereich zwischen 1 bis 2W liegen.
Mit USB-C stehen 15W zur Verfügung. Damit läßt sich natürlich schon einiges mehr anfangen, aber auf der anderen Seite müßten die nachher auch abgeführt werden. Beispielsweise kämpfe ich seit längerem mit diversen USB-Sticks, die man trotz minimaler Zugriffe nicht mehr längere Zeit angesteckt lassen kann oder die sich beim Draufschreiben dann so stark erwärmen, daß das OS den Zugriff verliert.
Du hast ja oben mit Verschlüsselung eher schwächere Werte kommuniziert. Den Einsatz von 10GE würde ich daher abhaken und einen zusätzlichen Controller reinpacken oder ist die Überlegung bereits erledigt?
 
Entspannte und schöne Feiertage euch allen.

Ich möchte nochmal auf das Thema Performance von ZFS in Verbindung mit Dataset-Verschlüsselung zurück kommen (siehe Beitrag #11.244 bis #11.249)

Ich hab mittlerweile meine Napp-IT-Installation in Betrieb genommen und mittlerweile alle Daten drauf. Auf diesem Pool liegt aktuell ein Dataset, welches mit AES 256 GCM verschlüsselt ist.

Ich hatte das Raidz2 mit fünf echten und zwei virtuellen Platten erstellt, dann die zwei virtuellen abgehängt und den Pool degraded angefangen zu befüllen. Als die erste Platte auf den Pool verschoben war, hab ich die virtuelle Platte über disk replace gegen eine echte Platte ersetzt, späte dann auch die zweite. Das resilvering ist jeweils mit voller Schreibleistung der ersetzten Platte durchgelaufen, was laut den Angaben von 3,13TB in 8h 37min 40s im Schnitt 105MB/s Schreibleistung bedeutet (währenddessen war keine Last auf dem Pool), was in etwa in der Region liegt, was die Platte unter optimalen Voraussetzungen linear wegschreiben kann.

1608920503872.png



Schreibleistung des Pools:
Da ich mein 10Gb-Netz noch nicht in Betrieb habe, wurden alle Daten in den letzten Tagen über eine 1Gb-Verbindung auf den Pool geschoben. Das hat zwar gedauert, aber die Schreibrate lag konstant bei annähernd 100% Netzauslastung (also stets bei mindestens 100MB/s, in der regel eher so bei 110-120MB/s). Auch wenn ich die Performance mit zukünftigem 10G-Netz noch nicht kenne, war das erstmal die zu erwartende Schreibgeschwindigkeit trotz aktiver Dataset-Verschlüsselung.

Da ich während dem Upload keine Echtzeitgraphen beobachtet habe, kann ich an dieser Stelle nur die Graphen des Langzeitmonitors einstellen:

1608921785868.png


Was die Leserate des Pools angeht muss ich leider sagen: Da hätte ich bei linearem Lesezugriff mehr erwartet. Ich lasse oft hinterher gerne nochmal FreeFileSync über die Quelle und das Ziel laufen, um die Dateien nach Inhalt zu vergleichen. Im Schnitt liefert Napp-IT leider nur 50-60MB/s vom oben dargestellten Raidz2, wenn ich recht große Multimediadateien, sprich einen linearen Datenstrom lese. Am Rechner, den ich zum Vergleich nutze liegt es nicht, der ist performant genug und schafft es ja auch, die Daten mit konstant 1Gbit auf das NAS zu schieben.

Napp-IT zeigt während dem Dateivergleich folgende Auslastungen:

IO / Netzwerk / Caches etc. :

1608921562832.png


Allgemeine Systemauslastung während des Lesezugriffs:

1608921671019.png


Verwunderlich ist, dass die Schreibgeschwindigkeit / Verschlüsselung der Daten scheinbar genausoviel Leistung beansprucht wie die Lesegeschwindigkeit / Entschlüsselung, dabei aber völlig unterschiedliche Datenraten möglich sind.

Warum kann ich mit min. 1Gbit/s verschlüsselt schreiben, aber mit gerademal ~400-500MBit/s verschlüsselt lesen? Ich hätte angenommen, dass die Leserate bei einem Raidz2 im Optimalfall bei etwa dem fünfachen einer einzigen Platte sein kann?

Hier noch zwei Benchmarks von diesem Pool. Ist der Wert ohne Verschlüsselung realistisch ?

Anmerkungen:
- Pool ist zum Benchzeitpunkt mit Livedaten befüllt:
1608923676955.png

- Keine Last während der Benchmark auf den Pools

Einmal ohne Encryption:
1608922849362.png


Einmal mit Encryption:
1608922960002.png



@gea : In der OpenZFS Mailingliste habe ich einen Thread zum Thema erstellt - jedoch noch keine Reaktion erhalten.
 
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