[Sammelthread] ZFS Stammtisch

@rayze: Der Befehl führt zu dem Fehler: property 'recordsize' is not a valid pool property


EDIT:
ein großes O statt kleinen hat den gewünschten Erfolg gebracht.

df -h zeigt mir dennoch "nur" 40T an. Also alles wie gehabt (auch bei recordsize von 512k)

EDIT2:
Das würde es wohl erklären, keine schöne Lösung aber immerhin eine Lösung:
So that's how the eliminated overhead presetnts itself. Since recordsize is a dataset property, not a pool property, the pool still shows itself as smaller, but for every 10GB for instance that I write to a dataset with 1M recordsize and compression enabled, the pool USED property only increases by about 9GB. So in the end I will be able to fit the amount of data that I would be able to fit had there been no allocation overhead like if I had used ashift=9.
Quelle: SirMaster comments on FreeNAS zpool size

EDIT3: Ich habe es mal nachgewiesen, schreibe ich mit
dd if=/dev/urandom of=sample.txt bs=1G count=10 (10GB File)
auf mein Pool mit recordsize=128K sehe ich mit df -h auch 10G

mit recordsize=1M zeigt mir df -h 9.5G an.

Habe ich eigentlich mit der Umstellung der recordsize irgendwelche Benachteiligungen oder Ähnliches?
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ein anderes recordsize ändert nichts an gespeicherten Daten sondern nur ist nur bei neuen Schreibvorgängen wirksam.
 
Der Tipp mit der Recordsize war sehr nützlich, vielen Dank. Sollte ich die recordsize bei anderen Dateitypen anpassen, also für Dokumente recordsize=128kiB, bei Media recordsize=1M oder generell bei einer bleiben?

Könnt ihr sonstige "tuning" Tipps geben für meine Konfiguration geben? Die tuning-guides geben einen meist nur mit, was gemacht werden könnte aber lässt einen dann etwas alleine, da ich nicht weiß ob das jetzt optimal gewählt wurde. Hier noch ein Überblick meiner aktuellen Konfig:

- CPU: E3-1225 v3
- 18GB RAM ECC
- 8x8TB, 512B (logische Sektorgröße), 4K (physische Sektorgröße), 5400U/min., Raidz2
- SSD Cache
- compression=lz4
- ashift=12
- AES 256 Encryption (AES-NI support)
- VM OS: FreeNAS 11.0-U4
- Wirtsystem: Proxmox


EDIT:
Habe mich momentan für folgende Tuning-Optionen entschieden:
- vfs.zfs.prefetch_disable=1
- zfs set recordsize=1M /dataset
- ashift=12
- LZ4
- vfs.zfs.arc_min=8589934592 --> mind. 8GiB RAM für ARC
- vfs.zfs.arc_max=18253611008 --> max. 17GiB RAM für ARC
- vfs.zfs.txg.timeout="5"
- zfs set atime=off

Quelle: ZFSTuningGuide - FreeBSD Wiki und Performance tuning - OpenZFS
Irgendwelche Einwände bis hier hin?

Den Parameter "vfs.zfs.write_limit_override" würde ich auch noch konfigurieren aber ich wüsste nicht genau auf welchen Wert.
# Set TXG write limit to a lower threshold. This helps "level out"
# the throughput rate (see "zpool iostat"). A value of 256MB works well
# for systems with 4 GB of RAM, while 1 GB works well for us w/ 8 GB on
# disks which have 64 MB cache. <<BR>>

??? Und was besagt das jetzt bei einem System mit 18GB RAM, wobei 17GiB mind. für ZFS vorbehalten sind?
 
Zuletzt bearbeitet:
Es auch gibt ein Video mit kurzer Demo vom OpenZFS Developer Summit: hier.

Ich werd zwar wg. Beruf nicht so schnell viel Zeit dafür haben, aber ich lad mir aktuell das Zeug nebst Dev-Umgebung runter.
Wenn ich das richtig sehe, ist das kompiliert lediglich ein zu ladender Treiber nebst Inf-File sowie den Binaries für zfs.exe und zpool.exe .
Ein Pool wird dann z.B. als Laufwerksbuchstabe gemountet.
 
Zuletzt bearbeitet:
Das wäre ja mal richtig knorke. Schaue ich mir vielleicht morgen mal näher an... :d

