LVM-Thin gegen LVM Performance unterschied bei einem Backup Restore

HBO

Active Member
Dec 15, 2014
274
15
38
Germany
Hallo,

ich vergleiche gerade auf einem System die Performance zwischen LVM-Thin und LVM ohne Thin. Ansich ist der Performance Verlust allgemein in produktiver Umgebung kaum merkbar. Sehr heftig wird es aber irgendwie, sofern viele neue Daten geschrieben werden. Sei es also zBsp eine frische VM bei der ein Windows Server installiert wird oder alternativ ein Backup Restore einer VM die vorher auf einer anderen Cluster Node lag.
Unter LVM ohne Thin merke ich hier kaum etwas im System, IO Wait von 1-2% und eine nicht höhere Load Average. Führe ich aber nun Gleiches auf einem LVM-Thin Pool aus so steigt die Load etwas (von zBsp 1-2 auf 6-7) und damit nicht so dramatisch, die IO Wait aber schießt auf 7-10% und legt damit latenzkritische VMs lahm.
Systeme hier sind HP DL380p Gen8 mit HW Raid 10 auf SAS 6g 15k Platten, aktuellste Proxmox und Kernel Version. Ich hatte auch schon etwas mit der Cache Ratio auf dem Raid Controller gespielt, hier gibts kaum unterschiede.

Kann ich irgendwie Proxmox mitteilen (ob nun per GUI oder Command Line), dass das Restore mit wesentlich weniger Last durchgeführt werden soll? Ich habe auch im englischen Bereich viele Leute mit dem Problem bei Restores gesehen, aber ohne wirkliche Ergebnisse und versuche es daher nun mal nur in diesem Bereich. Gleiches Thema betrifft ja auch einen Thread von mir im englischen Bereich (aber für ZFS), hierauf gab es... nunja... nicht wirklich Infos.

Vorab vielen Dank.
 
Der Restore läuft bei mir (wenn ich das richtig gesehen habe) mit default ionice. Ich hab in der /etc/vzdump.conf den Wert angepasst, beim Dumpen zieht das auch. Beim Restore leider nicht und ich habe mit ionice -n[x] -p[PID] manuell eingreifen müssen. Probiere es mal aus. Wenn es klappt, dann müsste man nur mal schauen, wo man den Wert für ionice beim Restore permanent setzen kann - in der vzdump.conf jedenfalls nicht,
 
Last edited:
Vielleicht noch als kleines Gedankenspiel:
LVM-thin hätte den Vorteil, dass du Snapshots machen kannst, die du bei Bedarf zurücksetzen kannst um den Restore zu vermeiden. Vielleicht ist das zielführender als Backup&Restore zu machen.
 
Geht hier eher um das Ausfall Konzept. Der LVM-Thin Pool ist ja ein lokales Storage, fällt eine Node aus dem Cluster aus so wird aus dem letzten Vollbackup oder bei geplantem Ausfall die VM auf eine andere Node migriert oder eine VM aus Last Gründen auf eine andere Node im Cluster geschoben wird. Genau das verursacht nun halt die entsprechend hohe IO Wait.
Kleinere Wartungen etc sind mit den Snapshots kein Problem.
 
Unter LVM ohne Thin merke ich hier kaum etwas im System, IO Wait von 1-2% und eine nicht höhere Load Average. Führe ich aber nun Gleiches auf einem LVM-Thin Pool aus so steigt die Load etwas (von zBsp 1-2 auf 6-7) und damit nicht so dramatisch, die IO Wait aber schießt auf 7-10% und legt damit latenzkritische VMs lahm.
Systeme hier sind HP DL380p Gen8 mit HW Raid 10 auf SAS 6g 15k Platten, aktuellste Proxmox und Kernel Version. Ich hatte auch schon etwas mit der Cache Ratio auf dem Raid Controller gespielt, hier gibts kaum unterschiede.
Na dann ist was am Server Defekt. Ich kenne das Leiden LVM-Thin nur zu gut. Letztes Jahr hatte ich ein ähnliches Problem bei einem HP ML350G5. Server hatte 6 Stück SATAplatten im Raid10. Dann wurde upgraded und er Pool von qcow2 auf lvm-thin (v4) getauscht. Import ging mit 10MB/s und das I/O wait ging auf 35-50. Server nicht brauchbar. Bei Server war das Cachemodul defekt, obwohl nicht im ILO oder im Nagios anzeigt. Modul getauscht 95MB/s.

