Ich habe mich früher schon gefragt, warum man eigentlich eine Batterie für einen Raidcontroller Cache braucht, wenn man denn 2 Netzteile und 'ne USV hat. Das man also ohne BBU den Cache nicht verwenden kann, fand ich damals schon dämlich.
Hier im Forum wird immer wieder betont, wie wichtig PLP bei SSDs ist, weil man dadurch deutlich mehr Performance bekommt. Ich habe mich damals schon gefragt, was PLP denn mit Performance zu tun hat. Da ich mich aber nicht auskenne, habe ich die Aussage einfach übernommen. Jetzt bin durch die horrenten Preise zu PLP SSDs wieder über die Frage gestolpert, ob ich denn wirklich PLP brauche. Wenn man im Internet danach sucht, findet man bei einigen SSD-Anbietern immer wieder die gleiche Erklärung: PLP-SSDs bringen zusätzliche Kondensatoren mit, die bei einem Stromausfall den flüchtigen Cache auf die Speicherzellen schreiben. Nun stellt sich mir aber weiterhin die Frage, was das mit Performance zu tun hat. So weit ich es noch im Kopf habe argumentieren, die Vertreter dieser Meinung wie folgt: Raid-Controller oder Raid-Filesysteme wie zfs deaktieren den Festplatten-Cache, damit gesichert ist, dass die Daten wirklich sicher geschrieben wurden. Wenn eine Platte aber PLP hat, wird der Cache nicht deaktiviert und darum ist die Performance besser. Siehe:https://www.reddit.com/r/storage/co...gain_of_plp_powerlossprotection_drives/?tl=de
Berichtigt mich, wenn ich es falsch wieder gebe! Meine Recherche ergab ein anderes Ergebnis. Da dieses Thema immer bei zfs aufkam, habe ich mich auch auf zfs konzentriert.
Leider kann ich es nicht nachprüfen, da ich hier keine zfs installation habe, aber die Quelle, die ich gefunden habe, behauptet, das zfs keinen Cache abschaltet, sondern davon ausgeht, dass er an ist und bei Sync-Writes manuelle Flush Commands an das Gerät senden. Siehe:https://serverfault.com/questions/995702/zfs-enable-or-disable-disk-cache/995729#995729
Prüfen kann man den Cache mit:
Aus- und Einschalten mit:
Für mich ergibt das die Schlussfolgerung, dass der Performanceboost nicht mit PLP zu tun hat, sondern einfach der Tatsache geschuldet ist, dass man Enterprise SSDs einsetzt. Die haben eben noch ganz viele Spielerreien verbaut wie größeren Cache, bessere Cachezellen, besseren Controller usw. usf.
Wie kann man nun die Sync-Writes vom zfs noch beschleunigen, wenn man einen SLOG einsetzt oder Full-Flash fährt? Nun schlage ich den Bogen zu meinem Einleitungsthema. Ich beleuchte hier das Thema natürlich nur bezüglich einer professionellen Unternehmensumgebung. Wenn ich einen Server mit 2 Netzteilen und einer USV habe, dann ist der Stromausfall praktisch ausgeschlossen. Warum sollte dann das zfs regelmäßig flushen? Denn wenn es das tut, wartet es auch jedesmal auf die Rückmeldung, ob es passiert ist. Die Latenz des Storage steigt. Wäre es dann nicht sinnvoller diesen Vorgang im zfs zu deaktivieren? Ich denke ja.
Dies macht man indem man einen Paramter setzt (/etc/modprobe.d/zfs.conf).
Hier im Forum wird immer wieder betont, wie wichtig PLP bei SSDs ist, weil man dadurch deutlich mehr Performance bekommt. Ich habe mich damals schon gefragt, was PLP denn mit Performance zu tun hat. Da ich mich aber nicht auskenne, habe ich die Aussage einfach übernommen. Jetzt bin durch die horrenten Preise zu PLP SSDs wieder über die Frage gestolpert, ob ich denn wirklich PLP brauche. Wenn man im Internet danach sucht, findet man bei einigen SSD-Anbietern immer wieder die gleiche Erklärung: PLP-SSDs bringen zusätzliche Kondensatoren mit, die bei einem Stromausfall den flüchtigen Cache auf die Speicherzellen schreiben. Nun stellt sich mir aber weiterhin die Frage, was das mit Performance zu tun hat. So weit ich es noch im Kopf habe argumentieren, die Vertreter dieser Meinung wie folgt: Raid-Controller oder Raid-Filesysteme wie zfs deaktieren den Festplatten-Cache, damit gesichert ist, dass die Daten wirklich sicher geschrieben wurden. Wenn eine Platte aber PLP hat, wird der Cache nicht deaktiviert und darum ist die Performance besser. Siehe:https://www.reddit.com/r/storage/co...gain_of_plp_powerlossprotection_drives/?tl=de
Berichtigt mich, wenn ich es falsch wieder gebe! Meine Recherche ergab ein anderes Ergebnis. Da dieses Thema immer bei zfs aufkam, habe ich mich auch auf zfs konzentriert.
Leider kann ich es nicht nachprüfen, da ich hier keine zfs installation habe, aber die Quelle, die ich gefunden habe, behauptet, das zfs keinen Cache abschaltet, sondern davon ausgeht, dass er an ist und bei Sync-Writes manuelle Flush Commands an das Gerät senden. Siehe:https://serverfault.com/questions/995702/zfs-enable-or-disable-disk-cache/995729#995729
Prüfen kann man den Cache mit:
hdparm -W /dev/sda
Aus- und Einschalten mit:
hdparm -W 1 /dev/sda
hdparm -W 0 /dev/sda
Für mich ergibt das die Schlussfolgerung, dass der Performanceboost nicht mit PLP zu tun hat, sondern einfach der Tatsache geschuldet ist, dass man Enterprise SSDs einsetzt. Die haben eben noch ganz viele Spielerreien verbaut wie größeren Cache, bessere Cachezellen, besseren Controller usw. usf.
Wie kann man nun die Sync-Writes vom zfs noch beschleunigen, wenn man einen SLOG einsetzt oder Full-Flash fährt? Nun schlage ich den Bogen zu meinem Einleitungsthema. Ich beleuchte hier das Thema natürlich nur bezüglich einer professionellen Unternehmensumgebung. Wenn ich einen Server mit 2 Netzteilen und einer USV habe, dann ist der Stromausfall praktisch ausgeschlossen. Warum sollte dann das zfs regelmäßig flushen? Denn wenn es das tut, wartet es auch jedesmal auf die Rückmeldung, ob es passiert ist. Die Latenz des Storage steigt. Wäre es dann nicht sinnvoller diesen Vorgang im zfs zu deaktivieren? Ich denke ja.
Dies macht man indem man einen Paramter setzt (/etc/modprobe.d/zfs.conf).
options zfs zfs_nocacheflush=1