zfs auf dem Server - und auch auf dem Desktop Rechner?

  • Ersteller Ersteller holgerw
  • Erstellt am Erstellt am
H

holgerw

Guest
Hallo,

ausgehend von diesem Thread möchte ich zu zfs eine Diskussion beginnen. Ich sehe in dem Thread von @guru keine zfs Abwertung, sondern im Kern lediglich folgende Behauptungen zu diesem modernen Dateisystem:

- ufs2 braucht weniger Ressourcen als zfs
- zfs mit seinen vielen Optionen ist eher für den Serverbetrieb relevant, als für einen Desktop Rechner
- mehr Optionen bedeuten größere Komplexizität, daher ist ufs2 (gerade für BSD Einsteiger) überschaubarer beim Handling

Schwierig sind für mich als BSD-Anfänger verschiedene Kommentare zum Ressourcenverbrauch einzuschätzen. Im PC-BSD Forum ist, so mein Eindruck, der Grundtenor, dass zfs erst ab 8 GB Ram Freude macht, @Yamagi sagt hier, dass 4 GB schon gut sind, auf dem Notebook meiner Frau mit Intel Quadcore und 4 GB Ram hatte ich eine miese Performance unter PC-BSD mit zfs und kde4, auf meinem Notebook mit Intel Dualcore unter FreeBSD mit ufs2 und kde4 läuft das System flüssig.

Wenn man zfs so vorkonfigurieren kann, dass es auch auf Systemen mit 4 GB Ram ordentlich läuft, ist es natürlich übertrieben, zfs als Ressourcenfresser zu bezeichnen. Nur wo findet man solche Anleitungen?

Davon abgesehen:
Welche Vorteile auf einem Desktop Rechner hat zfs im Gegensatz zu ufs2?
Bringt zfs etwas bei Rechnern mit nur einer Festplatte?

Viele Grüße,
Holger
 
Merke:
1) Bei den maßlosen Verschwendern von Resourcen, wie PCBSD es irgendwie immer ist, würde ich keinen Pfifferling drauf geben, was die meinen, wo man sparen sollte.

2) Mit einer Platte ist ZFS nett, aber der tiefere Sinn erschließt sich mir nicht.

3) Ab zwei Platten würde ich nichts anderes mehr einsetzen wollen, es ist sehr performant, extrem zuverlässig und es ist fast unmöglich es so kaputt zu machen, daß man Daten verliert.

Andererseits muß man manche Sachen auch mal "realistisch" betrachten, wobei man das auch mit dem Datum tun muß!
http://www.tedunangst.com/flak/post/ZFS-on-OpenBSD
 
Bis vor einigen Jahren habe ich "im Zweifel UFS" gesagt. Inzwischen ist daraus ein "im Zweifel ZFS" geworden. Es stimmt, dass ZFS etwas mehr Ressourcen in Form von RAM als UFS benötigt. Aber man muss es relativ sehen. Vor 10 Jahren waren 4GB RAM Top-Ausstattung, heute ist alles unter 16GB für neue Hardware untermotorisiert. ZFS blockiert schon seit vielen Jahren (seit spätestens FreeBSD 9.2) den RAM nicht mehr stumpf, sondern gibt ihn frei, sobald andere Anwendungen ihn benötigen. Nennenswerte CPU-Auslastung produziert ZFS nur in komplexeren RAID-Verbünden, dafür spart man sich den teuren und potentiell fehleranfälligen Hardware-RAID-Controller. Kurz gesagt, auf halbwegs moderner Hardware hat man die von ZFS benötigten Ressourcen einfach.

Dazu kommt, dass ZFS einige sehr sinnvolle Eigenschaften hat:

  • Bei UFS sind 7% des Bruttospeicherplatz nicht nutzbar. Klingt erstmal nicht viel, aber auf einer 8TB Platte sind das schon um und bei 600GB. ZFS reserviert hingegen nur 3,3%.
  • UFS benötigt auf real existierender Hardware nach Crashes und Stromausfällen ein fsck, ZFS aufgrund von Transaktionen und dem Nicht-Überschreiben von Daten nicht. Die Dauer des fsck ist von der Göße des Dateisystems und der Anzahl Dateien abhängig. Schon auf heute üblichen 6TB bis 8TB Platten ist das ein Geduldsspiel, auf größeren Arrays ist man schnell in einer unfreiwilligen Mittagspause.
  • Man will auf großen Platten mit einer Fehlerrate von 10^14 keine Daten speichern, ohne ihre Konsistenz prüfen zu können. Bit Rot ist durch die hohen Speicherdichten leider auch für unbedarfte Endnutzer sehr real geworden. ZFS ermöglicht das durch seine Checksums sehr effizient und elegant, andere Dateisysteme verlangen nach komplexen Wegen mit viel Overhead.
  • Das Killerfeature schlechthin sind aber Snapshots. UFS Snapshots sind sehr rudimentär und performancelastig, man nutzt sie in der Praxis daher nicht. ZFS Implementierung hingegen hat so gut wie keinen Overhead. Jedem ist schon mal ein rm(1) ausgerutscht. Dank rotierender ZFS-Snapshots kostet es nur die letzten paar Minuten und nicht den ganzen Tag oder noch mehr, wenn man keine zeitnahen Backups hat.
 
Hasllo,

danke erstmal für Eure Antworten. Ich möchte bald auf meinem Desktop Rechner FreeBSD 10.3 neu installieren, bisher läuft dort ein älteres FreeBSD 10.

Mein Desktop Rechner hat 8 GB DDR3 Ram, einen Intel Quadcore. Verbaut sind dort zwei SSD Platten.

Nun bin ich doch mal neugierig auf zfs. @Yamagi hat schon einige Details aufgezählt, die doch sehr zugunsten von zfs sprechen. Ich möchte gerne bei der Installation die Festplatte manuell vorbereiten. Hier etwa gibt es ein ordentliches Howto von Warren Block zur Partitionierung, allerdings auf ufs2 bezogen:
http://www.wonkity.com/~wblock/docs/html/ssd.html

Gibt es so etwas auch bezogen auf zfs?

Viele Grüße,
Holger
 
Für den Einstieg in ZFS kann man wirklich "FreeBSD Mastery: ZFS" (ISBN: 978-0692452356) empfehlen. Geht zwar nicht sonderlich in die Tiefe aber für den Gesamtzusammenhang und erste Installationen ist es sicherlich zu empfehlen.
 
Find' ich gut den Hinweis.

Es vergegenwärtigt, dass Wissen nicht umsonst zu haben ist und erarbeitet werden muss.
 
