ZFS: Ungewöhnlich viele Writes

Ich hab die Mühle vor Tagen neu gestartet und damit den default wieder hergestellt, ich bin jetzt bei ca. 60GB pro Tag.
Ist jetzt nicht grade wenig, aber wie gesagt, Influx und Prometheus und co malen auf den Laufwerken rum...

Ich hab jetzt noch mal 60 Sekunden gesetzt, mal gucken ob sich was tut. Bisher sind die Tests nicht wirklich aufschlussreich.
 
Also lustiger Weise befinden sich die Writes jetzt wirklich im Abwärtstrend. Statt bisher 60GB pro 24h jetzt bei 48GB... mal gucken wann es stagniert. Nice. Aber ja der txg_timeout von 60 ruft eigentlich nach einer USV...
 
Aber ja der txg_timeout von 60 ruft eigentlich nach einer USV...

oder eine anständige (=Enteprrise) SSD mit kapazitiven Puffern um Spannungsabbrüche zu kompensieren... dann brauch man keine USV, die nicht bei Software- und Hardwarefehlern einspringt. Immer schön den Spruch im Kopf behalten: "Anything that can go wrong will go wrong"
 
Na, moment mal, was hilft dir denn die Powerloss Protection bei einem Blackout mit den Daten die noch im RAM sind und es nicht zur Disk geschafft haben? Der txg_timeout hat ja nix mit dem on Disk Cache zu tun der ja selbst für ZFS transparent sein sollte.

Wobei man auch mal die Kirche im Dorf lassen muss, die Menge an Daten die ich persönlich worst case verlieren würde bei 60 Sekunden ist gelinde gesagt zu verschmerzen... Das hier ist für mich jedenfalls eine rein "sportliche" Betätigung und interessiert mich einfach / macht Spaß.

Man kann (fast) jedes Problem mit Geld erschlagen, aber darum gehts nicht :D
 
WTF. 24GB pro 24h anstelle von 60GB... das ist schon ne Hausnummer. Also das txg_timeout scheint in der Tat echt was zu bringen. Muss natürlich noch mal wieder die Gegenprobe machen... Doof das das immer mindestens 24h dauert :D

2020-07-07 09_02_06-Prometheus Expression Browser – Opera.png
 
Na, moment mal, was hilft dir denn die Powerloss Protection bei einem Blackout mit den Daten die noch im RAM sind und es nicht zur Disk geschafft haben? Der txg_timeout hat ja nix mit dem on Disk Cache zu tun der ja selbst für ZFS transparent sein sollte.

Jo, das hat damit auch nichts zu tun, das stimmt schon, aber mit der USV.

Wobei man auch mal die Kirche im Dorf lassen muss, die Menge an Daten die ich persönlich worst case verlieren würde bei 60 Sekunden ist gelinde gesagt zu verschmerzen...

Jo, klar. Jeder was er will. Ist ne gute Alternative zu kaputten Consumer SSDs.

WTF. 24GB pro 24h anstelle von 60GB... das ist schon ne Hausnummer. Also das txg_timeout scheint in der Tat echt was zu bringen.

Was mich mal noch interessieren wären die geschriebenen Bytes im zpool im Vergleich zu den Smart-Werten. Hat du beides im Monitoring? Falls nicht wäre das noch was. Da könntest du deine Write-amplification dann sehen.

Es gibt im ZFS ein Feld names written, dass dir alle geschriebenen Bytes angeben kann. Diese muss man aber zuerst noch zusammenzählen. Im Monitoring würde ich dann mal die Werte für non-negative-difference vergleichen vom ZFS und von SMART:

Code:
zfs get -o value -p -H -r written rpool | gawk -M '{s+=$1}END{print s}'

Musst dir wahrscheinlich noch gawk installieren.
 
  • Like
Reactions: AndrwHmmr
...
Was mich mal noch interessieren wären die geschriebenen Bytes im zpool im Vergleich zu den Smart-Werten. Hat du beides im Monitoring? Falls nicht wäre das noch was. Da könntest du deine Write-amplification dann sehen.

Es gibt im ZFS ein Feld names written, dass dir alle geschriebenen Bytes angeben kann. Diese muss man aber zuerst noch zusammenzählen. Im Monitoring würde ich dann mal die Werte für non-negative-difference vergleichen vom ZFS und von SMART:

Code:
zfs get -o value -p -H -r written rpool | gawk -M '{s+=$1}END{print s}'
...

Gute Idee, sehr spannend! Danke! Ich kümmere mich bei Zeiten drum.
 
Ich habe hier einen kleinen Homeserver mit einer Crucial BX500 120GB als Bootplatte für Proxmox mit ZFS.
Kann ich hier ohne Negative Effekte den Timeout auf 60 Sekunden setzen?
Gibt es hier noch anderweitig Möglichkeiten zur Optimierung?


Ich möchte die Platten möglichst gut schonen
 
Ich habe hier einen kleinen Homeserver mit einer Crucial BX500 120GB als Bootplatte für Proxmox mit ZFS.
Kann ich hier ohne Negative Effekte den Timeout auf 60 Sekunden setzen?
Gibt es hier noch anderweitig Möglichkeiten zur Optimierung?


Ich möchte die Platten möglichst gut schonen

Ich hab in meiner zweiten Node auch die BX500 120GB als Mirror im Einsatz. Failen (SMART) regelmäßig weil sie zu heiß werden... *facepalm*
Ich würde es dir empfehlen und Nachteile hast du dadurch keine (außer halt die 60 Sekunden die dir flöten gehen können)

