[Sammelthread] ZFS Stammtisch

LZ4 und Grub:
- das aktuelle OmniOS kann mit lz4 booten
ReleaseNotes

LZ4 und Cache
ZFS ist ja deshalb so schnell beim Lesen, weil es vieles im RAM-Arc Cache hält. Wird etwas da nicht gefunden, wird im 10x langsameren L2Arc (SSD) gesucht. Ist es da auch nicht, dann halt von Platte. Die ist nochmal 10x langsamer.

Ist der zu lesende Block im L2Arc, wird er von da gelesen. Aus Sicht der CPU ist das richtig lahm. Je weniger Daten gelesen oder geschrieben werden müssen, desto schneller. LZ4 im Cache ist also sehr sinnvoll. Es ist ja die effektive Leseperformance.

Platz auf rpool
85% voll ist nie sonderlich gut aber noch kein Problem. Gibt es denn BEs oder Installationsdateien in /root zum Löschen?

Die HP sind sicher ok (können warm werden, kühlen)

ps
Mirror mit Raid-0 ist Raid-10, davon kann man nicht booten.
Als Backup - Reserveplatte aus einem Boot-Mirror kann man die aber nutzen
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Als Alternative Zu NexentaStor CE würde ich OmniOS empfehlen. Im Gegensatz zu NexentaStor CE darf das kommerziell genutzt werden und es gibt keine 18 TB Raw Grenze. Man kann es ebenfalls als appliance mit Web-UI oder pur per CLI bedienen.

Im Gegensatz zu OI wird es erheblich besser gepflegt - es ist auch aktueller. So gibt es jetzt die dritte Stable, Fehlerbehebungen und alle zwei Wochen eine neie Zwischenversion. Ansonsten ist Omni extrem ähnlich zu OI server-edition. Bei Bedarf gibt es kommerziellen Support.

Beim ZFS Poolaufbau kann man ganz klar zu Multiple-Raid-Z2 für einen Fileserver raten. Als schnellen Datastore für ESXi würde ich allerdings immer viele Mirrors oder SSD only Pools bevorzugen, auch wenns teurer wird. Raid-Z Pools aus großen "green" Platten sind immer schlecht wenns um I/O geht. Ich würde eigentlich statt einem faulen Kompromiß zu einem schnelleren (Raid-10 datastore, eventuell SSD Pool) und einem langsameren (Raid-Z Fileserver) Pool raten. Die Samsung ist für Arc gut, als ZIL ist sie aber weniger geeignet (kein Puffer-Kondensator und nicht wirklich schnell für ein ZIL).


Hallo gea,
danke schonmal für die Infos.
Werde mal schauen wie ich es jetzt machen werde...

Was bringt mir vermutlich mehr, die SSD trotzdem als L2ARC nutzen oder eher ein Pool draus bauen?
Sind L2ARC und ZIL immer zwingend nur für ein Pool oder kann man diese auch poolübergreifend nutzen? Wenn es übergreifend geht bin ich am überlegen noch 2 oder 3 Intels zu kaufen.
 
Hallo Gea,

bestätigt, wird gefixt

danke, ich habe da aber noch einen ;-)
- Seit Update auf 0.9 kommen von alten Jobs keine Statusmails mehr durch. Die Adressen lauten jetzt fehlerhafterweise "millenniumpilot\@", keine Ahnung wo der Backslash plötzlich herkommt. Steht so unter opt2/to und kommt auch so beim Mailserver an. Neu erstellte Mailjobs sind OK, ist also wohl ein "Migrationsproblem" beim Update.
 
entschuldige Gea, mein Fehler. Ich habe beim Sprung auf die 0.9c1 nicht 9 Revisionen zurückgeblättert, bzw. nicht alle einzeln gelesen. Was interessieren mich alte Bugs ;-)
 
entschuldige Gea, mein Fehler. Ich habe beim Sprung auf die 0.9c1 nicht 9 Revisionen zurückgeblättert, bzw. nicht alle einzeln gelesen. Was interessieren mich alte Bugs ;-)

