ZFS vs. BTRFS

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
DeadCrowWalking
Beiträge: 6
Registriert: 10.07.2013 18:34:07

Re: ZFS vs. BTRFS

Beitrag von DeadCrowWalking » 12.07.2013 12:56:49

peschmae hat geschrieben:[...]Viel zu deduplizieren gibts da bei mir nicht wirklich, die Backups sind sowieso inkrementell mittels Hardlinks. Spart aber trotzdem jedes mal ein paar GB an Plattenplatz.
Ich glaube, seinen wirklichen Nutzen hat Deduplication allen voran in Servern für private Cloud Dienste und ähnlichem, wo es durchaus wahrscheinlich ist, dass mehrere Nutzer die gleichen Dinge speichern. Erst da lässt sich dann auch eine Menge Speicherplatz sparen.
Ist immer aber letztendlich eine Kosten/Nutzen-Frage, ob es wirklich sinnvoll ist, 'Dedup' zu nutzen. Bei ZFS - wie erwähnt - verbraucht es ja doch einiges an RAM und Leistung.

wanne
Moderator
Beiträge: 7616
Registriert: 24.05.2010 12:39:42

Re: ZFS vs. BTRFS

Beitrag von wanne » 12.07.2013 13:27:07

DeadCrowWalking hat geschrieben:
wanne hat geschrieben:Linux hat mittlerweile 3 hervorragend stabiel und schnell funktionierende verschlüsslungsmethoden. Wozu soll jeds Dateisystem das nochmal implementieren. Selbiges gilt für pooling/RAIDs.
Es hat schlicht seine gewissen Vorteile, wenn es direkt auf Dateisystemebene implementiert wurde. Ob man diese mag, braucht, oder für nötig erachtet ist dabei ja eher nebensächlich. Es hat ja auch keiner behauptet, dass das, was hinterher mit Btrfs möglich ist, nicht auch über Umwege bereits jetzt funktioniert. Ein Thema ist aber allein schon Effizienz. Das Dateisystem beispielsweise weiß ganz genau, welche Festplattensektoren belegt sind, welche Dateien geändert wurden seit den letzten Snapshots etc. und ähnliches gilt anschließend auch für die Verschlüsselung.
Und ein Hardware-RAID und ein Software-RAID auf Dateisystemebene... da könnten wir ein ganzes Thema allein für aufmachen, wo das Für und Wider ist. Simpel, vielleicht zu simpel ausgedrückt: Alles hat seine Vor- und Nachteile und ich sehe so einige für mich persönlich zumindest wünschenswerte Vorteile durch eine Implementation direkt auf der Dateisystemebene.
Pooling auf Dateisystemebene hat natürlich vorteile. (Wenn isch auch vieles ebenbütig oder besser mit LVM und RAIDS implementieren lässt.)
Aber auch Verschlüsslung? LUKS verschlüsselt schon heute genau die Blöcke, die geändert werden und kann nebenbei mittlerweile sogar trim (wenn man das will). Ich finde keinen einzigen Fall wo man noch was verbessern könnte. (Abgesehen von remote Access. Aber dazu ist es auch nciht gedacht.)
rot: Moderator wanne spricht, default: User wanne spricht.

DeadCrowWalking
Beiträge: 6
Registriert: 10.07.2013 18:34:07

Re: ZFS vs. BTRFS

Beitrag von DeadCrowWalking » 12.07.2013 17:55:35

wanne hat geschrieben:Pooling auf Dateisystemebene hat natürlich vorteile. (Wenn isch auch vieles ebenbütig oder besser mit LVM und RAIDS implementieren lässt.)
LVM und (Hardware-)RAIDs bedeuten in meinen Augen einen unnötigen zusätzlichen Layer, der auch noch dazu führt, dass ich bei weitem nicht so flexibel bin, wie wenn es auf FS-Ebene geregelt ist.
Letztendlich aber ist das alles Geschmackssache und eine Frage der Anforderungen, was man bevorzugt.
wanne hat geschrieben:Aber auch Verschlüsslung? LUKS verschlüsselt schon heute genau die Blöcke, die geändert werden und kann nebenbei mittlerweile sogar trim (wenn man das will). Ich finde keinen einzigen Fall wo man noch was verbessern könnte. (Abgesehen von remote Access. Aber dazu ist es auch nciht gedacht.)
Das Blöcke-Beispiel war auch eher greifend, was Pooling und RAID etc. anging. Aber dass LUKS es kann, heißt nicht, dass es unsinnig ist auf FS-Ebene Encyption zu implementieren oder zu nutzen.
Ich befürworte es jedenfalls, denn in meinen Augen macht eine Bündelung von Logikeinheiten immer Sinn.
Wahrscheinlich ist das wie mit systemd. Man kann lange über das Für und Wider diskutieren, auch weil die beiden Wege jeweils sowohl Vor- als auch Nachteile haben. Ich glaube jedoch, dass die Vorteile überwiegen.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: ZFS vs. BTRFS

