[SOLVED] raidz vs draid - Performance Frage

Elleni

Active Member
Jul 6, 2020
170
9
38
51
ich bin am 2 pve & 1 pbs am aufsetzen. Alle Server haben 15 x 2TB sata Disks verbaut für den Datenpool. Das OS wird auf 2 kleinere Platten in Mirror Konfiguration aufgesetzt.

Bei den PVE nodes ist mir vor allem die Performance wichtig, also Durchsatz und IO. Ein Ausfall einer Platte sollte nicht grad die Node lahmlegen, aber andererseits habe ich die zweite Node mit Replikation und auch die Sicherungen auf pbs zur Verfügung.

Ich habe mich nun in ZFS eingelesen und die - für mich neue - draid Konfiguration entdeckt, darum die Frage:

Ich dachte daran, 3 raidz1 pools als Stripe zu konfigurieren, oder wie es scheint wäre auch draid1-3 eine Option. Lässt sich hierzu eine Aussage machen, was eher empfehlenswert ist, und was besser performen wird, oder ist dies eine Frage, welche sich ausschliesslich durch try and test beantworten lässt? Dann würde ich eine Node mit 3 raidz1 vdevs als Stripe konfigurieren, und eine node mit einem draid und dann testen, was besser performt?

Und falls letzteres der Fall ist - welches wären die richtigen fio Befehle, um die relevante Performance zu messen, welche für VM Performance wichtig ist?

Bitte um Info, falls weitere Parameter benötigt werden, um diese Fragen zu beantworten.

Last but not least - welche pool Konfiguration wäre für den PBS Server empfehlenswert, wo Datendurchsatz nicht ganz so wichtig ist, wie die Datensicherheit aber natürlich trotzdem bestmögliche Performance erwünscht ist?
 
Last edited:
Hi @Elleni,

es gibt ein tolles Tool von open-e welches dich das durch Konfigurieren lässt.

Was ich dir Empfehlen würde ist ein raidz1 mit 5 Datagroups und 3 Disk pro Datagroup.
Hier darf aber nur eine Festplatte ausfallen.
1739863548942.png

In einem raidz2 dürfen dir maximal 2 Festplatten gleichzeitig ausfallen aber weniger Performance.
1739863897538.png

Die Alternative wäre ein 3-way mirror, dort hast du aber relativ wenig Speicherplatz mit gleicher Performance aber dir können mehr Festplatten gleichzeitig ausfallen.
 
  • Like
Reactions: Elleni
Ein draid* stripe ist immer 16MB, PBS chunks nur 2-4 MB, insofern für deinen Fall als PBS Server leider völlig ungeeignet, weil es eine immense Platzverschwendung wäre. Wenn es eine Ablage von vm/lxc Images oder deren vzdump tar files ginge sähe die Sache "platzmäßig" anders aus, jedoch hättest du ein iops Problem, wenn die Images "aktiv" sind. Generell kannst du mit draid[1..3] nicht die Performance von entsprechendem raidz[1..3] übertrumpfen, erlaubt jedoch wesentlich schnellere "rebuilds" im Fall eines Plattenausfalls und etwas einfachere Administration bei sehr vielen Platten.
 
Last edited:
Guten Morgen @smueller danke für das Teilen des Tools, das ist wirklich toll und gibt einem eine Idee. Ich habe mich in der Tat auch gefragt, ob ein raidz1 in 3 oder 5 Gruppen genommen werden soll. Ich verstehe das schon richtig, dass insgesamt 3 Platten ausfallen können, jedoch nur eine pro Gruppe beim raidz1 stripe oder?

Mirror würde ich bei diesen vielen Platten eher nicht sehen, wegen der Effizienz.
 
Ein draid* stripe ist immer 16MB, PBS chunks nur 2-4 MB, insofern für deinen Fall als PBS Server leider völlig ungeeignet, weil es eine immense Platzverschwendung wäre. Wenn es eine Ablage von vm/lxc Images oder deren vzdump tar files ginge sähe die Sache anders "platzmäßig" anders aus, jedoch hättest du ein iops Problem, wenn die Images "aktiv" sind. Generell kannst du mit draid[1..3] nicht die Performance von entsprechendem raidz[1..3] übertrumpfen, erlaubt jedoch wesentlich schnellere "rebuilds" im Fall eines Plattenausfalls und etwas einfachere Administration bei sehr vielen Platten.
Guten Morgen @waltar verstehe. Dann wird es auch auf dem pbs auf ein raidz hinauslaufen, einfach eines welches mehr auf Platz Effizienz und Ausfallsicherheit als auf Geschwindigkeit ausgelegt ist.
 
Muss ich noch etwas beachten, wie blockgrösse o.ä. Wo kann ich mich da einlesen, um das richtig zu konfigurieren? Lese immer wieder auch von der Einstellung -o ashift=12. Kompression einschalten macht denke ich Sinn (bei pve und/oder pbs), Deduplizierung wohl eher weniger, wegen zu hohem RAM Verbrauch?
 
