FreeNAS 8.2.0 Beta 4: weiteres Bugfixing an den Plugins

Mit FreeNAS 8.2.0 wird die Möglichkeit eingeführt, Plugins zu installieren, die in einer eigenen Umgebung laufen („plugin jail“). Da es eine komplett neue Funktionalität ist, die zudem tiefe Eingriffe in das System bedeutet, dauert die Entwicklung entsprechend länger. Nun ist die vierte Beta der FreeBSD-basierten NAS-Software erschienen, neu hinzugekommen ist die Möglichkeit, Plugins zu aktualisieren und das Plugin-„Gefängnis“ upzugraden.

Als Plugin stehen Funktionen zur Verfügung, die bisher von Hand konfiguriert werden mussten. Zum Beispiel minidlna, um Medien via DLNA auf Playstation 3 oder Apple TV (mit XMBC) zu verteilen. Außerdem: Bittorrent und iTunes, weitere Plugins sind in der Entwicklung. Bisher habe ich mich nicht getraut, mein HP N36L-NAS zu upgraden, dass kommt erst in Frage, wenn FreeNAS 8.2.0 final ist (oder am Besten 8.2.1 erschienen ist).

Wer FreeNAS 8.2.0-BETA4 ausprobieren will (immer die Datensicherheit im Hinterkopf haben, es ist eine BETA!) kann es auf der FreeNAS-Website herunterladen.

SEO: die wichtigsten Keywords auf kadder.de

Natürlich will man als Blog-Betreiber, dass die eigene Seite von möglichst vielen Lesern besucht wird. Grundlegendes Mittel dazu: Suchmaschinenoptimierung, kurz SEO. Dabei ist es wichtig, die Keywords, mit denen die eigene Seite gefunde wird. Dabei hilft Google Analytics, welches auf dieser Seite eingesetzt wird mit der Übersicht über die Suchanfragen. Die Keywords für kadder.de der letzten vier Wochen (in Reihenfolge):

  1. hitmeister.de (bedingt durch die Teilnahme am Blog des Jahres Wettbewerb)
  2. ipad 3 (bedingt durch meine Erfahrungsberichte zum iPad 3)
  3. asus ux32vd und asus ux32 (das Interesse an den neuen Ultrabooks ist groß, ein Exemplar ist bereits unterwegs)
  4. myfyve (anscheinend suchen viele fyve-Kunden nach der Seite)
  5. ios 5.1.1 changelog (Apples aktuelles iOS)
  6. galaxy nexus (Googles Android Referenz-Smartphone)
  7. android apple tv (anscheinend wollen viele, dass Android auf Apples TV-Box funktioniert – leider ist mir keine Lösung bekannt ;))
  8. dlna einrichten (was gerade im Zusammenhang mit FreeNAS 8.0.4 Multimedia ein interessantes Thema ist)

Natürlich dient auch dieses Postings SEO-Zwecken – und der Information. Auch die Themenauswahl hier auf dem Blog wird durch Suchmaschinenoptimierung beeinflusst, auch wenn Postings nicht nur zum Selbstzweck entstehen (bis auf dieses vielleicht ;)). Jeder, der durch Eingabe eines Suchbegriffs auf diese Seite gekommen ist mag oben aus der Liste den passenden Beitrag auswählen.

FreeNAS 8.0.4 iSCSI-Performance

Mein HP-N36L-NAS dient nicht nur als Datenspeicher für Fotos, sondern auch als Speicherort für Virtual-Disk-Images, die von VirtualBox verwendet werden: auf meinem Surf- und Arbeits-PC ist dank SSD einfach nicht genug Platz. Nachdem die Konfiguration von iSCSI im FreeNAS-Wiki schon beschrieben wird, hier nur ein paar Performance-Daten meines Setups:

Crystal Disk Mark 3.0.4, iSCSI, HP N36L

Erreicht wird es mit vier Hitachi 2-Terabyte-Festplatten mit 5.400rpm, welche mit ZFS als RAIDZ konfiguriert sind. Ferner sind 8 Gigabyte RAM verbaut, um dem ZFS genug Platz zum Arbeiten zu lassen. Für ISCSI sind 100 GB reserviert, für meine Zwecke genug. Damit lässt sich Ubuntu 12.04 LTS in einer virtuellen Maschine ohne Problem nutzen, die Startzeit ist zwar vielleicht nicht so gut wie nativ auf einem schnellen System, reicht aber vollkommen aus. Die SSD im Host-Rechner erreicht natürlich noch deutlich andere Leistungsregionen.

Mein HP N36L mit FreeNAS 8.0.4

Damit auch mal klar ist, auf was für einem System meine FreeNAS-Installation läuft. Klein, leise und ausreichend Leistungsstark: HP N36L Proliant Microserver (mittlerweile gibt es den N40L, der etwas mehr CPU-Takt bringt). Neben FreeNAS als Betriebssystem ginge auch Windows Homeserver oder vMWare ESXi (beides unterstützt das Gerät offiziell). Nun lasse ich das Video für sich selbst sprechen:

Für FreeNAS 8.3.0 bietet sich der Nachfolger, der HP N54L Microserver, an. Als Basisgerät für unter 200,-€ verfügbar, lässt sich für um die 500,-€ ein solides Heimserver-System mit ausreichend Speicherplatz zusammenstellen.

Freenas 8.0.4-p2: Update bringt Samba 3.6.5

Freenas ist in Version 8.0.4-p2 erschienen, damit gibt es eine weiter Version vor Freenas 8.2, welche dann Plugin-Support mitbringt. Das gestern erschienene Update behebt eine Sicherheitslücke in Samba (CVE-2012-2011) und bringt den CIFS-Server auf Version 3.6.5. Das Update ist einfach durchzuführen, es reicht die entsprechende Datei von Sourceforge herunterzuladen und über die Freenas-Oberfläche einzuspielen.

Wer auf minidlna setzt und daher Freenas 8.0.4 Multimedia benutzt muss auch die entsprechenden Update verwenden, die ebenfalls bereitstehen. Nun bleibt nur die Frage: wann kommt Freenas 8.2 – Plugins sind etwas, was gerade Privatuser sehnlich erwarten dürften, auch wenn das nicht direkt im Fokus der Freenas-Entwickler stand bisher.

Freenas 8.2 Beta 3 mit neuer Plugin-Struktur

Am 19. April ist die 3. Beta für FreeNAS 8.2 erschienen, die eine neue Plugin-Struktur mitbringt. Diese soll nun Stabil bleiben, sodass Plugins auch nach FreeNAS-Updates ohne Anpassungen weiter verwendet werden können. Für Produktivsysteme ist es immer noch nicht geeignet, wenn man aber eigene Plugins schreiben will, ist es nun langsam Zeit, es sich genauer anzuschauen. Fertige Plugins gibt es laut Releasenotes für Bittorrent, DLNA/uPNP (dafür gibt es auch mit FreeNAS 8.0.4 MM schon eine Lösung) sowie iTunes, die in der Beta bereits installiert werden können.

Mit FreeNAS 8.2 gibt es auch Neuerung an der ZFS-Einbindung sowie Verbesserungen an der Benutzeroberfläche. FreeNAS erreicht damit weitgehend den Stand der Version 0.7.x, welches auch schon mehr Multimedia-Funktionen beinhaltete und nicht so rein auf den NAS-Einsatz ausgelegt ist wie FreeNAS 8.0.2. Wer FreeNAS 8.2 Beta 3 ausprobieren möchte, bekommt den Download auf der Webseite des FreeNAS-Projekts.

Freenas 8.2.x: Beta, neue Funktionen, Plugin-System