Nur blöd, dass man dann wahrscheinlich wieder auf so alten Pool-Versionen rumgondelt, wenn man die Kompatibilität zu Solaris haben will...

Na, schauen wir mal!
 
Die Frage scheint jetzt etwas doof zu sein: Aber wie genau installier ich Napp-It?
Hab mir gestern das Latest Stable ISO von OmniOSCE mit dem Tool von Gea auf einen USB Stick gepackt und habe das ganze installiert. Beim ersten Mal bin ich nach dem Reboot nur im Maintenance Mode gelandet. Keine Ahnung warum... Beim zweiten Mal hat es geklappt. Dann hab ich den wget-Befehl ausgeführt und es wurde was heruntergeladen. Aber wie gehts weiter? Hab danach wieder einen Reboot gemacht, aber ich komme nicht auf die WebGUI. Muss ich noch irgendwas machen? Muss ich mich erst in die Console einloggen oder sollte das nicht auch so schon gehen?
 
Nach dem wget-Install lässt sich normalerweise die WebGUI einfach über http://DEINEIP:81 aufrufen. Wichtig ist der Port 81 im Browser.

Ist denn die Kiste im Netz erreichbar, also funktioniert inbesondere ein Ping von OmniOS bspw. zu deinem Router?
 
Die 81 hatte ich am Ende. Die Kiste hat per DHCP auch eine Adresse bekommen.
Macht es Probleme, dass ich da momentan einen Share-IMPI Port habe? Laut Router hat die Kiste nämlich zwei IPs bekommen. Eine für die Fernwartung und eine für OmniOS.

Muss ich heute abend bzw. morgen früh nochmal schauen. Aber ich muss nicht erst das Boot Enviromental ändern, sondern das sollte der wget Aufruf alles machen?
 
eventuell die Partitionen z.B. mit parted/gparted löschen/ neu anlegen bzw die Platte mit einem Testtool des Herstellers testen.
Habe die Platten unter Linux mit gparted gelöscht und neu angelegt, dann werden auch wieder die vollen 3 TB angezeigt.
Wenn ich damit dann unter nappit (zur Erinnerung: ESXi->RDMP->napp-it) einen Pool erstelle, werden wieder nur ~750GB erkannt.
Habe schon einiges versucht, auch unter napp-it die Platten neu initialisiert, immer das gleiche Ergebnis. Unter linux, nativ und auch als VM im ESXi, kann ich die 3 TB voll nutzen.

Offensichtlich stimmt mit der Sektorengröße etwas nicht:

Output von parted unter Linux (ESXi->RDMP->Debian):
Sector size (logical/physical): 512B/4096B

Output von parted unter omnios (ESXi->RDMP->napp-it):
Sector size (logical/physical): 512B/512B
 
Also ich habe wohl nur ein Boot Enviromental mit dem Namen OmniOS.
Hab jetzt nochmal das wget gemacht und da schreibt er: Saving to: 'STDOUT' Gehört das so?

Wenn ich in der Console folgendes ausführe: "/etc/init.d/napp-it stop" dann kommt nur "not found"...

Edit: Muss ich mich als root einloggen? Ich hab beim Installieren einen neuen Benutzer angelegt und danach ein root PW vergeben. Ich logge mich aber immer als Benutzer ein. Oder muss ich vor das wget noch ein sudo schreiben?

Edit2: Jetzt als root eingeloogt, jetzt sieht das ganze schon anders aus. Jetzt wird auch etwas installiert^^
 
Zuletzt bearbeitet:
Jo - du musst das wget command als root ausführen. :)
 
Ja, das hab ich dann an einer anderen Stelle nochmal gefunden. Da stand explizit als root oder mit sudo. Das hab ich im PDF so nicht verstanden. Aber jetzt lüppt der Laden. Jetzt muss ich nur noch damit zurecht kommen^^
Noch eine kurze Frage zu den SMB Shares bzw. ACLs. Momentan sind die Extensions noch im Testmodus frei und bei der ACL Geschicht geht dann eine kleine Beschreibungsseite auf, wo was zu den User mappings steht. Die Commands, die da stehen, die gebe in in der Console ein oder kann ich die rechts oben auch in diesem Mini CMD Feld eingeben? Ich hab hier keine Domäne und brauche momentan auch nur zwei bzw. drei Benutzer. Auf einem PC einen Benutzer mit Leserechten und einen mit SchreibLeserechten und auf dem NB einen mit SchreibLeserechten. Allerdings sind die Benutzernamen auf PC und NB identisch. Nur der PC Benutzer mit SchreibLeserechten heisst anders. Bekommt man das hin?
 