Wenn du ein raidz[1..3] (anstatt eines empfohlen aus "ssd-type" mirrors bestehend) für pbs einrichten möchtest, solltest du dringend ein zfs mirrored special device dazu anlegen, und du mußt Zeit für nötige Restores einplanen, aber das ist halt normal, wenn man Budget begrenzt ist.
Würde folgendes setzen: raidz2 aus 2 vdev und 1 hotspare, ashift=12, recordsize=128k (default), xattr=on, enable large_dnode, dnodesize=auto, atime+relatime=on (auch wenn es unbeliebt ist, aber ansonsten verliert man Funktionalität für find), compression=lz4. Good luck.
 
Ach moment, das hatte ich nicht mehr in Erinnerung, dass es die Empfehlung as ssd-type mirrors gibt. Werde die in demfall die pvbs Doku nochmals durchschauen aber - anders gefragt - wenn ich nach der Installation in der Gui den Pool anlege, wird die empfohlene Konfiguration automatisch vorgeschlagen? Dann richte ich mich gerne danach, anstatt zu experimentieren. Die ashift, recordsize xattr und dnode sowie atime/relatime settings die Du erwähnt hast sind spezifisch für den pbs, oder machen die auch Sinn in gleicher oder abgeänderter Form für die pve nodes?
 
Noch eine Anmerkung zu @waltar es gibt auch die Möglichkeit VDEV ZFS Mirror Special Device mit 3 oder mehr SSDs zu nutzen!
Das erhöht nochmals die Ausfallsicherheit und die Random 4k Read IOPs steigen weiter an.
Ganz grob mit VDEV ZFS Special Device 3 x Mirror:
Random 4k Read IOPs: ~ 3x SSD IOPs
Random 4k Write IOPs: ~1 x SSD IOPs
 
Last edited:
Die Optionen gelten neben pbs auch für pve, jedoch benutzt man bei pve mit zfs idR die zvol's (mit def. 16k im vm create Dialog), pool recordsize bleibt default. Trotzdem gilt idR für die Nutzung von pve+pbs auf zfs 1) mirrors zu nehmen und 2) ssd/nvme zu verwenden, jedoch ist beides kostenintensiver.
 
Hi @news und danke für Deinen Post. Wie würde diese Konfiguration bei 15x 2TB Disks aussehen? Wenn ich Dich richtig verstehe würde damit die Performance nochmals höher als mit den 5 vdevs à je 3 disks im raidz1 sein?
 
Die Optionen gelten neben pbs auch für pve, jedoch benutzt man bei pve mit zfs idR die zvol's (mit def. 16k im vm create Dialog), pool recordsize bleibt default. Trotzdem gilt idR für die Nutzung von pve+pbs auf zfs 1) mirrors zu nehmen und 2) ssd/nvme zu verwenden, jedoch ist beides kostenintensiver.
Danke, das war mir nicht klar, dann wäre die Frage welche mirror config mit diesen 15 disks am sinnvollsten wäre, was wahrscheinlich in die Richtung ginge, die auch news anspricht?

Etwas in die Richtung, oder mit Special Devices entsprechend weniger Gruppen?

1739873398796.png
 
Last edited:
Ich habe total nur die 15 x 2TB ssd's darum frage ich mich nun ob einfach die 14/2=7 Gruppen ohne Special Device ausreichend sind, oder ob ich Performance gewinne, wenn ich 12/2=6 Gruppen mit 1 spare und 2 für s special device nehmen würde. dann würde ich mal versuchen zu vergleichen 5x3 gruppen im raidz1 vs 6 oder 7 gruppen im striped mirror.
 
Last edited:
alles klar, sind alles ssd - 15 Stück - dann habe ich das schon richtig verstanden gehabt, dass die Special device Geschichte vor allem was bringt, wenn man hdds hat, Vielen Dank nochmal.
 
Last edited:
Hast du nun 15 hdd oder 15 ssd ? Bei sata-ssd's brauchst du kein "special-mirror".
Würde ich nicht unterschreiben. Gerade wenn du RaidZ1/Z2 oder D-Raid fährst würde ich immer ein Special Device nutzen. Ich habe das auch auf einem Server mit einem 50TB NVMe RaidZ Pool, mit Special Device haben wir fast 3 Fache Schreibleistung, trotz, dass es schon NVMe sind.
 
Naja, das sind Luxusprobleme, die man bei den übleichen kleinen Installationen eigentlich nicht hat :)
Aber so ein Special Device, vor allem wenn es noch etwas schneller im schreiben ist, wie zwei kleine MU oder Write Intensive SSDs können dem Pool ganz schön Schwung geben.
 
Ja, ist schon richtig, aber wie gesagt hier sind so viele kleine Inst. wie lüfterlose Hosts etc, wo man gearde 2 disks reinpassen etc,, Nvme-special mirror für Nvme-pool sind adlige Probleme :)
 
  • Like
Reactions: Elleni