Über ZFS

Bei ZFS handelt es sich um ein relativ neues Dateisystem von Sun Microsystems. Ich hatte bereits vor einigen Jahren in einem Heise Online Artikel über ZFS gelesen und war damals sofort sehr angetan von diesem Dateisystem.

Das besondere an ZFS ist, dass es nicht nur ein Dateisystem ist, sondern auch noch gleich einen Volume-Manager integriert hat. Der Volume-Manager unsterstütz dabei RAID-0 (Daten werden gleichzeitig auf mehrere Platten aufgeteilt), RAID-1 (Mirroring) und RAID-Z. Bei RAID-Z handelt es sich um eine Art von RAID-5, bei dem auch eine Festplatte ausfallen darf. Ebenfalls kann durch den Volume-Manager die Dateisystemgröße, durch hinzufügen oder entfernen von Festplatten, während des Betriebes geändert werden.

Bei dem Dateisystem handelt es sich um ein 128-Bit Dateisystem und unterstützt daher riesige Partitionen bzw. Dateigrößen. Ebenfalls besitzt ZFS die Fähigkeit schnell und einfach Snapshots und Clones vom Dateisystem zu erstellen. ZFS ist zudem immer in einem konsistenten Zustand, benötigt daher kein Journal oder Filesystem-Checks. Eine weitere Fähigkeit von ZFS ist die Kompression.

Ich benutze ZFS nun seit einiger Zeit auf meinem File-Server (Betriebssystem: Solaris 10) zu Hause, auf dem ich zum größten Teil Backups meiner Rechner bzw. meines Servers lagere.

Besonders schön finde ich die Administration von ZFS, die wirklich sehr einfach und schnell zu lernen ist. Es geht wirklich sehr schnell einen Pool anzulegen und in diesen dann wiederum Dateisysteme zu erstellen. Für diese ganzen Aktionen sind nur zwei Programme notwendig: zpool und zfs. Um einen Eindruck über die Administration zu erhalten, empfehle ich einen Blick auf diesen Screencast zu werfen.

Besonders die Kompressionsfähigkeit von ZFS finde ich vorteilhaft für meinen File-Server. Zwar bremst die eingeschaltete Kompression etwas die Performance aber das Sparen von Speicherplatz ist mir auf meinem File-Server wichtiger. Genau aus diesem Grund habe ich mich dazu entschieden, zu testen wie gut in ZFS komprimiert wird. Ich habe habe das mit einer ca. 8MB großen Log-Datei und einem Ordner mit insgesamt etwa 33MB an verschiedenen Dateien getestet. Zum Vergleich habe ich die Dateien ebenfalls mit gzip und bzip2 komprimiert. Zusätzlich habe ich diese auch auf ein NTFS Laufwerk mit eingeschalteter Kompression kopiert, um auch Kompressionsraten von NTFS von denen mit ZFS zu vergleichen. Bei gzip und bzip2 wurden die Standardeinstellungen verwendet.

Die Ergebnisse:

Log-Datei
Mechanismus Größe Größe in %
ohne 8264kB 100%
ZFS 927kB 11,2%
NTFS 5184kB 62,7%
gzip 304kB 3,7%
bzip2 136kB 1,6%

 

Ordner mit Dateien
Mechanismus Größe Größe in %
ohne 33649kB 100%
ZFS 20153kB 59,9%
NTFS 22887kB 68,0%
gzip 8840kB 26,3%
bzip2 6336kB 18,8%

Wie zu erwarten war, hat ZFS gegen bzip2 und gzip keine Chance, was die Kompressionraten angeht, jedoch sind die Ergebnisse zufriedenstellend. Bei der Log-Datei hat ZFS besser komprimiert als bei dem Ordner mit mehreren Dateien. Eindeutiger Verlierer war NTFS, besonders bei der Log-Datei hat NTFS eine, im Vergleich zu den anderen Methoden, sehr schlechte Kompression erreicht. 

Fazit: Für meinen File-Server reicht die Kompression von ZFS aus, da sie einen guten Kompromiss aus Performance und Kompressionsrate liefert. Ich kopiere meine Backups meistens per rsync auf den File-Server, also nicht komprimiert und da ist die Kompression von ZFS sehr nützlich. Auch die Möglichkeit den Pool jederzeit durch den Einbau einer Platte zu vergrößern, ist ein großer Pluspunkt. Natürlich kann man das auch durch andere Systeme ermöglichen, wie z.B. unter Linux mit LVM, jedoch sind diese nicht so leicht und schnell zu konfigurieren wie ZFS. Daher ist ZFS für mich ein sehr gutes Dateisystem. Außer Solaris und OpenSolaris unterstützen mittlerweile auch andere Betriebssysteme ZFS.  So existiert in Mac OS X 10.5 bereits die Möglichkeit lesenden auf ZFS zuzugreifen und es wird in Zukunft bestimmt auch einen schreibenden Zugriff geben. FreeBSD besitzt seit Release 7.0 eine experimentelle Version von ZFS.

