Restore von Proxmox Backup Server sehr langsam ZFS

heppi75

Member
Jan 28, 2022
7
0
6
65
Hallo,

ich habe bei Hetzner 2 Root Server.

Server PVE Host (Falkenstein): 2x3,84 TB NVMe SSD Datacenter Edition, konfiguriert als ZFS Pool
Server PBS Host (Helsinki): 2x6 TB Enterprise HDD, konfiguriert als ZFS Pool

Fio Tests:

fio --rw=readwrite --name=test --size=100M --direct=1 --bs=1024k

ZFS / NVME SSD
READ: bw=5750MiB/s (6029MB/s), 5750MiB/s-5750MiB/s (6029MB/s-6029MB/s), io=46.0MiB (48.2MB), run=8-8msec
WRITE: bw=6750MiB/s (7078MB/s), 6750MiB/s-6750MiB/s (7078MB/s-7078MB/s), io=54.0MiB (56.6MB), run=8-8msec

PBS / SATA HDD
READ: bw=4600MiB/s (4823MB/s), 4600MiB/s-4600MiB/s (4823MB/s-4823MB/s), io=46.0MiB (48.2MB), run=10-10msec
WRITE: bw=5400MiB/s (5662MB/s), 5400MiB/s-5400MiB/s (5662MB/s-5662MB/s), io=54.0MiB (56.6MB), run=10-10msec

Ich habe am PVE nun eine größere VM mit ca. 1 TB die ich regelmäßig auf den PBS sichere. Die erste initale Sicherung dieser VM hat ca. 2h 39m gedauert, was für mich absolut akzeptabel ist.

Nun habe ich aber gestern den Restore vom PBS auf den PVE zurück ausprobiert. Schaut dann in etwa wie folgt aus:

new volume ID is 'local-zfs:vm-100-disk-0'
download and verify backup index
progress 1% (read 10737418240 bytes, zeroes = 1% (130023424 bytes), duration 363 sec)
progress 2% (read 21474836480 bytes, zeroes = 1% (276824064 bytes), duration 780 sec)

Wenn ich den Fortschritt hochrechne (habe es dann abgebrochen) komme ich auf eine Restore Zeit von über 11 Stunden. Das ist natürlich im Bedarfsfall vollkommen unakzeptabel. Auch das Risiko, daß während dieser langen Zeit irgendein Abbruch stattfinden kann, ist natürlich sehr hoch.

Mich würde daher interessieren was die Profis hier in der Community dazu sagen. Mache ich da was falsch? Habe ich da irgendwo was falsch konfiguriert.

Bin für jeden Tipp dankbar.
 
Auszug aus Manual:

Recommended Server System Requirements​

...

  • Backup storage:
    • Use only SSDs, for best results
    • If HDDs are used: Using a metadata cache is highly recommended, for example, add a ZFS special device mirror.
Von HDDs ist abzuraten da halt sehr langsam. Nicht vergessen, dass da PVE alles als Chunks von max 4MB Größe (in der Praxis eher um die 2MB) speichert und wegen Deduplikation diese auch nicht rein sequentiell gelesen/geschrieben werden können. Ein Restore von 1TB muss also rund 500.000x 2MB Dateien öffnen die quer über die Platten verstreut sind.

Und deine fio Ergebisse messen nur Cache. 5,4 GiB/s können 2 HDDs ja nicht realistisch schaffen.
 
Last edited:
  • Like
Reactions: heppi75
Hi Dunuin, danke für deine Info. Ich werde mal ein Setup mit SSDs auf dem PBS ausprobieren. Irgendwie habe ich immer nur von ZFS auf dem PBS gelesen, das es wirklich mit HDDs so schlecht funktioniert, habe ich scheinbar immer übersehen.
 
Hi Dunuin, danke für deine Info. Ich werde mal ein Setup mit SSDs auf dem PBS ausprobieren. Irgendwie habe ich immer nur von ZFS auf dem PBS gelesen, das es wirklich mit HDDs so schlecht funktioniert, habe ich scheinbar immer übersehen.
ZFS aber auch vorallem (neben Bit Rot Protection), weil du deine HDDs mit SSDs unterstützen solltest, wenn man schon HDDs verwenden will. Dass da dann die SSDs als "Special Devices" arbeiten und alles an Metadaten rein auf den SSDs gespeichert wird, dass da die HDDs von weniger kleinem Random IO getroffen werden. Hilft besonders beim GC Task, aber auch sonst generell bei jeglichen Workloads.
 
Last edited:
Möchte das Thema nochmal aufgreifen. Habe mir gestern noch einen PBS mit NVMe's eingerichtet und ein Backup der 1 TB VM darauf abgespeichert. Die Backups zum PBS laufen generell (HDD bzw. SSD) sehr schnell und gut.

Hier nun der Restore - beide Server, PVE und PBS, haben jetzt NVMe's verbaut.

progress 1% (read 10737418240 bytes, zeroes = 1% (130023424 bytes), duration 142 sec)
progress 2% (read 21474836480 bytes, zeroes = 1% (276824064 bytes), duration 292 sec)
progress 3% (read 32212254720 bytes, zeroes = 1% (423624704 bytes), duration 468 sec)
progress 4% (read 42949672960 bytes, zeroes = 1% (570425344 bytes), duration 656 sec)

Man sieht natürlich schon einen deutlichen Unterschied zum vorherigen Setup. Dennoch dauert so ein Restore, meiner Meinung nach, immer noch zu lange. Habe heute einen vzdump (1 TB) von einem anderen Proxmox Server (ebenfalls HDD) von Hetzner zum o. g. PVE (NVMe, freigegebener NFS Share) gemacht. Das ging mit einer Zeit von ca. 2h 51m viel schneller als das ich das vom PBS retour bekomme (5h 26m). Auch mit dem neuen Setup dauert das ja viel länger.

So ganz schlau bin ich aus dieser Lösung immer noch nicht geworden?
 
Last edited: