FreeNAS 10 RC1 aka FreeNAS Corral

FreeNAS 10 lässt auf sich warten. Im März 2017 ist nun endlich das RC1 erschienen, welches vermuten lässt, dass die finale Version bald erscheint. Bereits mehrfach wurde das Release verschoben. Aktuell wird im FreeNAS 10 Bugtracker der 15. März 2017 als Veröffentlichungstermin genannt. Es sind aktuell keine 20 Bugs mehr offen.

Zusätzlich zu diesem Text und Bildbeitrag habe ich ein Youtube Video angefertigt. Ich hoffe es gefällt.

FreeNAS 10 basiert auf FreeBSD 10 im Gegensatz zu FreeNAS 9, das auf FreeBSD 9 basiert. Das Webinterface wurde komplett erneuert so wie auch die Middleware. Versprochen wird unter Anderem volle Asynchronität. Das heißt in der Praxis, dass man Konfigurationsänderungen oder ähnliche Aktionen durchführen kann, ohne auf deren Beendigung warten zu müssen, bevor man andere Aktionen durchführen kann. Gerade wenn mehrere Administratoren an FreeNAS arbeiten sollte es in Zukunft also nicht mehr zu Komplikationen kommen. Außerdem wird man umgehend über Ereignisse informiert. In der Praxis bestätigt sich dies. Nimmt man im CLI eine Konfigurationsänderung vor, so wird man instantan im WebGUI informiert.

WebGUI

Bereits im Oktober/November spielte ich mit dem derzeit aktuellen FreeNAS 10 Release. Leider gab es zu diesem Zeitpunkt noch viele gravierende Probleme mit dem GUI, während das CLI schon sehr gut funktionierte. RC1 ist hier deutlich besser, wenngleich das Interface auch hier noch nicht fehlerfrei funktioniert. Neben des absolut neuen Designs hat sich auch einiges an der Struktur geändert. Es wirkt wesentlich aufgeräumter als noch in der 9er Version. Die Struktur deckt sich zwar nicht 100%ig mit der des CLI, was aber in keiner Weise schadet oder behindert. Auf einem Intel i7 2600 mit 16 GB RAM, installiert auf einem 16 GB USB Flash Drive ließ sich die Oberfläche beinahe immer zügig bedienen. Mittlerweile scheinen auch andere Browser außer des Chrome zu funktionieren. In der Praxis funktionierte Chrome jedoch besser als Firefox.

FreeIPA

FreeIPA ist ein Verzeichnisdienst der die Administration von LDAP / Kerberos inklusive einer möglichen Replikationen stark vereinfacht. FreeNAS 10 bietet die Möglichkeit sich mit einer solchen FreeIPA Domain zu verbinden um die Benutzer aus dem Verzeichnis zu nutzen. Das funktionierte in der Praxis auf Anhieb. Einfach unter Accounts/Directory Services den Domainnamen, admin und das Passwort eintragen und schon stehen die Benutzer zur Verfügung um sie für Dateisystemberechtigungen oder für SMB Freigaben zu brauchen.
Leider gelang es mir nicht auf Anhieb eine SMB Freigabe einzurichten, auf die ich dann mit dem FreeIPA Benutzer und dessen Passwort zugreifen konnte. Auch das Einloggen mit einem FreeIPA Nutzer per ssh auf den FreeNAS Server gelang nicht, was aber vermutlich daran lag, dass dem FreeIPA Benutzer eine shell zugeordnet war, die auf dem FreeNAS System nicht existierte.

IPFS

IPFS steht für Interplanetary Filesystem. Es wird meines Wissens noch nirgendwo so richtig produktiv eingesetzt. Im Jahr 2016 habe ich mal damit rumgespielt um zu sehen, was das Dateisystem so kann. Die Tatsache, dass IX Systems angekündigt hatte IPFS in FreeNAS 10 unterstützen zu wollen kam überraschend. Es löste jedoch ebenso Begeisterung aus, weil IPFS sehr interessante neue Möglichkeiten bietet. Leider konnte ich IPFS im RC1 noch nicht testen. Geplant ist laut dieses Postings ein integrierter Dateibrowser im WebGUI, der dann die Möglichkeit besitzen soll Dateien per IPFS frei zu geben. Dann braucht man nur noch den Hash zu übermitteln und jemand kann direkt darauf zugreifen. Zudem soll der Befehl vm publish auf IPFS zurück greifen. Auch dies ließ sich leider mangels Verfügbarkeit noch nicht testen. Laut dieses Posts scheinen die Erfolge in Grenzen zu halten, IPFS für das Bereitstellen von VM Templates zu nutzen.

