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.
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.
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…
Interessant. Würdest du eine von den Lösungen produktiv im Rechenzentrum einsetzen wollen oder eher weniger?
Der Mehrwert dieser Distributionen liegt wohl in erster Linie in der Benutzeroberflaeche ueber den Funktionen die das Betriebssystem mitbringt. Was besseres als Linux oder FreeBSD kann Dir im RZ kaum passieren, und meines Wissens sind sowohl ZFS auf BSD als auch andere Dateisysteme auf LVM/Linux stabil. Im RZ wirst Du dickere Hardware haben, da macht ZFS dann sicher auch den Spass den ich hier vermisst habe…
Openfiler hat mich irgendwie nicht ueberzeugen koennen, aber die anderen beiden unterstuetzen auch Sachen wie iSCSI oder Link Aggregation — wohl auch eher uninteressant fuer zu Hause.
Mit OpenMediaVault habe ich noch nicht viele Erfahrungen, aber was ich bis jetzt gesehen habe gefaellt mir. NAS4Free gefiel mir sowieso. Da Du eher der BSD-Typ bist — bist Du doch noch, oder? — wuerde ich an Deiner Stelle mal NAS4Free ausprobieren.
moin …
… ich plane ja ähnliches, aber scheitere schon bei der Installation von OpenMediaVault unter ProxMox …
Die erste HD als virtio wird ja noch gefunden. Als ich dann aber eine weitere ranhängen wollte, war’s das …
OpenMediaVault findet sie nicht …
@Rico: Komisch. Bei mir haengen da im Moment vier virtio-Platten dran, und die hat er auf Anhieb gefunden. Schwer zu sagen was da schief laeuft…
mittlerweile hab ich mehr herumgespielt mit OMV …
die platten werden beimir nur akzeptiert, wenn ich sie der VM im ausgeschalteten Zustand hinzufüge …
während des betriebs die HD hinzufügen und dann neu starten bringt nix … warum? ich weissesnich …
Aber mal was anderes …
Wie ist bei Dir der Datendurchsatz im LAN?
Ich kriege zu der VM im GBit Lan max 11MBit hin …
Installiere ich OMV direkt auf der Hardware, sind es rund 100MBit!
Habe es auch schon mit dem 3.2’er BackPort Kernel versucht, da dort die VirtIO Unterstützung besser sein sollte …
Ergebnis: Einbruch der Rate von 11 MBit auf 4MBit …
Auf dem Board ist eine RTL 8169 verbastelt …
Ich habe auch schon mal den 8168’er Treiber verwendet … auch kein Gewinn …
Bei Dir ist die Transfer-Rate OK ?
Also mein OMV als Proxmox VM ist sehr schnell.
Nutze aber noch Version 0.4.
Ich gebe allerdings echte physische Platten in die VM, keine Images.
Meine Hardware ist eher schwach, HP Microserver N54L mit AMD Dualcore.
Mit cifs gemounted schaffe ich trotzdem 80 MB/s (Mit Windows-Client mehr).
Wichtig ist die Nutzung von virtio und abschalten des Caches in der Konfiguration der virtuellen Platte (wobei das default ist).
Network Device ist auch auf virtio (paravirtualized) gestellt.
In den Optionen der VM noch „use tablet for pointer“ ausgestellt, bewirkt weniger CPU-Last.
Kann natürlich sein, das sich in OMV 0.5 irgendwelche neuen Probleme eingeschlichen haben..
Hallo,
ich habe leider das gleiche Problem, dass ich mit meinem Proxmox und meinem 54 NL mit OMV nicht über die 11 MB/s kommen. Habe die Version 0.5.31 und alles so eingestellt wie oben beschrieben.
Ich habe der VM 4 GB zugewiesen und meine Festplatten über Proxmox zugewiesen.
Hallo,
nett zusammengeschrieben, aber bei der Sache wenn FreeBSD virtualisiert ist, gibt es einige Punkte zu beachten. Der Vergleich mit der Geschwindigkeit ist aber nicht so fair gemacht, 512MB RAM -> das reicht für Linux locker aus zum ausreizen, aber bei ZFS ist das von Anfang an klar, auch wenn nur mit 100 Mbit getestet wurde und auch die virtuellen Treiber bei einer FreeBSD VM unter Linux müssen VirtIO sein, um einigermaßen gute Resultate zu bekommen. JBOD geht nicht für ZFS, da geht nur UFS/UFS2 als Dateisystem, ZFS kann nur RAID 0 (Stripe), RAID 1 (Mirror), RAID 5 (RAID-Z), RAID 6 (RAID-Z2) und RAID 6 mit einer extra Parität „RAID 7“ (RAID-Z3)es können bis zu 3 Festplatten ausfallen + RAID 10 (Stripped Mirror) und dann noch Kombinationen ala RAID 50 / 60 wenn man mehere VDEVs verbindet usw.
Super Bericht, alleine schon der kleine Speedtest ist klasse.
Sicherlich wird er sich unterscheiden. Aber ich mache mir wenig Sorgen, dass dieser irgendwie groß verfälscht ist, u.A. weil alleine DU von dem Ergebnis überzeugt bist.
Warum sollte es sich im wesentlichen von anderen Scenarien unterscheiden?
Das bestätigt mich aber Open Media Vault zu nutzen! FreeNas ist bäh – Nas4Free viel zu Leistungshungrig. Auch der Trend auf 64Bit Hardware zu setzten geht mir auf den Nerv. Was tun, wenn man ein 32Bit ULV Via Board hat?
Aehm… ich muss gestehen: mittlerweile habe ich meinen Server komplett neu aufgebaut. Unter anderem mit deutlich mehr RAM. Da laeuft jetzt ein FreeNAS in einer VM, mit 8GB RAM nur fuer diese Maschine.
Toller und fairer Beitrag. In der Firma habe ich mittlerweile 5 ZFS Maschinen stehen. Dabei fahre ich auf drei ZFS Servern 300 VM’s unter ZFS. Über 10Gbit sind bei 24 Platten Systemen und zwei mal 10GBit ca. 1,5 GByte/s schreibend und 2,4 GByte/s lesend möglich. In den ZFS Systemen selbst sind es etwa 4,6GByte/s lesend und ca. 2,5GByte/s schreibend. Im Ernst, selbst 300 VM’s fordern diese Leistung nicht mal im Ansatz ab.
Zum Privaten, Proxmox läuft echt gut, ich überlege auch, wie oder welches NAS setze ich in Proxmox ein? Ich würde Proxmox die Plattenverwaltung überlassen und würde der NAS Software das reine Sharing überlassen. Ich halte weniger von einer Festplattendurchreiche. Wie denkst Du darüber? Leider machen die Solaris Varianten unter KVM keinen Spaß, stellt sich die Frage BSD über FreeNAS oder NAS4Free bzw. verschiedene Linux Lösungen als Container oder virtuell. Es wäre schön, wenn Du hier was dazu schreiben könntest. Ich denke viele derer die hier lesen, freuen sich auf jegliche Antwort, um Informationen zu bekommen. PS: Danke auch für das offene Forum!
Sorry, hab aus irgendeinem Grund keine Benachrichtigung ueber Deinen Kommentar bekommen…
Der Beitrag ist von 2013. Seitdem laeuft bei mir eigentlich alles wie es soll, ich habe keine groesseren Probleme. Daher beschaeftige ich mich eigentlich auch nicht aktiv mit der Materie. Erst wieder wenn ich es umbauen will, oder wenn was kaputt geht…
Kein Problem, weiterhin viel Spaß mit ZFS. Zwei Anmerkungen noch. Die Secure Dinge wie SCP sind teilweise sehr unterschiedlich in der Geschwindigkeit (Implementierung Linux/FreeBSD), da kann auch ZFS nicht schnell sein. Ähnlich ist es mit BTRFS oder EXT4, stelle mal „zfs set sync=disabled poolname“ ggf. mit „zfs set atime=off poolname“ ein und dein ZFS fliegt fast allem davon. Sollte aber nicht verwendet werden, wenn du Datenbanken oder sehr kritische Dinge betreibst. Mit „zfs set compression=lz4 poolname“ sparst Du auch noch Platz. Danke für die Antwort!