Habe die Platten unter Linux mit gparted gelöscht und neu angelegt, dann werden auch wieder die vollen 3 TB angezeigt.
Wenn ich damit dann unter nappit (zur Erinnerung: ESXi->RDMP->napp-it) einen Pool erstelle, werden wieder nur ~750GB erkannt.

An dem gleichen Controller? Was für einer ist das?
 
Ja, das hab ich dann an einer anderen Stelle nochmal gefunden. Da stand explizit als root oder mit sudo. Das hab ich im PDF so nicht verstanden. Aber jetzt lüppt der Laden. Jetzt muss ich nur noch damit zurecht kommen^^
Noch eine kurze Frage zu den SMB Shares bzw. ACLs. Momentan sind die Extensions noch im Testmodus frei und bei der ACL Geschicht geht dann eine kleine Beschreibungsseite auf, wo was zu den User mappings steht. Die Commands, die da stehen, die gebe in in der Console ein oder kann ich die rechts oben auch in diesem Mini CMD Feld eingeben? Ich hab hier keine Domäne und brauche momentan auch nur zwei bzw. drei Benutzer. Auf einem PC einen Benutzer mit Leserechten und einen mit SchreibLeserechten und auf dem NB einen mit SchreibLeserechten. Allerdings sind die Benutzernamen auf PC und NB identisch. Nur der PC Benutzer mit SchreibLeserechten heisst anders. Bekommt man das hin?

Nicht vergessen:
Nach der Installation von napp-it einmal root Passwort neu setzen damit auch ein SMB Passwort angelegt wird!

Mit napp-it Free geht das ansonsten so:
- mit napp-it User anlegen und PW vergeben (Menü User)
Wenn man den gleichen Namen/PW wie bei Windows setzt geht das Verbinden direkt ohne weitere Passworteingabe

- Von Windows aus per SMB als root anmelden
und alle Rechte von Windows aus setzen (Solarish verhält sich Rechtemäßig wie ein Windows Server mit NTFS)

- ZFS Snaps als Windows Previous Version geht ohne weitere Einstellungen
 
@gea: funzt das auch mit diesen doofen Microsoft Online-Accounts? Also Username@emailadresse.de als User? Bin in ACL bzw. User-account-abhängige Berechtigungen noch nicht so tief eingestiegen...(um ehrlich zu sein, noch gar nicht). :d
 
Weiss nicht..
Ein zentraler Verzeichnisdienst geht nur wenn Solaris Mitglied einer Windows Domäne ist und dann mit den Domänenmitgliedern.

Man könnte aber versuchen einen lokalen User xx@yy.cc anzulegen.
Dazu muss man aber in Zeile 566 in /var/web-gui/data/napp-it/zfsos/_lib/illumos/userlib.pl den @ in lokalen Accounts erlauben

Muss dann so aussehen
$in{'text'}=~s/[^A-Za-z0-9\.\-\_\@ ]//g; # space erlaubt

Wer einen MS Online Account hat kann das ja testen
 