Beitrag von NAB » 12.07.2013 19:30:40

DeadCrowWalking hat geschrieben:Leider wahr, aber gerade deshalb würde ich nicht auf zu lange Zeit im Voraus planen. Wenn die Platten getauscht werden müssen, ist bei einer Neuinstallation des Server oder anderen Systems immer die Möglichkeit gegeben aus dem gelernten zu profitieren und sich anders zu entscheiden.
Öhm ... das geht meiner Meinung nach an der Realität vorbei. "Neuinstallationen" des gesamten Systems spart man sich eh liebend gerne, darum haben ja Microsoft, RedHat und co. Support-Zeiträume von 5 bis 10 Jahren. Und darum setzt man bei dem Dateisystem auch ungerne auf ein totes Pferd, das einen irgendwann zur Neuinstallation zwingt. Und ZFS riecht da aus meiner Sicht schon etwas gammelig, während btrfs noch nicht ganz lebendig ist ... beides nicht die idealen Kandidaten - wie gesagt, aus meiner Sicht.
DeadCrowWalking hat geschrieben:solange nicht Btrfs auf dem Zielsystem von größerem Wert ist und eben die kleinen Risiken rechtfertigen.
Also bei mir hat btrfs durch das "fsck ist gleich fertig"-Drama derartig viel Vertrauen verspielt, dass ich mir die Sache gaaaanz entspannt aus weiter Entfernung angucke, bis das "experimental" weg ist.
DeadCrowWalking hat geschrieben:und es ist ja immer denkbar, dass sich ZFS angenommen wird im Open Source Land und auch wieder massive Weiterentwicklungen sieht.
Gerade das halte ich aus den oben genannten Gründen für unwahrscheinlich bis unmöglich. "Entwickelt" wird ZFS von Oracle, ebenso wie NTFS von Microsoft entwickelt wird. Es existieren lediglich (veraltete) Portierungen für BSD und (mit Krücke) für Linux. Für NTFS gibt es wenigstens eine Neuimplementierung unter Linux (auch veraltet, die kann noch keine Storage-Places), keine Portierung. Schon auf eine Aktualisierung von ZFS für BSD auf den aktuellen Stand wartet man seit 2010. Eine eigenmächtige Weiterentwicklung wäre wohl genau so erfolgreich, wie wenn man anfangen würde, in NTFS für Linux neue Features einzubauen.

Hinzu kommt noch die Sache mit den "Patenten", die anscheinend eine Neuimplementierung verhindern (was das GPL-Problem mit Linux lösen würde, wie bei NTFS). Ich hab da zwar keine genaue Ahnng von, aber die Grenzen zwischen "Weiterentwicklung" und "Neuimplementierung" sind fließend und wenn ich schon ein aktuelles ZFS nutzen wollen würde, käme wohl eine Lizenz von Solaris billiger als ein Streit mit dem Patentanwalt von Oracle.
DeadCrowWalking hat geschrieben:Aber das zähle ich auch mal zu den im Open Source Land üblichen eigenen Süppchen. Mir wäre lieber, man konzentriert sich auf wirklich vielversprechende Projekte wie Btrfs oder auch HAMMER(2), das ziemlich gut klingt. Auswahl zu haben ist immer gut, zu viel birgt dann aber immer wieder gefahr, dass viel gemacht wurde, aber eben nichts richtig.
Weiter oben hoffst du noch, dass die Entwickler ihre Energie auf ZFS verschleudern, statt an btrfs mitzuarbeiten ^^

Aber ich sehe das zumindest in diesem Fall anders. Die Dateisysteme scheinen unterschiedliche Grundkonzepte zu haben, wie man an die Datenverwaltung herangeht. Solche Konzepte entstehen meistens im Kopf irgendeines Informatikstudenten, der sich denkt "man könnte das doch auch ganz anders machen" und das dann einfach mal ausprobiert. Ich schätze, 99% solcher Konzepte verschwinden wieder, ohne dass du je irgendwas davon hörst ... der Rest sorgt aber für Neuentwicklungen, die gewaltigen Erfolg haben können. Es weiß ja niemand, ob das mittlerweile knapp 10 Jahre alte Konzept von ZFS nun wirklich das effizienteste ist.

