ZVol erstellen endet mit einem "Unknow Error"

The_Think3r

Member
Sep 12, 2020
2
0
6
44
Hi Leute.

Heute wollte ich bei uns, ein PSB aufsetzen.
Ich habe schön das alte Raid zerstört. Und eingestellt, das die Platten einzeln durchgereicht werden. Dann alle Platten gesäubert und neu initialisiert.
Dann wollte ich über die GUI ZFS Create machen. Habe auch schön alles wie gewünscht ausgewählt und dann wenn er Anfang krieg ich nur ein Unknow Error.

Okay dachte ich dann halt mal über die CLI und schauen was da kommt.



Code:
root@pbs:~# proxmox-backup-manager disk zpool create devnull --devices sda,sdb,sdc,sdd,sde,sdf,sdg,sdh,sdi,sdj,sdk,sdl,sdm,sdn,sdo,sdp,sdq,sdr,sds,sdt,sdu,sdv,sdw,sdx,sdy,sdz --raidlevel raidz3

create RaidZ3 zpool 'devnull' on devices 'sda,sdb,sdc,sdd,sde,sdf,sdg,sdh,sdi,sdj,sdk,sdl,sdm,sdn,sdo,sdp,sdq,sdr,sds,sdt,sdu,sdv,sdw,sdx,sdy,sdz'

# "zpool" "create" "-o" "ashift=12" "-m" "/mnt/datastore/devnull" "devnull" "raidz3" "sda" "sdb" "sdc" "sdd" "sde" "sdf" "sdg" "sdh" "sdi" "sdj" "sdk" "sdl" "sdm" "sdn" "sdo" "sdp" "sdq" "sdr" "sds" "sdt" "sdu" "sdv" "sdw" "sdx" "sdy" "sdz"

TASK ERROR: command "zpool" "create" "-o" "ashift=12" "-m" "/mnt/datastore/devnull" "devnull" "raidz3" "sda" "sdb" "sdc" "sdd" "sde" "sdf" "sdg" "sdh" "sdi" "sdj" "sdk" "sdl" "sdm" "sdn" "sdo" "sdp" "sdq" "sdr" "sds" "sdt" "sdu" "sdv" "sdw" "sdx" "sdy" "sdz" failed - status code: 1 - invalid vdev specification

use '-f' to override the following errors:

raidz contains devices of different sizes

Mache ich aber das ganze direkt über ZFS funktioniert der Kram.
Code:
zpool create -f -o ashift=12 devnull raidz3 /dev/sd{a..z} -m /mnt/datastore/devnull


Klar weiß ich, dass die HDD´s unterschiedliche Größen haben. Aber genau das macht es ja aus um ZFS zu nutzen. Ich möchte ja zb in 2 Jahren einfach 20 TB Platten dazu stecken können. Das er die größten HDD´s für die Parity nutzt ist mir auch klar. Ich nutze eine Mischung aus 3,4,10tb platten insgesamt 80TB.


Der proxmox-backup-manager hat natürlich auch kein Paramter das man dies forcieren kann.

Hier wünschenswert wären bessere Fehlermeldungen.

Übersehe ich was?
 
Das ist aber auch ungünstig mit einem Mix aus 3, 4 und 10TB HDDs. Im Endeffekt erhältst du dann einen pool der 26x 3 TB fassen kann, also effektiv 23x 3TB bei raidz3 nutzbar und davon dann nur 80% nutzbar weil bei ZFS immer 20% frei bleiben sollte da es sonst wegen Copy-on-Write langsam wird und schneller fragmentiert. Und man kann wegen CoW auch nicht defragmentieren (man kann höchstens alles vom Pool runterschieben und erneut draufkopieren). Hättest du dann 55,2 TB effektiv nutzbar. Außerdem nicht vergessen, dass da PBS alles als einzelne deduplizierte (und damit quer über die Platte verstreute und nicht sequentiell schreib-/lesbare) Chunk-Dateien mit max 4MB Dateigröße speichert. Machst du die 55,2 TB dann voll und gehen wir mal von 4MB pro Chunk aus (wird weniger sein, weil ja noch Kompression benutzt wird und sich Zero-Data gut rauskürzen lassen), dann wären das mindestens 13,8 Millionen Dateien auf dem Pool. Und bei jedem GC Job muss PBS für alle 13,8 Millionen Dateien einzeln die atime setzen/checken. Das wird Tage dauern, besonders da deine 26 HDDs in einem Raidz keine bessere IOPS-Performance haben als eine einzelne HDD. IOPS skalieren bei Raidz wie bei einem Raid5/6 nicht mit der Anzahl der Disks. Da wirst du also nicht wirklich Spaß mit haben.

Was mehr Sinn machen würde wäre mehrere kleine Raidz aus gleich großen HDDs zu bilden und die dann zu stripen für eine bessere IOPS-Performance und damit auch die volle Größe der Disks ausgenutzt werden kann. Oder besser gleich ein Striped Mirror statt einem Striped Raidz1/2/3 nehmen. Und dann am besten noch einen paar SSDs als "Special Device" Mirror für den Pool, damit die Metadaten auf den SSDs und nicht den HDDs gespeichert werden müssen. Dann sind die Prune und GC Tasks wenigstens in absehbarer Zeit erledigt weil dort fast nur Metadaten bearbeitet werden müssen, die dann ja auf den schnellen SSDs liegen.
Backups-, Restore- und Verify-Tasks werden dann aber trotzdem höllisch langsam sein.
 
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!