Dazu kommt, dass ZFS einige sehr sinnvolle Eigenschaften hat:
Zu all den von Dir genannten Punkten: ACK.
Es gibt noch einen wichtigen weiteren:
Man erspart sich (im wesentlichen) die Partionierung:
* Nimmt man nur eine Partition, so dauert fsck ewig, und man hat einen single point of failure.
* Nimmt man verschiedene Partitionen (z.B. nach dem Vorschlag des klassischen FreeBSD-Installers, oder auch modifiziert), stellt man paar Jahren nach der Installation fest, dass /X vollläuft, dafür aber in /Y massig Platz bleibt. Zum klassischen Partitionieren gibt es auch das passende Zitat aus Michal W. Lucas, Allan Jude: FreeBSD Mastery ZFS, p.75:
We make our best guesses at how much disk space each partition on this system will need next month, next year, and five years from now. Fast forward to the future, and the amount of space you decided to give to each partition is more than likely wrong. A partition without enough space for all its data sends you adding disks or moving data, compklicating system management. When a partition has too much space, you kick yourself and use it as dumping ground for stuff you'd rather have elsewhere. More than one of Lucas' UFS2 systems has /usr/ports as symlink to somewhere in /home. Jude usually ends up with some part of /var living in /usr/local/var.
Das Buch ist zu empfehlen, und inzwischen ist auch die Fortsetzung FreeBSD Mastery: Advanced ZFS erschienen (auf totem Baum: http://www.amazon.de/FreeBSD-Master...8684/ref=sr_1_3?ie=UTF8&qid=1461484223&sr=8-3 Kindle: http://www.amazon.de/FreeBSD-Master...YIRM/ref=sr_1_2?ie=UTF8&qid=1461484223&sr=8-2 ) und liegt hoffentlich am Montag oder Dienstag bei mir im Briefkasten. ;)

ciao
chaos
 
Hier lernt man wirklich einiges :D

Für mich als Anfänger ist ZFS einfach hoch interessant. Ich habe auch viel im Umgang mit damals noch Linux gelernt, indem ich mir ein Slackware in den Kopf gesetzt habe und dann Probleme lösen musste. In den letzten Monaten ist mein Interesse für Unix wieder um ein vielfaches gestiegen, praktischerweise kurz vor den Abschlussprüfungen.

Ich habe mir diesen Computer ja auch angeschafft, um damit zu lernen. Mit einem dauerhaft installierten OS (meine letzten Computer waren Zeitbomben) will ich einen Betriebszustand aufrechterhalten, da ist das von @chaos angesprochene Problem nicht irrelevant. In Summe scheint es pflegeleichter zu sein. Alles weitere sehen wir, wenn mein SunFire v20 da ist.
 
All die guten ZFS-Eigenschaften, die man unter Umständen ja auch erst mal einbauen muss, brauchen also doch ein gehörig Maß an Wissen und damit Zeit, um sie zu verstehen.
Snapshots kommen auch nicht von selbst zu Stande und wenn wir gerade dabei sind, bei einem Desktop-System, das vielleicht nicht mal jeden Tag für eine oder zwei Stunden läuft, weiß ich nicht so recht, ob sie da überhaupt angebracht sind, weil sie doch auch eine gewisse Zeit brauchen, oder?
Desktop Systeme (von diesen will ich hier zunächst mal nur reden und annehmen, dass sie der typische Einsatz bei einem Enduser sind), bieten auch gegen rm(1) Probleme den von manchen als praktisch empfundenen Papierkorb und es gibt bei rm die Option -i und außerdem ja auch mv(1) als Alternative (mv file-xyz to_my_basket). Natürlich ist klar, das Yamagi nur ein Beispiel setzen wollte und meine Gegenbeispiele sind im gleichen Sinn gemeint.
Snapshots sind indessen keine Redundanz. Geht eine Platte defekt, sind die Snapshots auch weg und so brauche ich jedenfalls zusätzliche Sicherungsmechanismen und dann kann man eben auch ganz gut ohne Snapshots leben, weil man ja eh von den wichtigen Dingen Backups anlegt.
Was ich da sagen möchte: ZFS bringt sicher einige gute Eigenschaften mit, doch wenn ich nur eine Platte im Rechner habe und etwa in einem Notebook, das nur mal gelegentlich für kurze Zeit eingeschaltet wird, dann kann man diese Eigenschaften gar nicht wirklich nutzen.

fsck. Das dauert lange. Es hört sich so an, als müsse man quasi Arbeitstäglich fsck fahren. Ich erinnere mich nicht, wann ich das zum letzten Male musste. Dabei habe ich schlechte Stromnetze und häufige Schwankungen und Ausfälle.

In einem anderen Beitrag habe ich die Ansicht schon mal vertreten, dass es wahrscheinlich nicht das alleinig glücklich machende Dateisystem gibt und je nach individueller Lage immer ein Kompromiss gefunden werden muss. So habe ich von dieser modernen HW, die ZFS einfach wegstecken kann, ohne dass man davon etwas merkt, keine im Einsatz und ich wüsste nicht mal, was ich auf einer 1-TB Platte unterbringen sollte, geschweige denn auf 8-TB. Das sind für mich unglaubliche Zahlen, was da in einem PC an Daten auf einer Platte liegen kann. Mein derzeitiges FreeBSD 10.3-Release braucht bisher etwa 11-GB* und mit Ports etwa 15-GB* und das bedeutet, bis zu 1-TB wäre gigantisch viel Luft für ... ich weiß es nicht.
Also, auf den 15-GB* sind meine wichtigen Daten, Briefe, Mails etc. ja schon enthalten!
Ich fühle mich damit so langsam, wie einer aus der Steinzeit und vielleicht bin ich das auch wirklich (es ist überaus wahrscheinlich und ich glaube sogar, dass ich besonders viel Neandertaler-DNA geerbt habe, doch das ist ein anderes Thema), aber ich will nicht meine HW nun entsorgen, weil es etwas schickes Neues gibt, was ich damit nicht kann. Zumal mir das Neue nichts besser macht, als ich es mit meinem Alten auch habe. Die Betonung liegt darauf, dass es MIR nichts besser macht.

Selbst dann, wenn ich irgendwann mal einen neuen PC kaufe und bessere HW habe, überlege ich mir die Wahl des Dateisystems sehr gut. Nun habe ich ZFS gewählt, weil ich zwei Festplatten im PC habe, die bisher an einem HW-Raid hingen und die ich nun über ZFS zu einem Mirror verbandelt habe, bin aber bei der Performance des Systems (gegenüber vorher) etwas enttäuscht.
Dass ein Desktop PC zwei Festplatten hat, ist vielleicht auch heute noch unüblich.
Das war für mich ein Grund, auf ZFS zu setzen. Und damit kommen wir dann langsam in den Server-Bereich und damit in den professionellen Einsatz.
Während ich als Endnutzer froh bin, einfach von den Vorteilen von ZFS profitieren zu können, ohne dafür viel Aufwand zu betreiben, gilt das auf dem Servergebiet ja nicht. Da muss optimiert werden und da dürfen nur Leute arbeiten, die sich auskennen.
PCs und Betriebssysteme, erst Recht Dateisysteme (ZFS ist mehr, viel mehr) sind nicht mein Hobby und nicht mein Beruf. Ich will nicht und ich werde nicht erst ein Buch lesen, um ZFS zu lernen und besser zu begreifen, weil das meine Zeit unnötig blockieren würde. Ein einfaches Ergebnis, das ist OK. Die man-Page und die Anweisungen im Handbuch, das geht, aber darüber hinaus macht es für mich keinen Sinn, wenn ich alle fünf bis zehn Jahre einen PC neu installiere, Zeit in tiefgründiges Detail-Wissen zu verschwenden. Damit gebe ich mich natürlich auch nicht der Illusion hin, besonders pfiffige Lösungen zu fahren, sondern ich bin mit grundsätzlicher Funktion schon zufrieden.
Auch dies nochmal:
Ein einfacher Endanwender kann ohne tiefere Kenntnisse ZFS einsetzen und erfolgreich nutzen und ich selbst bin so jemand, der für ZFS auch wirklich extrem dankbar ist. Doch ZFS' Möglichkeiten ausnutzen und es wirklich gut einsetzen, das kann man offenbar dann, wenn man tiefere Detailkenntnisse erwirbt, wie sie typischerweise dem Profi vorbehalten sind.
Dass solch ein Profi aus seinem Wissen dann auch die richtigen und passenden Einstellungen für seinen eigenen Desktop-Gebrauch ziehen kann, steht natürlich außer Frage.
Dass er die eine oder andere Einstellung mit uns armen Endnutzern teilt, sei ihm ausdrücklich gedankt.

Trotzdem bleibt die Wahl des Dateisystems eine individuelle Angelegenheit und muss auf den jeweiligen Kontext bezogen werden, zu dem nicht nur HW und Einsatzzweck, sondern auch Wissen und Können des Anwenders gezählt werden muss. Dann macht es für mich durchaus immer noch Sinn, UFS einzusetzen, besonders bei Desktop-Rechnern.


*auf dem ZFS mit lzh4. Ist mir zu spät aufgegangen, also Faktor zwei nemen
 
Als Hobby- und Hinterhoffrickler, zu denen ich mich auch zählen darf, muss man vielleicht erst mal verstehen, dass Snapshots keine Backups sind.

Ich sehe es ähnlich wie @pit234a . Für den normalen Anwender macht UFS seine Sache mindestens gut. Da ist zfs eher Luxus, den man kaum sinnvoll nutzen kann, da die Voraussetzungen fehlen. Wer hat schon die Möglichkeit, seine eventuell erstellten Snapshots auf einem entfernten Rechner zu speichern?

Die Antwort auf die Frage, ufs oder zfs, könnte vielleicht hammer sein. Aber das ist wohl ziemlich weit OT - schade eigentlich.
 
Da ist zfs eher Luxus, den man kaum sinnvoll nutzen kann, da die Voraussetzungen fehlen. Wer hat schon die Möglichkeit, seine eventuell erstellten Snapshots auf einem entfernten Rechner zu speichern?
Wieso auf einem entfernten Rechner? Du kannst die Snapshots auch ganz einfach als *.gz auf einer USB Platte speichern.
Code:
zfs send rpool/wasauchimmer@snap01 | gzip > backup-full-rpool-wasauchimmer@snap01-$(date +%Y%m%d).gz

Ich habe mal zwei praktische Beispiele für ZFS:

1) Ich mache immer mit beadm einen Snapshot, bevor ich mit freebsd-update am System etwas mache. Wie oft kann man hier im Forum lesen: "Nach freebsd-update bootet mein System nicht mehr..."? Mit ZFS und beadm ist das mit 1 Befehl erledigt und das System steht wieder da wie vorher. Dies kann man auch verwenden, bevor man pkg upgrade macht.