Und wenn nie jemand eine Neuentwicklung wagen würde, und sich immer nur vorhandenen Projekten anschließen würde, dann würdest du jetzt immer noch BSD statt Linux nutzen.
peschmae hat geschrieben:Ich hab bedup hier schon ne Weile auf meinen Backupplatten am laufen. [...] Viel zu deduplizieren gibts da bei mir nicht wirklich, die Backups sind sowieso inkrementell mittels Hardlinks.
ehm ... so wie ich das "whole-file" von bedup verstehe, macht der eh nichts anderes, als identische Dateien zu suchen, und die dann quasi durch einen hardlink zu ersetzen. Das könnte man doch gerade auf Backup-Platten, wo es nicht vorkommt, dass nachträglich die Datei A geändert wird, nicht aber die identische Datei B geändert werden soll, doch auch auf jedem beliebigen Dateisystem per Script implementieren.

Ich denke, spannend wird das erst, wenn man anfängt, auf Blockebene zu vergleichen - da könnte das mp3 mit geänderten ID3-Tags von User A in Relation zu der Ursprungsdatei von User B auf eine Größe von einem einzigen Block zusammenschmelzen. Und um solche identischen Blöcke zu finden, könnte man die eh angelegten Checksummen vergleichen ... Blöcke mit identischer Checksumme sind höchst verdächtig, den selben Inhalt zu haben ... wozu man dann allerdings sämtliche Checksummen im Speicher halten muss, damit die Sache nicht ewig dauert.

Ich weiß ja immer noch nicht genau, was ZFS da macht, aber das könnte den großen Speicherbedarf erklären.

Aber das zeigt auch gleich, wie tückisch die Sache mit dem Deduplizieren ist. Eine 100GB große Datei zu kopieren, dauert dann auf einmal nur noch Sekundenbruchteile und der freie Speicher auf der Platte ändert sich nicht. Schreibe ich noch ein Byte an den Anfang der Datei, löse ich auf einmal eine gewaltige Kopieraktion aus, und hab plötzlich 100GB Platzbedarf auf der Platte. So ein Verhalten empfindet der unbedarfte Heimanwender vielleicht eher als "Verarschung" als als "Fortschritt".
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Re: ZFS vs. BTRFS

Beitrag von peschmae » 12.07.2013 22:59:43

NAB hat geschrieben:Ich denke, spannend wird das erst, wenn man anfängt, auf Blockebene zu vergleichen - da könnte das mp3 mit geänderten ID3-Tags von User A in Relation zu der Ursprungsdatei von User B auf eine Größe von einem einzigen Block zusammenschmelzen. Und um solche identischen Blöcke zu finden, könnte man die eh angelegten Checksummen vergleichen ... Blöcke mit identischer Checksumme sind höchst verdächtig, den selben Inhalt zu haben ... wozu man dann allerdings sämtliche Checksummen im Speicher halten muss, damit die Sache nicht ewig dauert.
Ich denke mal wenn man sich einen schönen Checksummenbaum bastelt kriegt man das auch mit deutlich weniger Arbeitsspeicher hin, ohne viel Tempo zu verlieren. Lange gehts natürlich trotzdem :)

Muss man wohl, sonst ist man irgendwo jenseits von 8 GB Ram für eine einzelne 4 TB Festplatte oder so. Etwas viel wenn die Maschine noch was anderes machen soll.
NAB hat geschrieben:
peschmae hat geschrieben:Ich hab bedup hier schon ne Weile auf meinen Backupplatten am laufen. [...] Viel zu deduplizieren gibts da bei mir nicht wirklich, die Backups sind sowieso inkrementell mittels Hardlinks.
ehm ... so wie ich das "whole-file" von bedup verstehe, macht der eh nichts anderes, als identische Dateien zu suchen, und die dann quasi durch einen hardlink zu ersetzen. Das könnte man doch gerade auf Backup-Platten, wo es nicht vorkommt, dass nachträglich die Datei A geändert wird, nicht aber die identische Datei B geändert werden soll, doch auch auf jedem beliebigen Dateisystem per Script implementieren.
Ja, manuelles Hardlinking ist natürlich bis zu einem Punkt vergleichbar. Wie gesagt - die Hardlinks gibts schon weil ich die Backups so mache.

