[Sammelthread] ZFS Stammtisch

Ich nutze es nur für die iscsi freigabe. Unter zvol ist die perfomance ganz ok. 100mb/s lesend und schreibend, bei wenn ich das als datei mache. Sinkt die perfomance auf 30-40mb/s.
Vielen dank für den Link. Werde das am we anschauen und testen.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich hab auf meinen Servern OmniOS auf einer 30Gb SSD installiert.
Jetzt geht mir der Platz auf dem Backupserver so langsam aus.

Was ich nicht verstehe ist, dass mein aio nur rund 9GB für rpool braucht, Datengrab 11GB und Backup 21GB.

Wo kann ich suchen und die runde 12GB Mehrverbrauch finden?
 
Gibt ne neue serviio Version. Wäre cool wenn der installer abgepasst würde

Das habe ich auch schon gesehen, jedoch ist es dieses Mal nicht mit einer einfachen Ersetzung der Versionsnummer im Script getan, da in den Releasenotes zu Version 1.5 steht:

"requires Java 8 to run (Linux)" und das gilt auch für OmniOS, welches in der Standardinstallation aber nur Java 7 bereit stellt. Das ist zunächst nicht wirklich ein großes Problem, da Java 8 ja auch manuell nachinstalliert werden kann. Das kann sicher auch ins Script integriert werden, aber es ist halt wieder mit mehr Zeitaufwand verbunden ein gut getestetes stabiles neues Script hinzustellen :)

Für ZFS? Serviio?

ja, siehe gea's Antwort. Dazu noch ein Hinweis, falls Du es installieren willst:

Damit Serviio Umlaute in Mediendateien erkennt, müssen in der Datei /opt/local/share/serviio/bin/serviio.sh folgende Zeilen einfügt werden:
LANG=de_DE.UTF-8;
export LANG;
 
Wird java8 nicht irgendwann automatisch geupdatet. Wenn Java7 dabei ist wird es doch sicher früher oder später ersetzt
 
Wird java8 nicht irgendwann automatisch geupdatet. Wenn Java7 dabei ist wird es doch sicher früher oder später ersetzt

Sicher, aber die nächste stable von OmniOS wird vermutlich erst im Mai kommen. Und 100% sicher wäre ich mir da auch nicht ob Java8 dabei ist, in der derzeitigen bloody von OmniOS steckt auch noch Java7.

Aber vermutlich habe ich das Script bis dahin so umgebaut, dass die Installation von Java8 dann integriert ist.
 
Java 7 gibt es das letzte Update im April danach wird es keine Sicherheitsupdates mehr geben stand heute aber man weiß ja nie wie viele Firmen sich dann bei Oracle beschweren :)
 
Serviio 1.5

OK, ich bin ja selbst neugierig, ob es einfach hinzukriegen ist. Was bei mir geklappt hat, ist folgendes Vorgehen um Serviio 1.5 zu installieren. Und probiert es bitte nur in einer Testumgebung aus:

EDIT: Wechselt vorher ins /root-Verzeichnis (cd ~)

(1) beadm create pre-java-8
(2) wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-solaris-x64.tar.gz"
(3) gzip -dc /root/jdk-8u31-solaris-x64.tar.gz | tar xf -
(4) mv /usr/java/ /usr/java.omnios.org
(5) mv /root/jdk1.8.0_31/ /usr/java
(6) wget -O - http://www.wp10455695.server-he.de/serviio15 | perl

Unter (6) findet sich quasi die neue Script-Version von serviio für den Fall, dass OmniOS bereits Java8 mitliefert. Da das derzeit nicht der Fall ist, vorher die Schritte (1)-(5).
 
Zuletzt bearbeitet:
Ich hab auf meinen Servern OmniOS auf einer 30Gb SSD installiert.
Jetzt geht mir der Platz auf dem Backupserver so langsam aus.

Was ich nicht verstehe ist, dass mein aio nur rund 9GB für rpool braucht, Datengrab 11GB und Backup 21GB.

Wo kann ich suchen und die runde 12GB Mehrverbrauch finden?

Sind eventuell Snapshots vorhanden?

zfs list -t snapshot

Das hatte ich auch schon vermutet, es ist aber so dass auf Backup-Server nur 26 repli-snaps und 11 beadm-snaps vorhanden ist.
Bei aio und Datengrab sind ein Vielfaches an Snaps vorhanden.

Jetzt weis ich nicht, ob ich die Replicate-Snapshots bedenkenlos löschen kann. Darf ich das?
 
OK, ich bin ja selbst neugierig, ob es einfach hinzukriegen ist. Was bei mir geklappt hat, ist folgendes Vorgehen um Serviio 1.5 zu installieren. Und probiert es bitte nur in einer Testumgebung aus:

EDIT: Wechselt vorher ins /root-Verzeichnis (cd ~)

(1) beadm create pre-java-8
(2) wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-solaris-x64.tar.gz"
(3) gzip -dc /root/jdk-8u31-solaris-x64.tar.gz | tar xf -
(4) mv /usr/java/ /usr/java.omnios.org
(5) mv /root/jdk1.8.0_31/ /usr/java
(6) wget -O - http://www.wp10455695.server-he.de/serviio15 | perl

Unter (6) findet sich quasi die neue Script-Version von serviio für den Fall, dass OmniOS bereits Java8 mitliefert. Da das derzeit nicht der Fall ist, vorher die Schritte (1)-(5).

Noch ein Nachtrag:
Im Log (siehe /opt/local/share/serviio/log/serviio.log) erscheinen zunächst Fehlermeldungen, dass "dcraw" und "ffmpeg" nicht gefunden werden.

Auf die Schnelle ist das wie folgt zu lösen:
(1) svcadm disable serviio
(2) Datei /opt/local/share/serviio/bin/serviio.sh editieren:
(3) Suche nach Zeile die mit "JAVA_OPTS=" beginnt
(4) In dieser Zeile zum Ende navigieren und die Parameter
(4a) "-Dffmpeg.location=ffmpeg" ändern in "-Dffmpeg.location=$SERVIIO_HOME/ffmpeg"
(4b) "-Ddcraw.location=dcraw" ändern in "-Ddcraw.location=$SERVIIO_HOME/dcraw"
EDIT: und speichern nicht vergessen :)
(5) svcadm enable serviio

Jetzt sollten die Fehlemeldungen im Log verschwunden sein.
 
Zuletzt bearbeitet:
Das hatte ich auch schon vermutet, es ist aber so dass auf Backup-Server nur 26 repli-snaps und 11 beadm-snaps vorhanden ist.
Bei aio und Datengrab sind ein Vielfaches an Snaps vorhanden.

Jetzt weis ich nicht, ob ich die Replicate-Snapshots bedenkenlos löschen kann. Darf ich das?

Ja, bis auf die zwei neuesten Replikationspaare (die auch auf dem Quellserver vorhanden sind).
Normalerweise sind das die zwei mit der höchsten laufenden Nummer.
 
Ja, bis auf die zwei neuesten Replikationspaare (die auch auf dem Quellserver vorhanden sind).
Normalerweise sind das die zwei mit der höchsten laufenden Nummer.

Dann hab ich ein Problem, denn auf dem Backup-Server sind von jedem Repli-Snap nur 2 Stück vorhanden.
Wo werden die Snaps denn im rpool gespeichert?
Wie könnte ich noch Platz schaffen?
 
Snapshots auf rpool sind beschreibbare clone und bootfähig. Sie unterscheiden sich daher von normalen Snaps auf Datenpools. Sie heissen daher auch Bootenvironment und werden mit "beadm" verwaltet.

siehe napp-it Menü Snapshots >> Bootenvironment

Ansonsten (rpool):
- Kontrollieren ob logs in /var/adm und /var/web-gui/_log zu groß sind
- letzte Installationsdateien in /root löschen (bringt aber nur ein paar MB)


Was mir nicht ganz klar ist, wo wird der Platz eigentlich knapp: auf rpool oder dem Datenpool?
Wieviel ist denn jeweils frei im Menü "Pools"?
 
@gea,
na der rpool, da wird der Platz knapp.

30GB SSD ergibt eine usable Size von 26GB und z.Zt. sind available 2,1GB. Der Datenpool hat noch 10T available.

Die Logs sind nicht sehr groß, die Grösste hat rund 76000b.
 
Wie kann man nicht wissen, wo der Platz ist?

Code:
zfs get -H -o value,name -p -r used | sort -n

o.ä. sollte doch grob einen Überblick vermitteln können.
 
Guten Tag,
was passiert eigentlich mit der ARC Tabelle, wenn ich den Server ausschalte. Und wird diese Tablette irgendwo zwischen gespeichert und falls ja, wo?

Wenn ich zB 32gb ram habe und die Arc Tabelle fast die gesamte Ram in Anspruch nimmt, wird diese beim ausschalten des Servers einfach gelöscht und bei nächstem start neu berechnet?

MFG
 
Also wird die ARC tabelle dann bei jedem start des systems neu berechnet? Auch für die Deduplication zwecken?
 
@gea L2Arc Persistence ist leider immer noch nicht drin im Repo...
@VivianMeally der ARC ist ein reiner Lesecache, der nach bestimmten Kriterien im Lauf der Zeit befüllt wird. Das gilt auch für Meta-Daten und damit auch für DDT.