Danke! Werde ich die Tage mal machen... ist gerade nur so viel, was ich noch ausprobieren/machen muss. :(
 
Ich habe diese Änderung mal in die napp-it 17.07 dev übernommen.
 
Ich habe irgendwann nach der Installation von Napp-It in der Console "passwd root" oder so ähnlich gemacht und da nochmal das Root Passwort gesetzt, denke ich. Das war das, was du meinst oder?
Stimmt, ich kann, wenn ich das Netzlaufwerk anlege, ja den Usernamen usw angeben. D.h. das müsste ja dann so funktionieren. Die beiden Accounts mit dem gleichen Namen und PW sollten dann gleich gehen, wenn ich unter Napp-It den User mit PW anlege und den anderen Account dann auch. Dann einfach die Verbindung als root herstellen und über die Freigabeeigenschaften kann ich dann das Rechtemanagement machen. Richtig verstanden?

Jetzt nochmal eine Frage zum Poolimport. Ich habe einen Pool bzw. ein VDEV unter FreeNAS. Das würde ich gerne unter Napp-It wieder mounten und dann um ein weiteres VDEV ergänzen (später nochmal um eins). Das klappt ohne Probleme? Aber ich muss erst das schon benutzte Importieren und um ein leeres ergänzen oder geht es auch anders rum?
 
An dem gleichen Controller? Was für einer ist das?

Ja, am selben Controller. Ist der interne vom HP ProLiant MicroServer N54L, Chipsatz: AMD RS785E/SB820M.

Scheint wohl nicht napp-it (OmniOS) spezifisch zu sein, OpenIndiana erkennt die Platten (N54L->ESXi->RDMP->OpenIndiana) auch nicht richtig.

Wenn ich allerdings OpenIndiana direkt auf dem N54L boote, werden die Platten mit 3TB erkannt, muss also die Kombination ESXi/RDMP->Solaris* sein.
Habe als Workaround nun den ZFS Pool mit einer Live CD unter OpenIndiana angelegt, dann den ESXi gestartet und dort über RDMP die Platten in napp-it eingebunden, das geht.

Nur musste ich direkt eine Platte austauschen (alte HDD, pending sectors), die wurde aber wieder nicht richtig erkannt (cannot attach c2t1d0 to c2t3d0: device is too small). Habe vieles probiert (fdisk -B, format, parted, dd /dev/zero, ...) geht alles nicht.
Napp-it VM runter gefahren, Linux mit den RDMP Platten hoch, dort die neue HDD mit parted bearbeitet. Dann unter debian ZFS installiert und die Platte in den mirrored zpool eingebunden. Linux VM runter, napp-it VM hoch, pool OK. Ziemlich umständlich, aber geht.

Allerdings ist mir noch aufgefallen, dass die mit OpenIndiana erstellten Platten bei Sector 256 beginnen, wohingegen die eine mit Linux eingebunden Platte bei Sector 2048 beginnt. Ob das noch zu Problemen führt?
 
Ein LSI Logic 1048 z.B. kann keine Platten über 2TB, daher kann es an der Emulation liegen. Versuche doch auch hier den Paravirtual.
 
Ich habe mir mal wieder ein paar Tage Zeit genommen um ein paar (schnelle) Benchmarks zu fahren.

- Wie schlägt sich ein AiO Fileserver im Vergleich zu Barebone
- welchen Einfluß hat RAM auf die ZFS Performance (random/ sequential, read/write)
(2/4/8/16/24G RAM)
- wie skaliert ZFS über mehrere vdev
- Unterschied HD vs SSD vs NVMe vs Optane
- Slog SSd vs ZeusRAM vs NVMe vs Optane

aktueller Stand
http://napp-it.org/doc/downloads/optane_slog_pool_performane.pdf
 
Very interesting read!

Gibt es einen erkennbaren (vermuteten) Grund, warum gerade mit der Optane kein Passthrough möglich ist?

Bis ich das unter 4. gelesen habe, habe ich mich gefragt, warum eben in der AIO-Variante die nur als vdisk zum Einsatz kam. (Könntest Du vielleicht noch als Hinweis/Note / in fett unter 1.2 ergänzen. Nur eine Idee.)
 
Da pass-through mit Optane auch unter BSD nicht geht, muss man wohl auf VMware warten, siehe Solaris, Nexenta, OpenIndiana, and napp-it | ServeTheHome and ServeThe.Biz Forums

Hat mich aber inspriert Optane als vdisk auszuprobieren und ich war überrascht über die Performance. Das ermöglicht Optane als datastore für VMs, Slog und L2Arc gleichzeitig da Optane die parallele Last nicht so ausbremst.

Ist sogar so, dass manche Benchmarks mit vdisk schneller sind als mit barebone. Ob damit Sicherheitsbedenken mit sync write über den ESXi Treiber einhergehen kann ich noch nicht sagen.
 
In der Tat, fand ich bei einzelnen Benchmarks bemerkenswert, dass Virtualisierung flotter ist als bare metal. Kann ja dann nur durch Caching auf irgend einem Zwischenlayer sein oder schlechte(re) Treiber des OS für die reale
Hardware im Vergleich zu den virtuellen Devices.

Ausgeschlossen ist das m.E. nicht: wenn bei VMware sowohl die Treiber für die Hardware, das Visualisierungs-Layer als auch die Treiber für das Gast-OS (vmwaretools) aus einer Hand kommen, spricht nichts dagegen, dass das unter‘m Strich besser harmoniert als irgendein Standard-Treiber (z.B. für NVMe).

Aber auch nur Mutmaßungen.
 
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