Keine Entschuldigung, ich habe ja das komlette Job-Handling bei 0.9 mal kurz komplett geändert.
Bis napp-it 0.8 habe ich alles mögliche ausprobiert. Mit 0.9 möchte ich jetzt unpraktisches entfernen und einen Feinschliff in napp-it hinbekommen um eine saubere 1.0 zu erhalten. Sun Solaris/Oracle/Illumos/ und ZFS ist geniales Storage, bietet aber so unendlich viele Optionen.
 
Zuletzt bearbeitet:
sinnfrei und doch interessant

Dedup mit /dev/random

https://blogs.oracle.com/scottdickson/entry/sillyt_zfs_dedup_experiment

Jetzt weiß ich wie das funktioniert.

Weitere Tests:
Code:
# zpool create test als Datenquelle
#
zpool create -O sync=disabled -O atime=off test c0t5000C50041AC279Fd0 c0t5000C50041AC31C3d0 c0t5000C50041AC3D77d0 c0t5000C50041AC1C0Bd0 c0t5000C50041AC1A5Fd0 c0t5000C50041AC0F3Bd0

# 8 Dateien die jeweils als 1 Block gespeichert werden können
# 
dd if=/dev/random bs=1024 count=128 of=/test/b1
dd if=/dev/random bs=1024 count=128 of=/test/b2
dd if=/dev/random bs=1024 count=128 of=/test/b3
dd if=/dev/random bs=1024 count=128 of=/test/b4
dd if=/dev/random bs=1024 count=128 of=/test/b5
dd if=/dev/random bs=1024 count=128 of=/test/b6
dd if=/dev/random bs=1024 count=128 of=/test/b7
dd if=/dev/random bs=1024 count=128 of=/test/b8

cd /test/

# 8 Blöcke aus 8 unique pattern 
cat b1 b2 b3 b4 b5 b6 b7 b8 > f1

# 64 Blöcke aus 8 unique pattern 
cat f1 f1 f1 f1 f1 f1 f1 f1 > f2

# 512 Blöcke aus 8 unique pattern 
cat f2 f2 f2 f2 f2 f2 f2 f2 > f3

# 4096 Blöcke aus 8 unique pattern 
cat f3 f3 f3 f3 f3 f3 f3 f3 > f4

# 32768 Blöcke aus 8 unique pattern 
cat f4 f4 f4 f4 f4 f4 f4 f4 > f5

# 262144 Blöcke aus 8 unique pattern 
cat f5 f5 f5 f5 f5 f5 f5 f5 > f6

# 2097152 Blöcke aus 8 unique pattern 
cat f6 f6 f6 f6 f6 f6 f6 f6 > f7

# ls --block-size=128k -l

# zpool create warmup - für cache füllen, festplatte auf Touren bringen
zpool create -O sync=disabled warmup mirror c0t5000C50041ABF6A7d0 c0t5000C50041ABF84Fd0

# zpool create dedup
zpool create -O dedup=on dedup mirror c0t5000C50041AACD77d0 c0t5000C50041AADDCFd0

# zpool create default 
zpool create default mirror c0t5000C50041ABDFBFd0 c0t5000C50041ABE86Fd0

Die in "https://blogs.oracle.com/scottdickson/entry/sillyt_zfs_dedup_experiment" beschriebenen Dateien habe ich in Pool test erstellt und mit folgende Script:
Code:
for POOL in warmup default dedup
do
        echo "**************************************************"
        echo "Pool $POOL:"
        echo "* Lesen der Dateien und schreiben auf Pool: $POOL"
        echo ""

        for i in {1..8}
        do
                echo ">>>>"
                echo ""
                echo "dd if=/test/b$i of=/$POOL/b$i bs=128k"
                dd if=/test/b$i of=/$POOL/b$i bs=128k
        done

        for i in {1..7}
        do
                echo ">>>>"
                echo ""
                echo "dd if=/test/f$i of=/$POOL/f$i bs=128k"
                dd if=/test/f$i of=/$POOL/f$i bs=128k
        done