cu
 
Hallo, ist es dem ZFS irgendwie möglich, dateien, die oft benötigt werden und allgemeines schreib cache auf die ssd's zu verlagern?
Ungefähr so, wie es bei Microsoft Storage realisiert ist?
 
@gea L2Arc Persistence ist leider immer noch nicht drin im Repo...
@VivianMeally der ARC ist ein reiner Lesecache, der nach bestimmten Kriterien im Lauf der Zeit befüllt wird. Das gilt auch für Meta-Daten und damit auch für DDT.

cu

1) Soweit ich weiss ist der Code für persisent l2arc soweit fertig aber es fehlt an "mutigen" testern bzw die es auch langfristig testen bevor es in den upstream kommt. Es gab mal (wenn ich mich nicht irre) vor nicht all zu langer Zeit eine Diskussion in der ZFS-Mailing-List darüber.

2) Der arc bzw l2arc Lese-cache dient doch nicht nur als reiner lese-cache sondern auch als prefetch-cache, oder? Also dass nicht nur eine Datei im Cache ist die schon einmal gelesen/geladen wurde (und dann beim wiederholten/zweiten Zugriff aus dem schnellen Lese-cache kommt), sondern auch schon während des Erstzugriffes auf Dateien erkennt ZFS das du zB alle Dateien aus einem Ordner kopierst und cached dann diese schon im vorhinein.
 
Zuletzt bearbeitet:
Hehe, eben ist mir in meinem Server eine HDD quasi abgenippelt, 13 reallocated Sectors... Die war mir performance technisch schon lange ein Dorn im Auge :fresse:
Nun werde ich morgen sehen wie sich ZFS mit ner neuen Platte verhält.
Ein einfaches zpool replace $HDD wirds wohl wieder richten oder?
 
1) Soweit ich weiss ist der Code für persisent l2arc soweit fertig aber es fehlt an "mutigen" testern bzw die es auch langfristig testen bevor es in den upstream kommt. Es gab mal (wenn ich mich nicht irre) vor nicht all zu langer Zeit eine Diskussion in der ZFS-Mailing-List darüber.

2) Der arc bzw l2arc Lese-cache dient doch nicht nur als reiner lese-cache sondern auch als prefetch-cache, oder? Also dass nicht nur eine Datei im Cache ist die schon einmal gelesen/geladen wurde (und dann beim wiederholten/zweiten Zugriff aus dem schnellen Lese-cache kommt), sondern auch schon während des Erstzugriffes auf Dateien erkennt ZFS das du zB alle Dateien aus einem Ordner kopierst und cached dann diese schon im vorhinein.

1, Der Code ist zwar fertig und es funktioniert ja auch (ich verwende das seit nem guten Jahr), aber wenn man das System nicht grade täglich neu startet bringts gar nicht so viel. Deswegen ist das Interesse der Devs nicht allzu groß und der Saso hat anderes um die Ohren.

2, Früher gab es mal vdev-prefetch, das ist aber global ausgeschaltet: https://www.illumos.org/issues/175
Was es weiterhin gibt ist zfs_prefetch, das betrifft aber erst mal den ARC und liest Beispielweise angefangene Files blockweise fertig. Dieser streaming workload geht normalerweise nicht in den L2arc, das kann man aber einschalten (l2arc_noprefetch). Der L2arc hilft aber viel mehr bei Random Zugriff und ist zu wertvoll für Sequentiell, das können die Platten auch alleine sehr gut.

Übrigens ganz wichtig: alleine die Header zur Verwaltung des L2Arc kosten ca. 3% Speicher, ergo 100GB auf ner SSD im L2Arc verbrauchen 3GB ARC. Also nicht übertreiben mit dem L2Arc und lieber 16GB Ram nachschieben als ne weitere SSD.
Das wurde übringens kürzlich halbiert: https://www.illumos.org/issues/5408
cu
 
Zuletzt bearbeitet:
Hat es denn da ältere Systemsnaps/ Bootenvironments die man löschen kann.

Wie kann man nicht wissen, wo der Platz ist?

Code:
zfs get -H -o value,name -p -r used | sort -n

o.ä. sollte doch grob einen Überblick vermitteln können.

Danke, für den Hinweis.
Hab jetzt einige Bootenvironments gelöscht und jetzt wieder ausreichend Platz im rpool.
 
So, hdd erfolgreich ersetzt. Hab jetzt 2x1tb als mirror laufen.
Vorher waren es 1x1tb und 1x 750gb.
Der pool is jetzt nur 750gb groß. Krieg ich den irgendwie auf die vollen 1tb ohne alles neu zu machen?
 
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