2) Kollege hatte einen Crash. Nach 2 Stunden rumbasteln, lief das Teil wieder halb halb. Jetzt schnell Backup machen und dann weiter schauen! Ja das Backup dauerte 40min mit ZFS und einem Snapshot wären das in zwei Sekunden erledigt gewesen.

Gruss
 
@pit234a

Man könnde dann aber auch gleich sagen, nutze Windows/MAC auf dem Desktop/Notebook und beschäftige dich nicht mit Unix für die paar
Sachen die warscheinlich nicht mit Windows/Mac gehen. :-)

Viele Grüße

Jörg
 
Wieso auf einem entfernten Rechner? Du kannst die Snapshots auch ganz einfach als *.gz auf einer USB Platte speichern.
Der entfernte Rechner hat sich beim Lesen eingeprägt - dass dafür ein einfaches USB Medium genügt, hatte ich tatsächlich nicht auf dem Schirm.
1) Ich mache immer mit beadm einen Snapshot, bevor ich mit freebsd-update am System etwas mache. Wie oft kann man hier im Forum lesen: "Nach freebsd-update bootet mein System nicht mehr..."? Mit ZFS und beadm ist das mit 1 Befehl erledigt und das System steht wieder da wie vorher. Dies kann man auch verwenden, bevor man pkg upgrade macht.