Mein neuer Server

Seit zwei Wochen habe ich hier zu Hause meinen neuen Server in Betrieb und deshalb möchte ich ein wenig über diesen berichten.

Meinen letzten Server habe ich vor etwa zwei Jahren wegen Altersschwäche außer Betrieb genommen. Ich habe mir danach keinen neuen Server eingerichtet, weil Strom auch nicht gerade billiger wurde. In dieser Zeit gab es aber doch den einen oder anderen Moment, in dem ich die Vorteile eines Servers sehr vermisst habe. 

Ich habe zwar seit längerem einen File-Server am Laufen, auf den ich meistens meine Backups von meinem PC und meinem MacBook Pro kopiere und andere Daten lagere. Der File-Server läuft aber nicht im Dauerbetrieb und ich schalte ihn nur dann an, wenn ich entweder Daten brauche oder Backups mache.

Vor einiger Zeit fing ich dann wieder an, mir Gedanken um einen neuen 24/7 Server zu machen. Dabei waren mir folgende Punkte sehr wichtig.

Der Server sollte …

  • … möglichst wenig Energie verbrauchen
  • … Leistungsstark genug sein, um alle Dienste zu bewältigen, die ich auf ihm laufen lassen möchte. Zu den Diensten gehören unter anderem: VPN-Server, Webserver + PHP, PostgreSQL Datenbank
  • … möglichst leise sein

Nach längerem hin und her, habe ich mich dann für das Mini-ITX Mainboard D945GCLF von Intel entschieden. Auf dem Board befindet sich ein Intel Atom Prozessor mit 1.6 GHz. Dieser Prozessor zeichnet sich besonders durch seinen sehr niedrigen Energieverbrauch aus. Das Board ist schnell genug für meine Anforderungen und ist dazu auch noch recht günstig. Zusammen mit dem Mainboard habe ich mir auch noch ein 1GB DDR2 RAM Riegel, eine 160GB 2,5″ Festplatte und ein kleines Barebone Gehäuse bestellt. Die 2.5″ Festplatte habe ich ebenfalls wegen dem geringeren Energieverbrauchs und Lärmentwicklung gewählt und mich daher gegen ein 3.5″ Modell entschieden. 

Als Betriebssystem setze ich auf meinem Server FreeBSD ein, im Gegensatz zu meinem damaligen Server, auf dem ich Debian GNU/Linux benutzt habe. An FreeBSD habe ich in letzter Zeit sehr viel Gefallen gefunden. Linux war toll um die ersten Schritte mit einem Unix ähnlichen Betriebssystem zu machen und dieses zu erforschen. Doch mit den wachsenden Erfahrungen, wurde für mich FreeBSD immer interessanter, da ich es als professioneller empfinde. FreeBSD hat den Ruf, sehr zuverlässig und stabil zu sein, was für einen Server ja bekanntlich immer gut ist. Auch die Entwicklung finde ich besser als bei Linux, da sie viel zentraler und übersichtlicher ist. Weitere Unterschiede zwischen BSD und Linux kann man hier nachlesen. Ebenfalls sehr zu empfehlen ist die Sendung von Chaosradio Express, die sich in der Ausgabe 48 sehr detailliert mit dem Thema FreeBSD beschäftigen.

Nun läuft mein Server seit zwei Wochen und ich bin sehr zufrieden. Der Energieverbrauch des Servers liegt bei etwa 35 – 40 Watt, was meiner Meinung sehr gut ist. Auch die Performance ist sehr gut, alle genutzten Dienste laufen super. Der einzige Kritikpunkt war die Lautstärke des Kühlers, der auf dem Mainbaord den Chipsatz kühlt. Dieser ist für seine Größe (40mm) sehr laut. Aber das Problem lies sich durch austauschen gegen ein leiseres Modell schnell beheben.

Veröffentlicht in FreeBSD, Server. Kommentar schreiben »

Sooo …

… es ist mal wieder so weit: Ich habe wieder angefangen einen Blog zu schreiben. 

In diesem Blog möchte ich primär auf Informatik spezifische Themen eingehen, wie z.B. Server Administration oder programmieren. Ich will meine Erfahrungen auf diesem Gebiet weitergeben aber auch Programme / Skripte, die ich geschrieben habe, der Allgemeinheit zur Verfügung stellen.

Aber auch andere Themen werde ich eventuell anschneiden. Wir werden sehen, wie sich die Sache so entwickelt. 

Dann drückt mir mal die Daumen.

Veröffentlicht in Allgemein. Kommentar schreiben »