done

in die erstellten Pools: warmup, default und dedup kopiert.

Abgesehen von langweiligen Werten wie z.B. Schreibperformance konnte ich ein interessante Festststellung machen:
Code:
root@otarget:~# zdb -S default
Simulated DDT histogram:

bucket              allocated                       referenced
______   ______________________________   ______________________________
refcnt   blocks   LSIZE   PSIZE   DSIZE   blocks   LSIZE   PSIZE   DSIZE
------   ------   -----   -----   -----   ------   -----   -----   -----
  256K        8      1M      1M      1M    2.29M    293G    293G    293G
 Total        8      1M      1M      1M    2.29M    293G    293G    293G

dedup = 299594.00, compress = 1.00, copies = 1.00, dedup * compress / copies = 299594.00

Die Simulation lieferte exakte Ergebnisse hier(bearbeitet: in diesem Fall jedenfalls). Für jemanden der mit dem Gedanken "Dedup" liebäugelt vieleicht interessant zu wissen.

Was noch zu erwähnen ist - allerdings nicht relevant, da solche Files in einem realen working set nicht vorhanden sind - ist folgende Tatsache:
Lesende Zugriffe auf ein File der Größe 256Gbyte werden vom meinen System(64Gbyte RAM) aus dem ARC bedient:
Code:
root@otarget:/test# dd if=/dedup/f7 of=/dev/null bs=128k
2097152+0 records in
2097152+0 records out
274877906944 bytes (275 GB) copied, 74,5025 s, 3,7 GB/s

Andererseits kann man daraus den Schluss ziehen das ein working set mit dedup(trotz RAM Nutzung für Dedup selber) ab einer Dedup ratio n weniger ARC Speicher belegt oder anders gesagt mehr Files im ARC gehalten werden können.

Gibt es eine Möglichkeit die Dedup ratio der derzeitig im ARC gehaltenen Blöcke zu ermitteln?

Habe ich eine Dedup ratio 100, vielleicht erreichbar durch n-Installationen von Linux-Distribution X in ein Pool, stellt sich immer noch die Frage:
1 Terrabyte Platz im Pool sparen oder den ARC Speicher nicht verkleinern?

Gibt es eine Möglichkeit den "verwendeten RAM für Dedup von Pool X" zu ermitteln?
 
Zuletzt bearbeitet:
ja, gibt es:

zdb -DD poolname
bzw
zdb -S poolname
sind deine Freunde.
Meiner Erfahrung nach sind die erreichbaren Dedup-Raten weitaus schlechter als vermutet, das liegt u.a. an der Tatsache, das Dedup nur bei identischen Blöcken, die im Alignment auch gleich ausgerichtet sind, funktioniert.

cu
 
Weiß zufällig jemand, ob man ZFS Volumes unter NAS4Free via AFP sharen kann? Oder bleibt nur die iSCSI Variante?
 
Erstkontakt mit ZFS / nappit.
Kleines Problemchen: bei "Localization" steck ich in einer Endlosschleife fest, es kommt nur "Town not valid, reload" - wie bieg ich das hin?
meinen AD kann ich auch noch nicht beitreten, aber das ist erstmal nebensächlich.

Ist ein napp-it-to-go fürn N36L.
Onboard-Controller mit 4 WD Black 1 TB
 
ich hab GMT oder GMT+1 eingegeben, dann OK. Seitdem Dauerschleife

E: habs geschafft.
/etc/Default/init bearbeitet
auf Europe/Berlin
 
Zuletzt bearbeitet:
Hi Patric_,

ich verstehe das ganze jetzt noch nicht so ganz:
Ist das während der Installation des OS oder meinst Du Napp-It->My menus ?
Vielleicht Berlin statt GMT+1 eingeben. (Berlin = GMT+1.)
 
Eingestellt wird das im Menü
System >> HW and Localization >> Localization

GMT sollte nicht gehen (wird nicht akzeptiert), aber Europe + Berlin sollte funktionieren
 
Hallo Gea,

ich könnt schwöööören, ich kenne die Meldung auch : "Localization" ...."Town not valid, reload"" ;-)
Ich kann dabei nicht einmal einen Ort auswählen, gleich beim Anklicken von "Localization" erscheint diese Meldung. Abbruch der Schleife allein durch Anwahl eines anderen Menüs in Nappit möglich.
 
im webmenü von Napp-it wollte ich unter System > HW and Localization > Localization die Einstellungen machen.
Und ich weiss jetzt auch wies passiert ist.

Wähle ich eine andere Zeitzone, sollte er eigentlich unten die Städte anzeigen. Das geht nicht. Ich hab also GMT gewählt und zu schnell auf Ok geklickt und dann kam die Endlosschleife.
Jetzt hab ichs ja über die config-Datei umgestellt, wähle ich jetzt GMT oder GMT+0 (hab ja nur mal durchgetestet), aktualisiert er die Städte nicht, sagt nur "town not vaild" und läd das Formular neu mit den alten Werten. Da ich vorher zu schnell auf Ok bin, hat sichs verheddert ;)

E: milleniumpilot, editier mit vi einfach folgende Datei, Werte siehe Screenshot:
nappit.png
 
Zuletzt bearbeitet:
Hallo,

ich habe aktuell für Tests Solaris 11.1 in VMware Workstation (Version 8 latest) installiert und nutze napp-it 0.9 zum verwalten. Alles geht auch soweit wunderbar, kann echt alles nutzen ohne Probleme, nur wenn ich eine LU anlege (weil ich iSCSI nutzen möchte) und mappe, egal ob via Volume, oder File kommt dann unter Windows immer die Fehlermeldung wenn ich den Datenträger initalisieren möchte "Datenträger schreibgeschützt". Im Webgui steht natürlich nicht Schreibgeschützt, hab auch den Schreibcache an und aus gemacht (nur Testweise).

Und dann wenn ich Testweise mit Diskpart in Windows das iSCSI Volume anspreche kommt "...Datenträger out-of-date..." und bei Windows im Datenträgerverwaltung noch "I/O Error" etc. sieht ja erstmal so aus, als wäre irgend etwas defekt bei meiner VMDK oder dem Hostsystem. Aber bei meinem System ist eine SSD (Crucial M4) kerngesund, keinerlei SMART Werte die schlecht sind etc. und auch sonst kann ich via Openfiler (auch in VMware Workstation installiert) mit meinem iSCSI Target ohne Probleme bei dem selben System in Windows einbinden, ist ja ein totaler Widerspruch. Auch Windiws erkennt ja Comstart iSCSI Disk usw., denn bei meinem richtigen Hardware ZFS Homeserver geht das ja auch wunderbar.

Habe schon die VMDKs gelöscht und neu angelgt, ZFS Pools zerstört und neu angelegt, habe sogar Testweise iSCSI via CLI eingestellt, das selbe Ergebniss, bin mit meinem Latein so ziemlich am Ende :/ Irgend eine Idee was ich noch machen könnte?
 
Danke für die Info gea, hab schon fast an mir selbst gezweifelt :/ Stimmt ich hatte die Tests noch mit Solaris 11.0 gemacht, da lief alles noch. Schade...
 
Würde gern ZFS einsetzen für meinen Microserver. Welches Betriebsystem da bin ich mir noch nicht so ganz sicher. Habe eine generelle Frage: Ist es sinnvoll das ganze in einer VM mit Exsi laufen zu lassen?

Man müsste dann so wie ich das verstanden hab allerdings virtuelle Festplatten anlegen auf die ZFS dann zugriff hat. Woanders habe ich aber mal gelesen dass ZFS besser direkten Zugriff auf die Hardware, also die Festplatten haben sollte.

Also lieber das OS direkt auf den Server installieren oder in einer VM? Leider unterstützt meine Hardware das durchreichen des Speichercontrollers nicht
 
Solange du nicht virtualisieren willst immer direkt das OS auf dem Host installieren, ohne Bare Metal Hypervisor ala ESXi. Beim HP Mircoserver, sollte da auch die höchst mögliche Leistung möglich sein. Als OS würde sich aktuell OmniOS anbieten (hat z.B. ein nette neue Komprimierung), mit napp-it leicht per Web GUI verwaltbar.

Ansonsten auf FreeBSD 9.1 Basis, NAS4Free (stabiler Nachfolger von FreeNAS 7), ZFSGuru (noch beta, aber sonst sehr nett).

Gibt zwar auch für Linux ZFS, aber da bin ich nicht der Experte, soll aber auch gut laufen und AES Verschlüsselung, sollte mit die höchste Perfomance bieten, laut einiger User.
 
Zuletzt bearbeitet:
Gibt zwar auch für Linux ZFS, aber da bin ich nicht der Experte, soll aber auch gut laufen und AES Verschlüsselung, sollte mit die höchste Perfomance bieten, laut einiger User.

Ja, ich teste gerade eine Box auf Basis AM3+ mit nem Opteron 3350HE.
Der kann ECC und AES-NI (können auch die FX CPUs nur höhere TDP) und (fast) alle ASUS AM3+ boards supporten das ECC RAM.

Rennt auf einem Ubuntu 12.04.2 Server mit 4x 2GB ECC-UDMM DDR3-1333 wie der Teufel.
Mit einem raidz2 (7x 2TB Disks, WD-EARS. HGST, WD-EARX an einem M1015/9211-8i) komme ich mit dd auf >250MBytes/sec schreiben und >450MBytes/sec lesen.
Im Moment beame ich meine backups mit rsync drauf und sehe konstant >90Mbyte/sec trotz des Realtek Controllers.

...leider gibt es sowas tolles wie napp-it oder ein FreeNas/Nas4Free GUI nicht fertig unter Ubuntu.
 
Hast du schon einmal Webmin probiert? Ist zwar nicht so toll, aber geht dafür ohne Probleme als WebGUI.
 
Solange du nicht virtualisieren willst immer direkt das OS auf dem Host installieren, ohne Bare Metal Hypervisor ala ESXi. Beim HP Mircoserver, sollte da auch die höchst mögliche Leistung möglich sein. Als OS würde sich aktuell OmniOS anbieten (hat z.B. ein nette neue Komprimierung), mit napp-it leicht per Web GUI verwaltbar.

Ansonsten auf FreeBSD 9.1 Basis, NAS4Free (stabiler Nachfolger von FreeNAS 7), ZFSGuru (noch beta, aber sonst sehr nett).

Gibt zwar auch für Linux ZFS, aber da bin ich nicht der Experte, soll aber auch gut laufen und AES Verschlüsselung, sollte mit die höchste Perfomance bieten, laut einiger User.

Eigentlich benötige ich zur Zeit nur nen NAS. Allerdings will ich mir die Option offen halten eventuell später zu erweitern und da gibt es ja für Linux doch mehr Software als für OmniOS, FreeBDS und Co.

Daher wäre virtualisieren eine Option. Oder halt wirklich ZFS mit Linux einsetzen. Was mir im Hinterkopf schwebt ist sowas wie ne private Cloud irgendwann auch mal. Da gibts aber nur Lösungen für Windows und Linux, das würde eher wieder gegen FreeBDS direkt auf dem System sprechen.
 
Nur so als Gedanke:
wenn du die 4 Platten (+1), die im Microserver Platz haben, an Omnios o.ä. durchreichst, hast du ein Problem, wenn du noch etwas virtualisieren willst.
Ok, Speicher per iSCI an Omnios, aber naja. eSATA wäre noch eine Option, oder halt die eine Platte im DVD-LW-Schacht. Ich persönlich halte da nicht so viel davon.
 
Zuletzt bearbeitet:
Ich denke er meint die Performance mit Verschlüsselung unter ZFS. Ansonsten finde ich meine ~ 120 MB/s out-of-the-box mit Solaris unter normalen Gigabit LAN ohne Jumboframes ziemlich stark ohne Anpassungen.
 
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