Hallo,
dieser Thread soll sich rund um den FreeNAS 7.x Nachfolger, NAS4Free 9.x drehen.
ZFS unter NAS4Free läuft sehr träge und langsam? Ein paar Anpassungen sollten Hilfe bieten. Das meiste hab ich über die Jahre durch Foreneinträge, Guides und ausprobieren herrausgefunden. Jeder kann gerne seine Erfahrungen und Tipps hier mit niederschreiben, oder Anleitungen mit uns teilen, das hilft allen weiter.
Doch vorsicht, man kann auch schnell Fehler beim Tweaken machen, Backups sind wie immer Pflicht!
- Hinweise mit NAS4Free und ZFS:
Loggt euch als admin in das NAS4Free WebGUI ein. Zur allgemeinen Kontrolle schaut im Hauptmenü unter "
System" > "
Erweitert" nach das bei "
Feineinstellungen" ein Haken gesetzt ist, wenn nicht macht einen Haken, damit das Anpassen einiger Kernel-Variablen zugelassen wird und klickt auf "
Speichern".
Wenn ihr einen ZFS Pool anlegt, stellt bitte sicher das ihr beim anlegen "
Aktiviere Advanced Format (4K-Sektorgröße)" benutzt, da (fast) alle heutigen normalen SATA Festplatten mit Advanced Format ausgeliefert werden.
Zur Kontrolle nach dem anlegen könnt ihr im oberen Hauptmenü auf "
Erweitert" > "
Befehl" klicken und folgendes eingeben:
Und auf "
Ausführen" klicken. Wenn ihr als Ausgabe 9 bekommt, läuft euer ZFS Pool nicht mit dem 4K Alignment. Es muss der Wert 12 erscheinen.
- RAM/Cache für ZFS anpassen:
Loggt euch als admin in das NAS4Free WebGUI ein.
Klickt im oberen Hauptmenü auf "
Erweitert" > "
Dateieditor".
Gebt bei Dateifpad
/boot/loader.conf an (wenn ihr die Full Installation habt) und klickt auf "
laden".
Wenn ihr die Embedded Installation habt, dann muss der Pfad so lauten:
/cf/boot/loader.conf
Wichtig! Überschreibt
nicht die Standardwerte die vorhanden sind, sonst startet euer System
nicht mehr. Stellt auch vorher sicher das ihr die x64 (64bit) Version von NAS4Free einsetzt.
Nun könnt ihr die passenden Werte
hinzufügen per Kopieren & Einfügen.
Bei 4 GB RAM:
Code:
vm.kmem_size="3G"
vfs.zfs.arc_max="2560M"
vfs.zfs.arc_min="2560M"
vfs.zfs.txg.timeout="5"
vfs.zfs.txg.write_limit_override="268435456"
vfs.zfs.vdev.min_pending="2"
vfs.zfs.vdev.max_pending="10"
vfs.zfs.prefetch_disable="0"
Bei 8 GB RAM:
Code:
vm.kmem_size="7G"
vfs.zfs.arc_max="6144M"
vfs.zfs.arc_min="6144M"
vfs.zfs.txg.timeout="5"
vfs.zfs.txg.write_limit_override="805306368"
vfs.zfs.vdev.min_pending="2"
vfs.zfs.vdev.max_pending="10"
vfs.zfs.prefetch_disable="0"
Bei 16 GB RAM:
Code:
vm.kmem_size="15G"
vfs.zfs.arc_max="12288M"
vfs.zfs.arc_min="12288M"
vfs.zfs.txg.timeout="5"
vfs.zfs.txg.write_limit_override="1073741824"
vfs.zfs.vdev.min_pending="2"
vfs.zfs.vdev.max_pending="10"
vfs.zfs.prefetch_disable="0"
Hinweis: Alternativ könnt bitte auch folgende Einstellungen anpassen zu den oben genannten (gilt für alle normalen SATA Festplatten):
Code:
vfs.zfs.vdev.min_pending="1"
vfs.zfs.vdev.max_pending="1"
Das kann Leistungsvorteile bringen bezüglich NCQ im AHCI Modus.
Und das Writelimit wieder abschalten:
Code:
vfs.zfs.txg.write_limit_override="0"
Danach auf "speichern" klicken (ein Neustart zum übernehmen ist notwendig).
- Allgemeine Anpassungen für ZFS:
Im oberen Hauptmenü auf "
System" > "
Erweitert" > "
sysctl.conf" klicken.
Ihr scrollt ganz nach unten und klickt auf das "
Plussymbol" um einen neuen Wert hinzuzufügen.
Bei Name tragt ihr
kern.maxvnodes ein, bei Wert tragt ihr
250000 ein, bei Kommentar
kern.maxvnodes und ihr klickt auf "
hinzufügen".
Wichtig nun müsst ihr noch "
Änderungen übernehmen" klicken und auch hier einmal Neustarten um die Änderungen zu übernehmen.
Was auch noch ein wenig an Leistung bringt wären noch zwei ZFS Variablen (
Hinweis: die ZFS Kompression kann bei starken CPUs zu einer
Beschleunigung führen):
Zuerst schaut ihr im Hauptmenü wie euer ZFS Pool genau heisst. Unter "
Systeminformationen" bei dem Punkt "
Festplattenauslastung" seht ihr den korrekten Namen, notiert ihn euch. Bei mir heisst der ZFS Pool
TEST.
Ihr klickt im oberen Hauptmenü auf "
Erweitert" > "
Befehl".
Zuerst tragt ihr:
ein und drückt auf "
Ausführen". Wartet kurz. Danach tragt ihr:
Code:
zfs set compression=off TEST
bzw. bei starken CPUs:
Code:
zfs set compression=lzjb TEST
NEU: seit NAS4Free Version 9.2.x gibt es LZ4, damit kann man auch bei schwachen CPUs, oder generell die Kompression aktivieren (empfohlen):
Code:
zfs set compression=lz4 TEST
ein und drückt auf "
Ausführen". Wartet kurz.
Die Einstellungen werden sofort übernommen.
Alles per CLI als root ausführen (da bietet sich z.B. das kostenlose Tool
PuttY an, natürlich muss der SSH Dienst in NAS4Free
aktiviert sein und root Zugriff muss auch
aktiviert sein).
NAS4Free vorbereiten:
Für NAS4Free 9.1.x den Paketmanager nur umstellen
wenn es Probleme gibt (muss nach jedem Neustart wieder gesetzt werden), sonst alles so belassen gleich weiter mit Schritt 2:
Code:
setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-stable/Latest/
Danach:
Code:
pkg_add -vr python27 py27-pycrypto py27-curl py27-imaging py27-sqlite3 py27-openssl py27-beautifulsoup py27-Jinja2 py27-beaker py27-feedparser tesseract tesseract-data spidermonkey17
Einen Neustart von NAS4Free durchführen.
Zunächst in das Home Verzeichnis wechseln:
Nun Pyload herunterladen mit:
Code:
fetch [url]http://get.pyload.org/get/src/pyload-src-v0.4.9.zip[/url]
Danach entpacken:
Code:
unzip pyload-src-v0.4.9.zip
Jetzt in das pyload Verzeichnis wechseln:
Nun die Installation starten (das meiste könnt ihr wie gewünscht anpassen, ich gehe nur auf ein paar Dinge näher ein):
Code:
python2.7 pyLoadCore.py -s
Installationspfad einstellen:
Downloadpfad (hier anpassen wie ihr es habt):
Code:
/mnt/EUER_ZFS_POOL/Download
Das WebGUI einstellen (Tipp):
Dann euren angelegten Nutzer/Gruppe volle Rechte auf den pyload Ordner/Dateien geben (ich gehe hier davon aus, das ihr
bereits Samba/CIFS Nutzer und Samba/CIFS in NAS4Free eingerichtet habt):
Code:
chown -R benutzer pyload
chgrp -R gruppe pyload
Autostart von Pyload:
Script zum automatischen starten und stoppen.
Die Datei ist wird unter hier unter "/usr/home/start.sh" angelegt, zunächst in das Verzeichnis wechseln:
Eine leere Datei erzeugen mit:
Ihr könnt den Inhalt des
start.sh Scripts vorher makieren und kopieren und dann folgendes eingeben um den Texteditor zu starten:
Und dann einfach (ich beziehe mich auf
PuttY) einen
Rechtklick machen, dann fügt es den gesamten Text ein.
Inhalt von start.sh:
Code:
#!/bin/sh
start() {
echo "starting pyLoad"
python2.7 /usr/home/pyload/pyLoadCore.py --daemon
}
stop() {
echo "stopping pyLoad"
python2.7 /usr/home/pyload/pyLoadCore.py --quit
}
status() {
python2.7 /usr/home/pyload/pyLoadCore.py --status
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 4
start
;;
status) status
;;
*)
echo "Usage: $0 (start|stop|restart|status)"
exit 1
;;
esac
exit 0
Danach drückt ihr die
ESC Taste und gebt
:qw! ein und drückt die
Eingabetaste.
Nun noch die Datei start.sh noch ausführbar machen:
Nun loggt ihr euch noch in das NAS4Free WebGUI als admin ein.
Den Autostart bei NAS4Free für Pyload könnt ihr unter den oberen Hauptmenü
"System" >
"Erweitert" >
"Befehlsskript" definieren.
Hier tragt ihr bei "user" euren NAS4Free Samba/CIFS Benutzer ein, der Zugriff auf eure Freigaben/Downloadordner hat.
PostInit:
Code:
su user -c "/usr/home/start.sh start"
Shutdown:
Code:
su user -c "/usr/home/start.sh stop"
Nun könnt ihr Standardmäßig über einen Browser eurer Wahl das Pyload WebGUI öffnen:
Code:
http://EURE_SERVER_IP:8000
Allgemeine Informationen zu Pyload findet ihr hier:
pyLoad (eine super Sache mMn ist das es von Pyload auch als App gibt).
HowTo's (im Thread, mehr Verlinkungen folgen):
Festplatten austauschen und/oder gegen größere Festplatten mit automatischer Erweiterung? HOWTO:
http://www.hardwareluxx.de/communit...ipps-hilfe-thread-935734-15.html#post22961670
NAS4Free unter Hyper-V 2012 / 2012 R2? HOWTO:
http://www.hardwareluxx.de/communit...free-hyper-v-testen-1021230.html#post23019094
Englische HowTo's (danke an V.I.P.E.R):
Das wäre es bis jetzt, werde wenn ich die Zeit finde noch mehr rund um NAS4Free hinzufügen, für Installationen und sonstiges was alles so anfällt. Ihr seid natürlich auch herzlich eingeladen, eure Tipps und Tricks rund um NAS4Free zu teilen.
[Stand 01/2015]