EDIT: Und da fällt mir ein, das ich das auch noch selber machen muss, bisher habe ich mich nur um meine 970 EVOs gekümmert, die BX500 sind halt cheap as chips, wenn die durch sind gibts halt einfach neue :D (das könnte auch ne case study werden für die BX500er :D :D :D )
 
Last edited:
Ich habe hier einen kleinen Homeserver mit einer Crucial BX500 120GB als Bootplatte für Proxmox mit ZFS.
Kann ich hier ohne Negative Effekte den Timeout auf 60 Sekunden setzen?
Gibt es hier noch anderweitig Möglichkeiten zur Optimierung?


Ich möchte die Platten möglichst gut schonen

Also bei mir haut Proxmox als Cluster Member mit einer VM (auch Prometheus) etwa 25-30GB pro Tag auf die SSDs (BX500er).
Sollte mit den 40TBW also auch etwa 4 Jahre halten bevor die offiziell durch sind.

Mal gucken was das txg_timeout von 60 Sekunden damit macht.
 
oder eine anständige (=Enteprrise) SSD mit kapazitiven Puffern um Spannungsabbrüche zu kompensieren... dann brauch man keine USV, die nicht bei Software- und Hardwarefehlern einspringt. Immer schön den Spruch im Kopf behalten: "Anything that can go wrong will go wrong"
Kannst du da irgendwas an Enterprise SSDs empfehlen die man gut gebraucht schießen kann (und dann auch noch was taugen wenn sie gebraucht sind)? Gibts da überhaupt irgendwas mit SATA? Enterprise ist doch meistens SAS und für einen HBA Adapter hab ich aktuell gar keinen freien PCIe Slot mehr :eek:

Ich spiele nämlich mit dem Gedanken auf Enterprise SSDs umsteigen sobald die Samsungs "verbraucht" sind. Mit dem höheren txt_timeout lässt sich zumindest vorerst der Zeitpunkt noch etwas herauszögern wenn das soweit sein wird ;-)
 
Kannst du da irgendwas an Enterprise SSDs empfehlen die man gut gebraucht schießen kann (und dann auch noch was taugen wenn sie gebraucht sind)? Gibts da überhaupt irgendwas mit SATA? Enterprise ist doch meistens SAS und für einen HBA Adapter hab ich aktuell gar keinen freien PCIe Slot mehr :eek:

Ich spiele nämlich mit dem Gedanken auf Enterprise SSDs umsteigen sobald die Samsungs "verbraucht" sind. Mit dem höheren txt_timeout lässt sich zumindest vorerst der Zeitpunkt noch etwas herauszögern wenn das soweit sein wird ;-)

Ich habe mir letztens privat PM863 gekauft, sind SATA und super. Hab davon auf der Arbeit einige seit vielen Jahren im Einsatz und noch keinen Ausfall und noch keine nennenswerte Einbrüche beim Wearout.
 
Tag X rückt näher :D
Nach etwas mehr als 3 Jahren in meinem Proxmox Server, gut es liefen jetzt auch ne Menge VMs und Container drauf...
1697727922232.png
Edit: Es sind übrigens die 500GB EVOs mit 300TBW. Also in ~3 Jahren ca. 250TB geschrieben.
 
Last edited:
Spannend zu beobachten. Meine Kingston stagnieren bei 2% wearout. Mal sehen, seit einer Woche noch Special Device mit drauf. Wenn sie 2 Jahren halten bin ich glücklich.

Woran macht ihr eigentlich Enterprise fest? An PLP?
 
Ja, PLP ist der gemeinsame Nenner. Dann noch Formfaktor (U.2 statt M.2) und Schnittstelle (SAS statt SATA). QLC ist inzwischen ja auch schon bei Enterprise Disks angekommen (und SLC + MLC NAND leider auch bei Enterprise SSDs inzwischen ausgestorben) und DWPD kann ja auch sehr stark schwanken und auch mal deutlich unter der 1 DWPD liegen. Ein Vorteil finde ich aber bei Enterprise SSDs noch die Vorhersagbarkeit. Da versucht man dir selten etwas unbrauchbares anzudrehen und alles ist fest spezifziert. Da steht dann XYZ Layer TLC NAND im Datenblatt und das bekommt man dann auch nach Jahren noch so...nicht wie bei Consumer SSDs wo ich mir das gleiche Modell zeitgleich in 2 Läden fürs Raid1 kaufe und einmal eine mit QLC NAND bekomme und eine mit TLC NAND, weil da noch alte bessere Restbeständig im Lager waren.
 
Und wer hat im Privatbereich u2 und SAS? Aber wenn PLP der Nenner ist, dann bekommt man für 100€ immerhin schon 1TB neu.

Es hat sich eh einiges getan. Die heutigen Controller sind deutlich robuster und auch konstanter.
 
Ich schiele momentan auf die Western Digital Red SN700 oder die Seagate FireCuda 530 SSD jeweils in 2TB
Die haben eine TBW von 2.55 PB und somit reichlich "Vorrat".
PLP haben die wie ich es sehe beide nicht, aber das war für mich bisher nie ein Thema.

Und im Homelab würde ich mich sicher nicht auf Enterprise Features versteifen. U2 und SAS schön und gut aber einen wirklich Vorteil habe ich in MEINEM Lab davon sicher nicht.
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!