2) Kollege hatte einen Crash. Nach 2 Stunden rumbasteln, lief das Teil wieder halb halb. Jetzt schnell Backup machen und dann weiter schauen! Ja das Backup dauerte 40min mit ZFS und einem Snapshot wären das in zwei Sekunden erledigt gewesen.
Die Beispiele sind sehr gut gewählt - insbesondere das 1. finde ich überzeugend!
 
Ich fahre gerade mehr so die Richtung: Auf dem Desktop ein schnelles Dateisystem, wichtige Daten aber per Netzwerk auf ein ZFS-Dateisystem. Mittels GBit/s Verbindung zum Server ist das auch nicht sonderlich langsamer als eine normale Festplatte im Desktop.

Ich hatte auch überlegt mir ZFSonLinux anzutun aber, unabhängig davon, dass es der FreeBSD Variante ganz schon hinterher kriecht (kein TRIM), rechnet es sich einfach irgendwie nicht. Klar, man hat etwas bessere Fail-Recovery, aber ist ja nicht so als das System hier ständig am zerbröseln ist. Bei einem Datenträger fallen eh die meisten Vorteile von ZFS weg und die IO-Performance halbiert sich... muss man halt sehen ob man das will.

Also mein Standpunkt ist eher: Ohne RAID kein ZFS.
 
@pit234a

Man könnde dann aber auch gleich sagen, nutze Windows/MAC auf dem Desktop/Notebook und beschäftige dich nicht mit Unix für die paar
Sachen die warscheinlich nicht mit Windows/Mac gehen. :-)

Viele Grüße

Jörg

Ja, das könnte man. Keines dieser Systeme bietet ZFS und manchmal wissen die Anwender gar nicht, was ein Dateisystem überhaupt ist und nutzen die beiden erwähnten Systeme doch mit ausgezeichnetem Erfolg für sich.
Diese beiden und eine Reihe weiterer Systeme brauchen unter Umständen Konzepte zur Datensicherung, die nichts mit Eigenschaften des Dateisystems zu tun haben. Hat man derartige Konzepte erarbeitet, die unabhängig vom jeweils verwendeten Dateisystem greifen, bleiben die Möglichkeiten von ZFS exotisch, weil kaum ein Betriebssystem dieses anbietet.

Ich fahre gerade mehr so die Richtung: Auf dem Desktop ein schnelles Dateisystem, wichtige Daten aber per Netzwerk auf ein ZFS-Dateisystem.

Genau das macht mir auch den meisten Sinn, denn dann sind diese Daten auch Plattform-übergreifend vorhanden.
Angenommen, mein PC macht in den nächsten Minuten Schluss (oh weh! seit ich neu aufgesetzt habe, sind meine automatischen Sicherungen noch nicht aktiviert! böse Falle), dann hätte ich im günstigsten Fall die Daten aus meinem ~/ gesichert. Innerhalb weniger Minuten könnte ich mit einem anderen PC ein beliebiges Live-Linux booten, die Daten einbinden und zumindest mit Standard-Anwendungen weiter arbeiten, ohne erst noch nach einer Lösung zu suchen, wie ich meinen Z-Pool importiere und FreeBSD neu installiere.

ZFS ist für mich das schönste, geschmeidigste und bisher zuverlässigste "Tool", das sehr einfach mehrere Platten zu Raids zusammen legen kann und dafür bin ich wirklich sehr dankbar und nutze es gerne. Außerdem kann es gut sein, dass dann, wenn ich eine neue und sehr schnelle HW mit verdammt viel Plattenplatz hätte UND einen Desktop mit FreeBSD bauen möchte, dass ich dann auch zu ZFS greifen würde. Die HW würde es mich nicht merken lassen und ich könnte die Vorteile nutzen.
Trotzdem gelten meine alten Grundsätze zur Datensicherung weiter, die vor ZFS und auch für andere Systeme erstellt wurden und sich für mich bewährt haben. Deshalb brauche ich nicht unbedingt ZFS auf dem Desktop, könnte auch OS-X nutzen oder GNU/Linux.
 
Zurück
Oben