NAS4Free

NAS4Free

Anfang des Jahres habe ich meinen Server hier zu Hause komplett umgebaut, um etwas mehr Flexibilität und Komfort in die Virtualisierung zu kriegen. Nach etwas Suche bin ich auf Proxmox VE gestoßen, das ich dann auch eingesetzt habe. Nach wie vor ist der einzige Punkt mit dem ich da unglücklich bin die Paravirtualisierung mittels OpenVZ — das ist wohl nicht mehr ganz zeitgemäß. Aber wichtig ist: es funktioniert.

Vollvirtualisiert wird mit KVM, das hat es mir ermöglicht ein NAS4Free als Fileserver einzusetzen. Das basiert auf FreeBSD, es hat eine nette Oberfläche und ist alles in allem echt unkompliziert. Ein Killer-Feature ist die native Unterstützung von ZFS. Ausprobieren musste ich das, obwohl mir klar war dass das auf meiner bescheidenen Hardware wenig Spaß machen würde. Und richtig genug: spätestens mit ZFS waren Zugriffe auf Netzlaufwerke unerträglich langsam.

Ich will nichts gegen ZFS sagen. Das ist eine coole Technik, aber definitiv nicht für meine Umgebung gedacht. In einer virtuellen Maschine mit virtuellen Festplatten und nur sehr wenig Hauptspeicher kann es seine Leistung beim besten Willen nicht ausspielen. Schade. Wenn ich mal einen Fileserver auf echter Hardware bauen will komme ich gerne wieder drauf zurück. Und auf NAS4Free.

So musste ich mich erstmal nach einer Alternative umsehen. Dabei bin ich ziemlich schnell wieder auf zwei Projekte gestoßen von denen ich schon öfter gelesen hatte: OpenMediaVault und Openfiler. Bevor ich mich aber dazu entschließe alles umzuwerfen muss erstmal getestet werden ob die in meiner Situation besser performen würden. Also habe ich beide mal testweise installiert und ein paar Versuche unternommen.

Openfiler

Openfiler

Installiert hatte ich von diesen ISOs:

  • NAS4Free-x64-LiveCD-9.1.0.1.573.iso
  • openmediavault_0.5.0.24_amd64.iso
  • openfileresa-2.99.1-x86_64-disc1.iso

Aber erstmal die Rahmenbedingungen: in dem Server steckt ein Intel Core2Duo E6750, 8GB RAM, zwei SATA-Platten im Software-RAID1 und ein 100MBit-Netzwerk. Den virtuellen Maschinen habe ich jeweils 512MB RAM gegeben, das muss für so einen kleinen Einsatz genug sein finde ich. Systemplatten hatte ich jeweils in 1GB vorgesehen, aber an der Stelle hat Openfiler schon nicht mitgespielt: unter 10GB lässt der sich nicht installieren. Ganz schön viel für ein One-Trick-Pony. Belegt waren nach der Installation 1,7GB. OpenMediaVault hat sich 658MB genommen, NAS4Free war sogar mit 274MB zufrieden.

Mein Anspruch ist, dass ich der virtuellen Maschine bei Bedarf Festplatten nachschieben kann, die dann in einen logischen Verbund — LVM oder ZFS — stecke und darauf flexibel Volumes anlegen kann, deren Größe ich dann den Anforderungen anpassen kann. Redundanz brauche ich hier nicht, da die Platten im Hostsystem schon als RAID1 laufen.

OpenMediaVault

OpenMediaVault

Voll und ganz erfüllt den Anspruch ein ZFS auf NAS4Free. Nur ist das halt auf meiner Hardware zu langsam. Nur mal testweise habe ich ein JBOD auf NAS4Free angelegt. Da könnte ich zwar Platten nachschieben, dafür habe ich aber nicht herausgefunden wie ich einzelne Volumes anlegen kann (das was unter Linux LVM macht). Ob das überhaupt geht würde mich schon noch interessieren, aber schneller wuerde es dadurch wohl auch nicht mehr.

Auf den beiden Linux-Systemen habe ich jeweils ein LVM aus zwei 10GB-Platten angelegt — bei OpenMediaVault mit einem nachinstallierten Plugin — und darin ein ext4-Volume mit 12GB erzeugt auf dem ich getestet habe. Openfiler unterstützt auch schon btrfs, also habe ich das auch mal ausprobiert.

Drei Tests habe ich auf allen diesen Plattformen durchgeführt: erst habe ich ein ISO-File per SCP auf die Laufwerke übertragen (ubuntu-12.10-desktop-amd64.iso, etwa 800MB), dann jeweils an der Shell lokal auf den NAS-Systemen ein tar-File dieses ISOs angelegt (time tar cf test.tar ubuntu*.iso). Zusätzlich habe ich die beiden Tests lokal auf dem Proxmox durchgeführt, nur um ein Gefühl dafür zu bekommen was die Physik hergeben würde. Hier die Zahlen:

  ISO per SCP kopieren ISO in tar packen (lokal)
Lokal, ohne NAS 40.2MB/s 17s
NAS4Free / ZFS 3.7MB/s 247s
NAS4Free / JBOD 6.4MB/s 94s
OpenMediaVault / LVM / ext4 13.5MB/s 26s
Openfiler / LVM / ext4 17.7MB/s 77s
Openfiler / LVM / btrfs 15.9MB/s 50s

Nochmal der Hinweis: das sind nur Stichproben. Ich habe alle Tests nur einmal durchgeführt, und man wird garantiert andere Werte bekommen wenn man die NAS-Systeme nicht in einer virtuellen Maschine installiert sondern auf richtigem Blech. Mir persönlich reichen die Zahlen als Anhaltspunkte. YMMV.

So gerne ich auch bei NAS4Free bleiben würde: ich denke mein neuer Fileserver wird ein OpenMediaVault werden. Auf meiner schmalen und noch dazu virtualisierten Hardware kann NAS4Free sich leider nicht wirklich entfalten. Die Zahlen sprechen hier einfach für Linux. Und OpenMediaVault macht nicht nur beim IO einen guten Eindruck, auch der schmale Fußabdruck bei der Installation ist sympathisch. Oh, und unten drunter liegt ein Debian, das befindet sich hier in guter Gesellschaft. Nur auf btrfs muss ich leider noch verzichten. Das gibt es erst wenn OMV ein Update auf Squeeze vornimmt. Aber bis dahin habe ich schonmal was… :-)