bhyve

Für mich eine der größten und wichtigsten Neuerungen. War der bhyve Hypervisor zwar auch schon in FreeNAS 9.10 enthalten, fehlte jedoch jegliche Unterstützung in der Weboberfläche. Bei FreeNAS 10 sieht das gänzlich anders aus. Die Integration funktioniert sehr gut. Man kann einzelne VMs auf Basis von verschiedenen Templates installieren. Zudem ist es möglich ein eigenes Template Repository anzugeben, sofern man selber VM templates für das Firmennetzwerk zur Verfügung stellen möchte.


Was außerdem wirklich sehr gut funktioniert ist die Netzwerkintegration. So ist es leicht möglich mit Bridging zu arbeiten um nicht auf NAT zurückgreifen zu müssen. Wenn man – wie in meinem Fall – auch noch mit 802.1Q (vlan tagging) arbeitet, kann man verschiedene VMs sogar in unterschiedliche VLANS platzieren. Das Webinterface bietet außerdem die Möglichkeit direkt auf der seriellen Konsole des Gastes zu verbinden.

Ebenfalls großartig ist die Möglichkeit auf Datasets innerhalb der VMs zugreifen zu können. So lassen sich Verzeichnisse über das 9pfs (Plan 9 File System) einbinden.  Dadurch kann man hochperformant auf die Daten des ZFS Dateisystem zugreifen, ohne den Umweg über die langsamen Protokolle NFS/SMB machen zu müssen. Hierzu muss man im WebGUI erst ein Volume anlegen mit Namen und Bezugspfad. Innerhalb des Gastes kann man dann über einen solchen Befehl das Volume mounten.

  mount -t 9p -o cache=mmap,msize=512000,version=9p2000.L share1 /mnt/share1


Docker

Neben bhyve hat man mit Docker eine weitere Möglichkeit eine Art von Virtualisierung zu nutzen. Im Gegensatz zu bhyve geschieht dies bei Docker jedoch nicht in Form eines eigenen / vollständigen Betriebssystems, sondern über eine sogenannte Kontainervirtualisierung. Hierbei werden – ähnlich wie mit den jails in FreeNAS 9 – einzelne Applikation vom Wirt Betriebssystem isoliert und können so in einer sicheren und performanten Umgebung Dienste zur Verfügung stellen. Die Docker Software läuft jedoch nicht direkt auf dem BSD System, sondern wird durch eine in bhyve gestartete Linux (boot2docker) Installation realisiert. Auch die Docker Container lassen sich – ähnlich wie die bhyve Gäste – über eine Brücke direkt in das Netzwerk bringen, ohne wieder auf NAT zurückgreifen zu müssen.

2-Wege Replikation

Mit FreeNAS 10 gibt es nun auch eine Möglichkeit Datasets über das Netzwerk miteinander bidirektional zu replizieren. Leider konnte ich dieses Feature mangels vorhandener Hardware nicht testen. Gerade in Geschäftsumgebungen sollte dies jedoch zur Popularität der Distribution beitragen.

Upgrade von Version 9 auf 10

Nach einiger Verzögerung wird nun auch die Möglichkeit angeboten von FreeNAS 9 auf 10 auf zu rüsten. Dabei wird dringend empfohlen alten Balast über Bord zu werfen, wie z.B. alte Snapshots. Diese würden bei einem Upgrade nämlich komplett migriert, was zu einer sehr großen Update Dauer führen kann/wird. Zum jetzigen Zeitpunkt ist die Migration verschlüsselter Volumes leider noch nicht möglich. Des Weiteren werden die Jails auch nicht migriert werden, da es unter FreeNAS 10 keine Jails mehr gibt. Es werden lediglich die Daten Kontainer übernommen, so dass die Nutzdaten zumindest nicht verloren gehen.

Fazit

Insgesamt bin ich von FreeNAS 10 begeistert. FreeNAS war gerade auf Grund des eingesetzten ZFS Dateisystem für mich immer schon eine absolute Killerapplikation. Zusammen mit diesem Dateisystem und dem bhyve Hypervisor bieten sich nun neue Möglichkeiten, speziell wenn man auch mal ein Linux oder ein andere Betriebssystem virtualisieren will. Mit FreeNAS 9 konnte man lediglich BSD jails betreiben. Das war für viele Fälle ausreichend, jedoch bei Weitem nicht für Alle.
Wie genau und ob Migrationen funktionieren werden wird sich im Laufe der Zeit zeigen.