Ähnliches Szenario letzte Woche. HP ML350G9 mit guten Raidcontroller und 2GB Cache. 10 Stück 300GB SAS 15k im Raid50. Import mit 15 max. 30MB/s. Vorher wurde noch eine Festplatte, die Raidbatterie und ein Netzteil getauscht. Server frisch mit PVE5 aufgesetzt. Firmware auf aktuellen Stand gebracht. Keine Fehler im ILO. Trotzdem super lahm.

In meinem Fall hier war die Hardware ok. Lediglich das Cache Ratio des Controllers war auf 100% lesen und 0% schreiben eingestellt. Ich sag nur böses Firmwareupgrade, oder er wurde schon so ausgeliefert. Nachdem ich das ganze auf 25/75 gestellt hatte. Ging die Hölle ab. Mit 120MB/s Dauervollgas bei einer VM mit fast dem TB.
 
Das mit der Cache Ratio ist wohl "normal", die steht nach Firmware Upgrade scheinbar auf 100/0 lesen/schreiben. Aber hast du bei deinem ML350G9 auch die Problematik mit der höheren IO Wait bei einem qmrestore mit LVM Thin?
 
Ich habe ein System mit 8x 300GB SAS 10k von HP im Einsatz, allerdings im Raid 10 hinter einem P420i mit einer Ratio von 30/70. Die IO Wait schießt bei einem Restore (die VM war vorher nicht angelegt und auf einer anderen Cluster Node) auf 10-15% und legt dann damit die ganzen latenzkritischen VMs lahm.
 
Müsste laut deinen Hardwarewerten viel besser als bei mir gehen. Hab da nur ein Raid50 mit 10 Platten. Am besten nochmal die Hardware durchtesten. Ansonsten kannste nur auf ein qcow2 wechseln.
 
Nach einer längeren Antwort die ich gerade getippt habe bin ich nochmal alle anderen durchgegangen und eine Frage hätte ich noch:

Den Test von LVM-Thin vs. LVM hast du auf der gleichen Maschine gemacht oder auf einer baugleichen?
 
Exakt die gleiche Maschine. Davon gibt es sogar 2 mit exakt gleicher Hardware, Firmware und Proxmox Version. Auf beiden Maschinen habe ich die Problematik. Das hohe IO Wait kommt ja sogar direkt Zustande nach der Installation von Proxmox. Hier lief vorher Version 4 mit LVM (auch da keine Probleme), Neuinstallation auf aktuellste PVE 5, Konfiguration erledigt, VMs von anderer Node per Backup und Restore drauf geschoben und direkt mit der ersten VM unter LVM Thin die IO Wait bekommen.
Hardware schon komplett geprüft, da gibts keine Auffälligkeiten. Ich werde heute mal noch ein Test durchführen und ein iostat und Prozess Monitoring laufen lassen. Die Lese Werte, auch als Benchmark in den VMs sind absolut top (wie von einem Raid 10 zu erwarten), auch der Schreibprozess während eines Benchmarks (ATTO Disk Bench, sind alle Windows Server VMs) erhöht mir nicht die IO Wait.

PS: Beste Caching Einstellung für VMs? Derzeit überall "default, no cache" aktiv für dieses Setup.
 
So und hier nun das Testergebnis. Während des qmrestore schwankt die IO Wait doch recht stark, von Normalwert 0-2% bis 10-15%. Sobald die IO Wait hoch schießt kommen auch 2 "kworker" Prozesse in der CPU Last hoch, sinkt die IO Wait sind die Prozesse auch fast im Idle. Was mir dann noch aufgefallen ist, während des qmrestore wird eine Menge Ram aus dem Cache frei gegeben bis die VM wirklich hergestellt ist.

RAM Total 96GB, Benutzt 40-42GB, Frei 500-800MB, Buffer/Cache 55GB. Aus diesem Buffer/Cache fehlen dann auf einmal fast 20GB die unter Frei gelistet werden. Das dauert dann keine Minute bis der RAM wieder gecacht wurde.