Transmission als Plugin in FreeNAS
Transmission als Plugin in FreeNAS
Freenas 8.2 liegt derzeit in einer zweiten Beta-Version vor und soll voraussichtlich im Mai final erscheinen. Wesentliche Änderung neben des wechsels auf FreeBSD 8.2 als Unterbau ist die Unterstützung von Plugins, sodass verschiedene Software (darunter auch minidlna für Medien-Support). Ein Upgrade von einer bestehenden Freenas 8.0.4-Installation soll problemlos möglich sein, von der Verwendung der Beta-Version auf einer produktiven Maschine mit Daten ist abzuraten.

Ich habe mir das neue System schon einmal angeschaut. Plugins werden als PBI-Dateien verteilt, zuerst muss jedoch das Plugin-System aktiviert werden. Eine Anleitung dazu gibt es im Freenas-Wiki, weswegen ich das hier nicht noch einmal ausführe. Derzeit gibt es nur drei Plugins: minidlna (für DLNA-Support), transmission (als Bittorrent-Client) und firefly als iTunes-Server (auch wenn die Versionen anscheinend nicht mehr weiter entwickelt wird).

Ich habe zuerst einmal versucht, transmission einzurichten – aber anscheinend gibt es allgemein noch Probleme, zumindest in meiner Testinstallation (realisiert via VirtualBox 4.1.10) hat es nicht funktioniert (kein Zugriff auf transmission), was allerdings auch an der Installation selbst liegen kann. Das wird man auf einem Live-System sehen müssen – aber gerade bei einem NAS sollte man nicht mit dem Betriebssystem herumspielen, wenn einem die Daten lieb sind 😉

Transmission als Plugin in FreeNAS

Freenas 8.0.x Multimedia: DLNA einrichten