Spart trotzdem zusätzlich Platz, weil über die Backups die von verschiedenen Systemen kommen durchaus auch Dateien geteilt werden. Die gehören verschiedenen Nutzern - sowas geht mit Hardlinks grundsätzlich nicht. Von nachträglichen Änderungen der Datei (die nicht vorkommen sollten, aber wenn sie vorkommen dann gleich alle betreffen würden) mal ganz abgesehen.

Ausserdem arbeitet bedup ausgehend vom Status der letzten Deduplikation und den seither am Dateisystem vorgenommenen Änderungen recht schnell. Könnte man mit Hardlinks wohl auch irgendwie machen, aber gleich Zuverlässig wird wohl schwierig?

Klar kann man da noch weitergehen - eine Deduplikation auf Blockebene wäre sicher interessant. Bei der Art Daten die ich da habe aber wahrscheinlich unmerklich besser.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

wanne
Moderator
Beiträge: 7616
Registriert: 24.05.2010 12:39:42

Re: ZFS vs. BTRFS

Beitrag von wanne » 13.07.2013 00:21:14

peschmae hat geschrieben:sowas geht mit Hardlinks grundsätzlich nicht.
Was ich schade finde ich fände es sinnvoller wenn die Rechte an den Links hängenwürden. Dann kann man einfach durch das Setzen eines Links seine Dateien mit anderen Teilen. Ist aber in Zeiten wo die Cloud sowieso ein eigenes inkompatibles Dateirechtesystem hat sowieso mehr und mehr irrelevant. Trotzdem schade.
rot: Moderator wanne spricht, default: User wanne spricht.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: ZFS vs. BTRFS

Beitrag von NAB » 13.07.2013 07:23:09

peschmae hat geschrieben:Ausserdem arbeitet bedup ausgehend vom Status der letzten Deduplikation und den seither am Dateisystem vorgenommenen Änderungen recht schnell. Könnte man mit Hardlinks wohl auch irgendwie machen, aber gleich Zuverlässig wird wohl schwierig?
Na, ich wollte jetzt nicht ernsthaft vorschlagen, dass man die Dedublication im Dateisystem einfach durch Hardlinks ersetzt. Warum das nicht sooo toll funktioniert, hast du ja schon erklärt. Es hat schon seinen Grund, warum das im Dateisystem besser aufgehoben ist.

Ich weiß nur nicht, was ich von dem Ansatz mit bedup in btrfs halten soll. Zum einen finde ich "batch deduplication" gar nicht schlecht, zum anderen scheint mir "whole-file" doch etwas zu primitiv zu sein.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Re: ZFS vs. BTRFS

Beitrag von peschmae » 13.07.2013 09:59:31

Naja, ist halt ein Anfang. Besser als nix. Gibt durchaus Pläne das richtig zu machen

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: ZFS vs. BTRFS

Beitrag von NAB » 13.07.2013 17:46:41

peschmae hat geschrieben:Gibt durchaus Pläne das richtig zu machen
Ah, danke! Ich wusste nicht, ob da noch Bewegung drin ist.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: ZFS vs. BTRFS

Beitrag von Colttt » 20.03.2014 20:10:32

wie ist eigentlich der Status hier bei btrfs?

kann btrfsauch raid1 über mehrere platten?? wie siehts mit raid5/6 aus? ist in zfs ja auch drin, sogar mit 3facher parität, theoretisch raid7

auch ein sehr nettes feature ist das man SSDs als Cache nutzen kann, gibts sowas für btrfs auch (abgesehn von dm-cache, etc.. ich meine etwas was im Dateisystem implementiert ist)

und wie siehts mit der performance aus? vor allem auch bei (mehreren) snapshots..

schonmal danke für die Info!
Debian-Nutzer :D

ZABBIX Certified Specialist

Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: ZFS vs. BTRFS

Beitrag von smutbert » 20.03.2014 21:18:21

Bei btrfs beeinflussen Snapshots (meiner Erfahrung nach) die Performance so gut wie überhaupt nicht und ich empfinde btrfs als angenehm schnell.

raid1 funktioniert hervorragend auch mit mehr als 2 Festplatten. Raid5/6 gibt es in btrfs glaube ich theoretisch seit ca. 1 Jahr, es könnte inzwischen also schon einigermaßen funktionieren :wink:

Eine eigene SSD-Cachefunktion gibt es in btrfs meines Wissens nicht.

Antworten