Code:
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.23    0.00    2.08   12.95    0.00   83.74

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00  6214.00    0.00 28309.40     0.00 574402.80    40.58   124.17    4.41    0.00    4.41   0.04  99.92
sdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-1              0.00     0.00    0.00    1.40     0.00     5.60     8.00     0.04   25.14    0.00   25.14   5.14   0.72
dm-2              0.00     0.00    0.00    2.20     0.00     8.80     8.00     0.05   21.45    0.00   21.45   5.09   1.12
dm-3              0.00     0.00    0.00 34520.40     0.00 564422.80    32.70   707.46   20.79    0.00   20.79   0.03 100.00
dm-4              0.00     0.00    0.00 34520.40     0.00 564422.80    32.70   707.49   20.79    0.00   20.79   0.03 100.00
dm-6              0.00     0.00    0.00   51.60     0.00   413.80    16.04     5.74   96.59    0.00   96.59  15.18  78.32
dm-7              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-8              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-9              0.00     0.00    0.00    0.60     0.00     1.60     5.33     1.00  452.00    0.00  452.00 1666.67 100.00
dm-10             0.00     0.00    0.00    1.80     0.00     5.10     5.67     1.00  254.22    0.00  254.22 555.11  99.92
dm-11             0.00     0.00    0.00    1.60     0.00     7.90     9.88     0.83  244.50    0.00  244.50 521.00  83.36
dm-12             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-13             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-14             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-15             0.00     0.00    0.00 32508.20     0.00 130031.20     8.00 51514.43 2366.07    0.00 2366.07   0.03 100.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.58    0.00    3.00   13.08    0.00   82.34

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00  1568.60    8.40 74129.80    19.80 403500.60    10.89   105.68    1.43    0.10    1.43   0.01 100.00
sdb               0.00     0.00    2.40    0.00     9.60     0.00     8.00     0.00    1.33    1.33    0.00   1.33   0.32
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-1              0.00     0.00    0.00    3.20     0.00    16.80    10.50     0.02    5.00    0.00    5.00   1.75   0.56
dm-2              0.00     0.00    0.00    3.00     0.00    12.00     8.00     0.07   24.27    0.00   24.27   6.93   2.08
dm-3              0.00     0.00    0.00 75691.60     0.00 413132.60    10.92   218.54    2.84    0.00    2.84   0.01 100.08
dm-4              0.00     0.00    0.00 75691.60     0.00 413132.60    10.92   218.54    2.84    0.00    2.84   0.01 100.00
dm-6              0.00     0.00    0.00   13.20     0.00    55.30     8.38     1.09  129.27    0.00  129.27  75.76 100.00
dm-7              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-8              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-9              0.00     0.00    0.00    0.40     0.00     0.10     0.50     1.00 3978.00    0.00 3978.00 2500.00 100.00
dm-10             0.00     0.00    0.00    0.40     0.00     1.20     6.00     0.85 3978.00    0.00 3978.00 2136.00  85.44
dm-11             0.00     0.00    0.00    0.40     0.00     1.60     8.00     1.00 3546.00    0.00 3546.00 2498.00  99.92
dm-12             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-13             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-14             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-15             0.00     0.00    0.00 17458.00     0.00 69833.60     8.00 49536.70 35825.02    0.00 35825.02   0.06 100.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.37    0.00    3.14   13.41    0.00   82.09

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00  1153.00    0.00 91323.60     0.00 460454.40    10.08   105.98    1.17    0.00    1.17   0.01  99.92
sdb               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-1              0.00     0.00    0.00    1.20     0.00     4.80     8.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-2              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-3              0.00     0.00    0.00 92455.60     0.00 448775.20     9.71   258.97    2.87    0.00    2.87   0.01  99.92
dm-4              0.00     0.00    0.00 92456.00     0.00 448776.80     9.71   259.12    2.87    0.00    2.87   0.01  99.92
dm-6              0.00     0.00    0.00    1.40     0.00     5.60     8.00     1.00    0.00    0.00    0.00 714.29 100.00
dm-7              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-8              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-9              0.00     0.00    0.00    0.00     0.00     0.00     0.00     1.00    0.00    0.00    0.00   0.00 100.00
dm-10             0.00     0.00    0.00    1.00     0.00     8.80    17.60     0.74    0.80    0.00    0.80 743.20  74.32
dm-11             0.00     0.00    0.00    0.20     0.00     0.00     0.00     1.11    0.00    0.00    0.00 5000.00 100.00
dm-12             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-13             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-14             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-15             0.00     0.00    0.00    0.00     0.00     0.00     0.00 616532.27    0.00    0.00    0.00   0.00 100.00
 

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!