ZFS Storage mit Cache (single / mirror)

odiug_de

New Member
Mar 6, 2024
15
0
1
Hallo,
ich komme von einem Win10 Rechner, den ich als "Server" missbraucht hatte. Derzeit übe ich mit Proxmox VE 8.1.4, eingerichtet auf einem alten Proliant 380 G9, der mir günstig in die Hände gefallen ist. Proxmox selber ist auf zwei SSDs installiert, die in Proxmox als ZFS Pool (mirror) angelegt sind.
Ich möchte nun zwei Festplatten als Datenplatten einbauen und würde diese wieder besseren Wissens ebenfalls als zfs Pool (mirror) anlegen und weil ich noch kleinere SSDs habe, dachte ich mir, diese als Cache mit einzubauen und hätte gedacht, diese auch gespiegelt einzusetzen. Wenn ich die gefundenen Anleitungen richtig verstehe, braucht man oder macht man das nicht und ich verstehe nicht so recht warum. Ich habe auch keine Möglichkeit gefunden, das über die GUI zu machen.
Aus der Anleitung:"
Note that for cache devices no mirror or raid modi exist, they are all simply accumulated. If any cache device produces errors on read, ZFS will transparently divert that request to the underlying storage layer."

Oder bilde ich aus zwei SSDs einen zfs Pool (mirror) und nutze dieses dann als Cache?
Besten Dank und Gruß
 
Ich möchte nun zwei Festplatten als Datenplatten einbauen und würde diese wieder besseren Wissens ebenfalls als zfs Pool (mirror) anlegen und weil ich noch kleinere SSDs habe, dachte ich mir, diese als Cache mit einzubauen und hätte gedacht, diese auch gespiegelt einzusetzen.
Cache braucht man nicht zwingend spiegeln und Cache bringt dir auch in den wenigstens Fällen etwas. Nehm die SSDs lieber als zusätzlichen Pool oder füge sie den HDDs als Special Devices hinzu um die HDDs zu beschleunigen, indem du die Metadaten von den lahmen HDDs auf die schnellen SSDs auslagerst. Siehe: https://forum.level1techs.com/t/zfs-metadata-special-device-z/159954

Proxmox selber ist auf zwei SSDs installiert, die in Proxmox als ZFS Pool (mirror) angelegt sind.
Ich möchte nun zwei Festplatten als Datenplatten einbauen und würde diese wieder besseren Wissens ebenfalls als zfs Pool (mirror) anlegen
Raid1(Mirror) würde ich auch immer mindestens haben wollen. Außer du hast mehr Disks, dann kann man auch über etwas wie Raid10(Striped Mirror) oder Raid6(Raidz2) nachdenken.

Wenn ich die gefundenen Anleitungen richtig verstehe, braucht man oder macht man das nicht und ich verstehe nicht so recht warum. Ich habe auch keine Möglichkeit gefunden, das über die GUI zu machen.
Ja, das geht nur über die CLI. Wer meint sowas zu brauchen, der kennt sich üblicherweise auch genug mit ZFS aus, dass das ein Kinderspiel ist das über die CLI zu machen. PVE beschränkt sich da im webUI echt nur auf das Simpelste. Selbst zum Ersetzen der Disks wirst du nicht um die CLI herumkommen (und ich finde das hätte längst in das webUI gemusst).
SLOG als Write Cache bringt dir nur etwas bei Sync Writes. 99% deiner Writes sind vmtl. Async Writes die null gecacht werden. Also meist eine Verschwendung, außer du hast viele Sync Writes durch Datenbanken und Co oder du nutzt Consumer Grade SSDs (was nicht empfehlenswert ist) die keine Power-loss Protection haben und daher schreckliche Abnutzung und Performance haben sobald Sync Writes ins Spiel kommen. Da sollte man dann aber eben auch keine Consumer SSDs für den SLOG nehmen und ich vermute mal du hast keine Enterprise SSDs.
L2ARC als Read-Cache klaut dir RAM, den du dann nicht mehr als schnellen Read-Cache im RAM (ARC) nutzen kannst, dafür bekommst du dann mehr langsamen Read-Cache auf der SSD (L2ARC). Du sorgst also nur dafür dass du mehr aber langsameren Cache hast. Ob es besser ist 6 Fiestas in der Garage stehen zu haben als einen Porsche kann sich jeder selbst aussuchen. Wenn man meint man braucht einen größeren Read-Cache dann kauft man sich besser mehr RAM. Oder man nutzt gleich SSDs statt HDDs, dann merkt man auch keinen großen unterschied mehr ob nun etwas direkt von der NVMe SSD gelesen wird oder aus dem RAM. Da bräuchte es echt schon spezielle Fälle, wo man mit L2ARC statt mehr RAM besser bedient wäre.
Und Spiegeln brauchst du die nicht, weil es eben nur Cache ist wo es nicht groß stört, wenn der mal weg ist. Einzig der SLOG kann im Mirror Sinn machen, wenn du wirklich auf Nummer sicher gehen willst. Weil wenn die SLOG Disk während eines Abstützes/Stromausfalls ausfällt hättest du ohne Mirror ein Problem, da die ungeschriebenen Daten dann nur noch im flüchtigen RAM gespeichert wären, der dann auch auch weg ist. Solange dir die SLOG Disk ausfällt, während der Server weiter läuft, ist das auch völlig egal ob nun einzelne Disk oder Mirror.
 
Last edited:
Als lesecache kannst du einzelne Disks hinzufügen ohne RAID. Wenn du Metadaten und kleine Writes beschleunigen willst, nimm ein Mirror als Special Device. Aber bitte nur Enterprise SSDs mit PLP. Normale Consumer SSDs killst du extrem schnell.
 
Hallo, vielen Dank für die Antworten. Da habe ich wohl Cache mit Cache verwechselt. :) Ich ging fälschlicherweise davon aus, die Cache SSDs würden als Landing Plattform wie in Drive Bender oder wie der Cache Pool in Unraid funktionieren. Nein, dann verzichte ich, ist ja nur für zu Hause. Vielleicht kann ich die SSDs ja für die ein oder andere nicht redundant zu speichernde Datenbank nutzen.

Besten Dank ...
ps: Ich habe übrigens noch andere Probleme mit Windows VMs
https://forum.proxmox.com/threads/win11-win10-vm-friert-ein.142917/
 

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!