Storage-Technik und Partitionslayout mit ZFS

hippodriver

Well-Known Member
Hallo zum Zweiten!

Anläßlich des kommenden Wechsels auf Version 8 von FreeBSD möchte ich meine Datenhaltung modernisieren.

Ich hätte gerne Raid-1 für die Daten auf ZFS Basis.

Die einfachste Möglichkeit scheint mir in 2 Festplatten für das Raid-1 mit ZFS und einer Systemplatte mit UFS2 zu bestehen. Die Systemplatte könnte ja auch eine kleine 32GB SSD werden. Womit wir bei der Partitionierung wären.

Wenn ich eine normale Festplatte als Systemplatte nehme, packe ich dort alles außer $HOME drauf. Aber was mache ich bei einer kleinen SSD? Soll ich /var /tmp und das build directory der Ports auf das Raid legen, um die SSD zu schonen? Was ist mit der Swap Partition?

Die Kombination aus schneller, kleiner SSD und zwei langsamen, leisen Platten im RAID-1 fasziniert mich irgendwie.
 
Genau dieses Setup betreibe ich im Moment. 2x 1TB Platten als ZFS-Mirror und das System/Bootplatte auf einer SSD (32 GB OCZ Vertex).
Allerdings kein FreeBSD sondern Opensolaris, somit ist auch die Systemplatte(SSD) ZFS formatiert.

Ich hab mir bzgl. der SSD keine großen Gedanken gemacht...einfach das System draufinstalliert (relativ default) und gut. Selbst Home liegt bei mir da noch drauf...da es sich hier um einen kleinen Server handelt...da kommt ins Home-Dir sowieso nicht viel rein.
Dank ZFS Mountpoints könnte man später immer noch komfortabel auslagern.

Sollte die SSD das nicht vertragen...naja...dafür gibts Backups. Aber SSDs möchten nunmal gerne Festplatten sein (zumindest wollen uns die Hersteller das so verkaufen)...also warum dann nicht auch nutzen wie eine Festplatte.

Performancemäßig bin ich soweit zufrieden, habe aber noch keine umfassenderen Tests gemacht, da ich den Server vom Mainboard und CPU demnächst sowieso upgraden werde.

Wichtig beim Kauf der SSD war mir das Vorhandensein eines Cache-Speichers. Und da ist neben Intel die Vertex-Reihe von OCZ so ziemlich die einzigen Wahlmöglichkeiten. Intel war zu dem Zeitpunkt zu teuer...drum ists dann die OCZ geworden.
Wobei Intel demnächst eine Neuauflage Ihrer SSDs X25 rausbringen wird...zu günstigeren Preisen.
 
Hier mal ein Quick&Dirty Benchmark mit bonnie++

OCZ SSD 32 GB, ZFS, Opensolaris 2009.06. Keine besonderen Tunings oder Optimierungen.

Code:
Version 1.03c       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
testserver         4G 51813  98 78922  18 59974  15 37704  99 204143  18  3947   9
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 23008  96 +++++ +++ +++++ +++ 12436  99 +++++ +++ 11402  99
testserver,4G,51813,98,78922,18,59974,15,37704,99,204143,18,3947.3,9,16,23008,96,+++++,+++,+++++,+++,12436,99,+++++,+++,11402,99
 
Bedenke, dass FreeBSD 8.0 auch komplett auf ZFS laufen kann. Du also gar kein UFS2 mehr benötigst und direkt aus einem oder mehreren ZPools heraus arbeiten kannst. Da gibt es ein großes, noch in Arbeit befindliches Howto zu, was praktisch alle Randfälle abhandelt: http://wiki.freebsd.org/RootOnZFS

SSD sind schöne Teile, wenn man zwei Dinge im Kopf hat. Einmal ist es, dass es viele SSD gibt, da jeder mitmischen will. Aber es gibt nur wenige gute SSD, mit denen man auch Freude hat. Zum Beispiel die von Samsung, von Intel oder die von OCZ. Dann sollte man beachten, dass SSD mit steigender Befüllung durch das Wear-Leveling (was das "Auswaschen" der Flashzellen verhindern soll), mitunter drastisch an Geschwindigkeit verlieren. Oder anders gesagt, erwarte unter dem Strich keinen großen Vorteil gegenüber Platten, was die Geschwindigkeit anbelangt.
 
Bedenke, dass FreeBSD 8.0 auch komplett auf ZFS laufen kann.
Das wußte ich nicht. Dann käme ich mit zwei Platten hin. Ein Hintergedanke bei der SSD war, daß sie sich nicht bewegt und damit keine zusätzlichen Schwingungen auf das PC-Gehäuse überträgt.

Der Link ist super; zugleich ist er aber auch furchteinflößend. Wenn ich direkt aus ZFS boote, muß ich bei der Installation auf sysinstall verzichten. Zumindest für das Befüllen der Festplatte war er immer gut. Jetzt habe ich diesen ganzen BSDLabel / Partition / Boot Code Mist an der Backe.

Leider ist mein Szenario (1.2.2) im Wiki noch nicht erstellt. Naja, es ist ja nach mindestens 1 Monat Zeit.

Die Leserate der SSD sieht schon super aus. Aber um die SSDs ins RAID-1, als Datengrab, zu hängen, sind sie noch viel zu teuer. Ich sollte so eine in mein Notebook frickeln....
 
Bedenke, dass FreeBSD 8.0 auch komplett auf ZFS laufen kann. Du also gar kein UFS2 mehr benötigst und direkt aus einem oder mehreren ZPools heraus arbeiten kannst. Da gibt es ein großes, noch in Arbeit befindliches Howto zu, was praktisch alle Randfälle abhandelt: http://wiki.freebsd.org/RootOnZFS

Auch wenn es nicht zum Topic passt dazu mal noch eine Frage bezüglich des schg Flags. Wird das denn in -CURRENTs ZFS voll unterstützt? Unter 7 hatte ich damit ja noch Probleme auf dem Root Dateisystem.
 
Ja, das funktioniert. Du kannst in -CURRENT die erweiterten Attribute voll nutzen. Außerden funktionieren die aus Solaris bekannten NFSv4-ACL nun vollständig. Du kannst auf ZFS-Dateisystemen aber keine POSIX-ACL anwenden, wie du sie von UFS-Dateisystemen her kennst. Das wird fast sicher auch nie funktionieren, da es sich nur mit Änderungen am Datenlayout auf der Platte selbst implementieren ließe, was man vermeiden möchte.
 
Zurück
Oben