Im Gegensatz zu Freenas 0.7.x bringt Freenas 8.0.x bisher keinen DLNA-Spport. Dies hat sich jetzt zwar mit dem „Multimedia“-Build. Vom regulären Freenas kann ohne weiteres auf „Multimedia“ geupdatet werden (auch wenn vorher die gleiche Version eingesetzt wurde, z.B. von Freenas 8.0.3-p1 auf 8.0.3-p1-Multimedia. Wenn das geschafft ist (also eine Variante mit Multimedia-Support läuft) muss DLNA nur noch aktiviert werden – eingesetzt wird minidlna.

Zuerst muss das System auf dem USB-Stick (oder wo auch immer Freenas installiert ist), mit Schreibzugriff gemountet werden:

mount -wu /

Nun muss auf dem Datenpool ein entsprechendes Verzeichnis angelegt werden, in dem später die minidlna-Config untergebracht wird und wo die Caches für Vorschaubilder liegen etc. „pool“ muss dabei an die Gegenbenheiten des eigenen Systems angepasst werden (in meinem Fall heißt das Laufwerk „Daten“).

mkdir -p /mnt/pool/dlna/var/db/minidlna
cd /mnt/pool/dlna

Nun die Grundkonfiguration in das neu erstelle Verzeichnis kopieren und im Editor öffnen:

cp /conf/base/etc/local/minidlna.conf .
ee minidlna.conf

In der minidlna.conf gibt es verschiedene Einträge, für Bilder, Videos und Musik (oder einer Kombination daraus). Dort muss jeweils das richtige Verzeichnis angegeben werden sowie ein Name für den DLNA-Server konfiguriert werden (weitere Möglichkeiten kann man der Datei entnehmen), z.B.:

media_dir=V,/mnt/pool/movies
media_dir=A,/mnt/pool/music
media_dir=P,/mnt/pool/photos
friendly_name=Media Server

Um minidlna bei jedem Start zu laden, muss es in der rc.conf aktiviert werden:

cd /conf/base/etc
ee rc.conf

Dort den entsprechenden Eintrag von „NO“ auf „YES“ ändern:

minidlna_enable="YES"
minidlna_flags="-f /mnt/pool/dlna/minidlna.conf"

Das wars – wenn alles richtig gelaufen ist, taucht nach einem Neustart ein DLNA-Server im Netzwerk auf. Leider erkennt minidlna neue Dateien nicht automatisch und muss deshalb regelmäßig neu gestartet werden. Der Befehl dafür:

service minidlna restart

Ich habe mir das in einen Cronjob gepackt, einmal pro Tag um 04:30 ausgeführt wird – wenn man einen neu hinzugefügten Film sofort sehen will, muss man minidlna von Hand neu starten, lässt man den Cronjob jedoch häufiger laufen unterbricht das den Film/Musikgenuss. Ob dies in Zukunft geändert werden kann, ist noch offen. Außerdem soll es in zukünftigen Freenas-Version (ab 8.2.x) möglich sein, DLNA direkt über das Webinterface zu konfigurieren. Quelle für diese kurze Anleitung ist der entsprechende Thread im Freenas-Forum: dort wird auch beschrieben, wie man Bittorrent und iTunes-Support aktivieren kann.

Update:FreeNAS 8.2.0 ist erschienen, welches minidlna als Plugin mitbringt. Wie dies am besten Konfiguriert werden kann beschreibe ich im entsprechenden Blog-Eintrag: minidlna.conf-Tuning unter FreeNAS.

Update 2: Wer ein komplett neues FreeNAS-System aufsetzen will, findet vielleicht eine hilfreiche Anregung in meiner Einkaufsliste für ein NAS auf Basis des HP N40L Microservers. Für rund 500 Euro bekommt man ein erweiterbares System, welches genug Leistung für verschiedene Anwendungen hat – darunter auch einen minidlna-Server.

nginx: Expires für Bilder

Nachdem ich erst versucht habe, nginx dazu zu überreden, nur Bilder über einen entsprechenden „location“-Block mit einem expires-Header zu versehen. Das hat leider nicht geklappt (Ergebnis: Bilder wurden nicht mehr gefunden). Lösung: für die globale location entsprechend gesetzt greifen die expires-Header (jetzt bei mir auf 8d gestellt).

location / {
root /var/www;
try_files $uri $uri/ /index.php;
expires 8d;
}

Das greift zumindest in meinem Fall für Bilder und andere statische Dateien, insbesondere Bilder. Dynamische Dateien wie PHP-Scripte werden dadurch nicht beeinträchtigt. Insgesamt ist dieser Blog jetzt auf einem Page Speed Score von 82/100, was auch durch das aktivierte Browsercaching begünstigt wird. Nächster Plan: JavaScript ans Ende der Seite verbannen und Bilder in Sprites kombinieren (um die Zahl der Requests weiter zu senken).

Nginx: GZIP aktivieren

Um die Datenübertragung zu beschleunigen und den Datentransfer zu minimieren sollte GZIP für JavaScript, CSS und HTML-Dateien aktiviert werden.

Per default ist Gzip nicht für alle relevanten Mimetypes aktiviert, sodass dies in der nginx.conf nachgeholt werden sollte (im http-Bereich hinzufügen):

gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_proxied any;
gzip_buffers 16 8k;
gzip_types text/plain text/html text/css text/xml application/x-javascript application/xml application/xml+rss text/javascript;
gzip_vary on;

Danach sollte Googles Pagespeed-Test eine deutliche Verbesserung zeigen – fehlende GZIP-Komprimierung wird dort nach wie vor als wirklich kritisches Problem eingestuft, welches nach aktiviertem Gzip besser wird. Mein nächster Plan: Cache-Zeiten via expires zu aktivieren, was derzeit bei diesem WordPress-Blog noch dazu führt, dass kein CSS mehr geladen wird.

Mehr zum Thema nginx und php gibt es im entsprechenden Blogpost. Nginx läuft mit GZIP problemlos und vollkommen stabil.

[amazon_link asins=’1491924772,1785280333,B00X40K8M8,B01GI4C982,B01L17AQZ4′ template=’ProductCarousel‘ store=’techbloggernet-21′ marketplace=’DE‘ link_id=’7b653bdf-d937-11e7-9c10-df7e40eff9dd‘]