Hardware:

6x2TB WD EcoGreen
ASUS MB mit H67B3
Intel Core i3-2100
4GB 1333 RAM dual channel

Software:

FreeNAS OS (based on FreeBSD 8.2)
ZFS Dateisystem mit raidz2

Nach dem ersten FreeBSD basierten System (pfSense im Router mit Atom-CPU) kommt nun FreeNAS in neuer Hardware im Einsatz.

Auch wenn meine Anforderungen an ein NAS System deutlich simpler sind als an meine Firewall, so gab es dennoch nicht allzuviele Alternativen.

Beherrschen muss es lediglich:

  • Shares via CIFS und NFS
  • Benutzer  / Gruppenverwaltung
  • Volumemanagement und -monitoring
  • Datenredundanz (RAID)
  • Stabilität
  • Geschwindigkeit
  • nice-to-have: Snapshots

Zur Diskussion standen:

  • Selbstbaulösung auf Basis von Linux
  • Fertiglösung auf Basis von Linux (OpenFiler)
  • Selbstbaulösung auf Basis von FreeBSD
  • Fertiglösung auf Basis von FreeBSD (FreeNAS)

Mangels FreeBSD Softskills (welche ich gerade erst beginne zu entwickeln), wurde rasch ein Testsystem mit FreeNAS aufgesetzt, welches mir mit raidz2 hinreichend Redundanz, sowie mit den automatischen Snapshots auch genug Datensicherheit gegen versehentliches Löschen versprach. Ausserdem sehr simpel einzurichten, findet Platz auf einer 2GB SD-Karte, die via Adapter am IDE-Port hängt und so alle 6 SATA-Ports für HDDs nutzbar macht. Die Performance war selbst auf der betagten Hardware ganz gut, wobei ich schnell bemerkte, dass zfs erst ab 4GB RAM so richtig glücklich und flott wird und auch gerne eine flotte CPU im System stecken hat.

Wie auch schon bei pfSense kann die Config in Form einer einzelnen xml-Datei exportiert werden, um so nach Neuinstallation, Migration, Recover, Systemwechsel etc. wieder eingespielt zu werden.

Im Detail stehen folgende Dienste zur Verfügung:

  • AFP (Apple File Sharing)
  • Active Directory Anbindung
  • CIFS / Samba  / Windows File Sharing
  • Dynamic DNS Client (dyndns und co)
  • FTP-Server (auch mit SSL/TLS Support)
  • LDAP Anbindung
  • NFS File Sharing
  • SNMP Dienst
  • SSH Daemon
  • TFTP Trivial File Transfer Protocol (für PXE Network Booting z. B.)
  • iSCSI zum Export dedizierter Volumes via Netzwerk

Was ich noch zum Tuning der Performance angepasst habe, ist das explizite Einschalten vom zfs-Prefetching. Das sollte zwar bei 4GB RAM automatisch geschehen, scheinbar saugt die unnütze gfx Card im i3-Prozessor wohl ein wenig ab, sodass eben ein Quäntchen weniger als 4GB übrig bleiben:

# mount -uw /
# vi /boot/loader.conf
vfs.zfs.prefetch_disable=0 am Ende einfügen und Datei speichern
# reboot

Was mir in der Version 8 noch aufgefallen ist: Lokalisierung ist erst für ein späteres Minor Release geplant, was aber eher ein kosmetischer Mangel ist, bisschen nerviger ist die Tatsache, dass der Upload eines eigenen SSL-Zertifikats nicht funktioniert, und dass die Zeitzoneneinstellung kaputt ist, zwar klappt der Sync mit dem NTP-Server, die Uhrzeit wird im System und auf der GUI auch richtig angezeigt, die periodischen Snapshots laufen aber zu den merkwürdigsten Zeiten. Das hab ich nun so umgangen, dass ich statt zu bestimmten Zeiten, alle 2 Stunden den ganzen Tag lang einen neuen erstellen hasse.