[SOLVED] NMIs on VE 5.1-42 and 4.15.18-4-pve

Humbug

Active Member
Nov 14, 2012
31
1
28
I found some similar threads but none with my configuration (many are ZFS-related, which i don't use).
Since my upgrade from VE 4.x to VE 5.x and the related Spectre/Meltdown patches, i am seeing i/o delays and NMI messages on my VMs.

Config (Proxmox-Host):
4.15.18-4-pve #1 SMP PVE 4.15.18-23
Fujitsu RX500 with latest BIOS
Disks are connected via two external SAS shelfs via LSI SAS2308 PCI-Express Fusion-MPT SAS-2 controller
Kernel Samepage Merging (KSM) is ON

Config (VMs):
Debian 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4
VMS are stored in QCOW2 files
No memory ballooning active
CPUs have PCID flag enabled

I checked for having enough RAM (not to use swap) and that the QCOW2 disk images are not running out of disk space on the Proxmox host.

A typical VM config looks like this:
Code:
args: -no-hpet
balloon: 0
boot: cdn
bootdisk: virtio0
cores: 4
cpu: kvm64,flags=+pcid
ide2: local:iso/debian-7.0.0-amd64-netinst.iso,media=cdrom,size=221M
memory: 32768
name: services3
net0: virtio=FA:C1:03:B2:4A:CD,bridge=vmbr1
net1: virtio=F2:33:76:D3:6D:C6,bridge=vmbr2
numa: 0
ostype: l26
sockets: 2
virtio0: local:107/vm-107-disk-1.qcow2,format=qcow2,size=1281G

Code:
root@holodoc:# free
              total        used        free      shared  buff/cache   available
Mem:      495214036   303793936     3178660      139280   188241440   188367208
Swap:     438991868    29721744   409270124

Is there anything i can do to stop these I/O delays? Any further information needed?
 

Attachments

  • syslog.txt
    35.6 KB · Views: 3
GPU: MGA G200e
CPU: 4x Intel Xeon E5-4640 (Sandy Bridge)
MB: Fujitsu D3039 (latest Bios installed)
RAM: DDR3 ECC, 22x16GB, 2x8GB, 1067 MHz
 
Last edited:
I found some similar threads but none with my configuration (many are ZFS-related, which i don't use).
Since my upgrade from VE 4.x to VE 5.x and the related Spectre/Meltdown patches, i am seeing i/o delays and NMI messages on my VMs.

Config (Proxmox-Host):
4.15.18-4-pve #1 SMP PVE 4.15.18-23
Fujitsu RX500 with latest BIOS
Disks are connected via two external SAS shelfs via LSI SAS2308 PCI-Express Fusion-MPT SAS-2 controller
Kernel Samepage Merging (KSM) is ON

Config (VMs):
Debian 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u4
VMS are stored in QCOW2 files
No memory ballooning active
CPUs have PCID flag enabled

I checked for having enough RAM (not to use swap) and that the QCOW2 disk images are not running out of disk space on the Proxmox host.

A typical VM config looks like this:
Code:
args: -no-hpet
balloon: 0
boot: cdn
bootdisk: virtio0
cores: 4
cpu: kvm64,flags=+pcid
ide2: local:iso/debian-7.0.0-amd64-netinst.iso,media=cdrom,size=221M
memory: 32768
name: services3
net0: virtio=FA:C1:03:B2:4A:CD,bridge=vmbr1
net1: virtio=F2:33:76:D3:6D:C6,bridge=vmbr2
numa: 0
ostype: l26
sockets: 2
virtio0: local:107/vm-107-disk-1.qcow2,format=qcow2,size=1281G

Code:
root@holodoc:# free
              total        used        free      shared  buff/cache   available
Mem:      495214036   303793936     3178660      139280   188241440   188367208
Swap:     438991868    29721744   409270124

Is there anything i can do to stop these I/O delays? Any further information needed?
Hi,
I assume this posting should be in the international section and not german...

Anyway, you wrote about "Spectre/Meltdown patches" but use pcid only?!
You wrote, that you don't use zfs, but an SAS-Controller?! Do you use hwraid? Wich level?How many disks? All disks healthy?

You use virtio-disk inside the VM - does the same happens with scsi (and virtio as scsi-controller type)?
The vm-config looks like an old debian 7 system (iso). Does the same happens with an actual kernel inside the guest?

Udo
 
Hallo Udo,

sorry - das englische Posting war ein Versehen...

Momentan habe ich ausser PCID keine weiteren CPU-Flags gesetzt. "grep ' spec_ctrl ' /proc/cpuinfo" führt bei mir zu keinem Ergebnis, obwohl das Bios aus 6/2018 ist. Laut spctre-meltdown-checker ist die VM sicher was Meltdown/Spctrev1/Spectrev2 angeht. Hast Du andere Vorschläge was CPU Flags angeht?

Richtig, ich habe an dem SAS-Controller etwa 40 SAS-Festplatten in zwei Shelfs angehängt. Früher habe ich Hardware-Raid des Controllers genutzt, das hat aber beim Neustart des Systems oft zu Problemen geführt (Timeouts). Seitdem nutze ich die Platten nur noch als Pass-Through. Das das hinsichtlich Fehlertoleranz nicht gut ist ist mir klar. Jede VM eine oder mehrere eigene Festplatten, ggf. per LVM verbunden um größere Laufwerke erstellen zu können. Alle Festplatten sind heile - laut SMART.

Ich habe als virtuellen SCSI-Adapter mit 'virtio-scsi', 'virtio-scsi-single' und 'LSI 53C895A (standard)' experimentiert, aber keine wesentlichen Unterschiede hinsichtlich Performance oder Stabilität erkennen können.

Das eingebundene CD-Image ist veraltet, aber das Betriebsystem ist aktuell (Debian Strech 9.5 mit neuestem Security-Kernel).

Als Notlösung denke ich darüber nach die Patches wieder zu deaktivieren, einfach weil sich die Probleme damit schon zu lange hinziehen. Aber vielleicht gibt es ja doch noch eine bessere Lösung...

Kai
 
Last edited:
Host:
vmstat 1
Code:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
10  0 58353684 25887148 6894936 98624192    0    0   512   952 11480 19666  9  0 91  0  0
12  0 58353684 25887708 6894936 98624192    0    0   520  2152 14443 21332 14  1 84  0  0
 0  0 58353684 25888776 6894948 98624192   28    0   224   828 10614 20708  4  1 95  0  0
 3  0 58353684 25889940 6894948 98624192    0    0 49228 51272 9531 20112  2  0 97  0  0
 6  0 58353684 25891156 6894960 98624192    0    0 51348 51304 10070 19655  2  0 97  0  0
 6  0 58353684 25891532 6894964 98624192    0    0 52744 52780 12436 20875 10  0 90  0  0
 2  1 58353684 25888352 6894964 98624192   12    0 27888 27760 10296 19162  3  1 96  1  0
 2  1 58353684 25886524 6894972 98624192    0    0   620   620 9900 19721  3  1 95  2  0
 2  1 58353684 25887060 6894976 98624192    0    0   384   448 10651 19768  3  1 94  2  0
 1  1 58353684 25887632 6894980 98624192    0    0     4   472 9864 20266  3  0 95  2  0
 6  1 58353684 25888108 6894988 98624192   12    0  2628  4272 10166 19579  3  0 95  2  0
 8  1 58353684 25888816 6894988 98624192   12    0  1172  5148 11834 20696  9  0 89  2  0
 2  1 58353684 25889012 6895000 98624192    0    0   584  2176 9955 19022  3  0 95  2  0
 0  1 58353684 25889036 6895000 98624192    0    0    84   424 9400 19221  2  0 96  2  0
 6  1 58353684 25889252 6895004 98624192    0    0   128   540 9659 19468  2  1 95  2  0
10  1 58353684 25884252 6895004 98624200    0    0   492   676 12460 25893 11  1 86  2  0
 7  1 58353684 25884744 6895012 98624200    0    0  1684  1440 14307 27399 16  1 81  2  0
11  1 58353684 25883064 6895016 98624192    4    0   136   736 15805 22980 19  0 79  2  0
11  1 58353684 25883932 6895024 98624192    0    0   956  1952 14120 21118 20  0 78  2  0
 5  1 58353684 25884788 6895024 98624192    0    0   212  1592 12181 21389 11  0 88  2  0
 1  1 58353684 25885516 6895036 98624208   36    0   104   470 10026 19993  3  1 95  2  0
 4  1 58353684 25886524 6895040 98624208    0    0   964  1336 9893 20326  3  1 94  2  0
 8  1 58353684 25887440 6895048 98624208    4    0   264   864 12147 23577 11  1 87  1  0
 7  1 58353684 25888076 6895048 98624208    0    0  1056   920 12808 23109 11  1 87  1  0
 8  1 58353684 25888616 6895060 98624208   16    0  3056   712 16617 25853 11  1 87  2  0
 8  1 58353684 25885096 6895060 98624208   12    0   368  1004 15352 21803 13  1 85  2  0
 3  1 58353684 25885596 6895068 98624208    0    0   256  1092 10782 18811  7  0 91  2  0
 3  1 58353684 25883164 6895080 98624208    0    0  1032  1704 9967 18848  2  1 95  2  0
11  1 58353684 25883744 6895080 98624208   12    0   436   536 11116 21533  6  1 91  2  0
17  1 58353684 25884848 6895084 98624208   16    0   972   924 14561 25983 19  1 79  2  0
 8  1 58353684 25930936 6895020 98619856    0   32   348   636 14473 23495 16  1 82  1  0
 3  1 58353684 25929572 6895020 98619856    0    0   384   496 11068 21446  5  0 93  2  0
 4  1 58353684 25925996 6895024 98619856    4    0  1596  3064 12838 27311  8  1 90  2  0
11  1 58353684 25925132 6895024 98619856    0    0  1216  1276 12192 22008 10  0 88  1  0
14  1 58353684 25924276 6895028 98619856    0    0   324  1392 14399 19743 22  2 75  1  0
 7  1 58353684 25916096 6895036 98619856    4    0   716   576 13976 22354 20  1 78  2  0
 7  1 58353684 25915516 6895036 98619872    4    0   140   740 11595 23170  7  1 91  1  0
14  1 58353684 25912008 6895036 98619872    0    0   664   440 12843 23026 14  1 84  2  0
13  1 58353684 25911680 6895048 98619864    0    0   552   768 14662 21907 21  1 77  2  0
 7  1 58353684 25911488 6895048 98619864    0    0   925  1184 14157 21667 20  0 78  2  0
 8  1 58353684 25911752 6895060 98619864    0    0   408   732 13514 23550 14  1 84  2  0
 8  0 58353684 25911744 6895060 98619872    8    0   652   928 12431 21283 12  1 86  1  0
13  0 58353684 25912084 6895064 98619872    0    0   756  1808 13259 21960 14  1 85  0  0
10  0 58353684 25911836 6895068 98619872   16    0   652  1696 14571 23613 18  0 81  0  0
 1  0 58353684 25912296 6895072 98619872    4    0  1216  1460 11186 23651  5  1 94  0  0
17  0 58353684 25909200 6895080 98619872    0    0   740   736 14210 24570 17  1 82  0  0
 9  0 58353684 25907016 6895084 98619872   48    0  3192   720 14522 21712 19  1 81  0  0
 7  0 58353684 25905700 6895092 98619872    0    0 26896 26700 13462 23541 12  1 86  0  0
 4  1 58353684 25906012 6895100 98619872    0    0 24824 24688 10236 20239  4  1 95  1  0

Guest:
vmstat 1
Code:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0 1054572 285076 503716 5908808    0    0    11    82    8    7  1  0 95  4  0
 0  0 1054572 284828 503716 5908828    0    0     0   792  322  538  0  0 98  2  0
 0  0 1054572 283704 503716 5908832    0    0     0     0  492  691  1  0 99  0  0
 0  0 1054572 283208 503716 5909032    0    0   192   216  779 1042  1  0 96  3  0
 0  0 1054572 282960 503716 5909036    0    0     0   680  394  631  0  0 98  2  0
 0  0 1054572 282808 503716 5909064    0    0    16   140  610  874  1  1 97  2  0
 0  0 1054572 282716 503716 5909064    0    0     0   616  344  560  0  0 98  1  0
 0  0 1054572 283412 503716 5909128    0    0    64    80  592  867  1  0 98  1  0
 0  0 1054572 283316 503716 5909140    0    0     0   120  674  955  1  0 98  1  0
 0  0 1054572 282668 503716 5909400    0    0   240   264  999 1318  1  0 94  5  0
 0  0 1054572 281828 503724 5909612    0    0   208   200  714  992  1  0 96  3  0
 0  0 1054572 283240 503724 5909612    0    0     0    32  324  510  0  0 99  0  0
 0  1 1054572 283272 503724 5909612    0    0    80   156  860 1208  1  0 97  2  0
 0  0 1054572 283052 503724 5909852    0    0   160   212  736 1043  1  0 96  3  0
 0  0 1054572 283148 503724 5909852    0    0     0    80  550  825  1  0 98  1  0
 0  0 1054572 283212 503724 5909856    0    0     0   272  541  812  1  0 97  2  0
 0  0 1054572 283100 503724 5909856    0    0     0    64  492  740  0  0 99  1  0
 0  0 1054572 283092 503724 5909836    0    0     0    20  277  484  0  0 100  0  0
 0  0 1054572 283124 503724 5909836    0    0     0     0  359  575  0  0 100  0  0
 0  0 1054572 283220 503724 5909840    0    0     0   160  558  825  1  0 97  1  0
 0  0 1054572 283124 503724 5909872    0    0    32   100  543  805  0  0 97  2  0
 0  0 1054572 283100 503724 5910028    0    0    48   196  787 1067  1  0 97  2  0
 0  0 1054572 283008 503724 5909968    0    0    48    56  514  755  0  0 98  1  0
 0  0 1054572 283040 503724 5909968    0    0     0    16  254  472  0  0 100  0  0
 0  0 1054572 283040 503724 5909968    0    0     0  1480  343  610  0  0 98  2  0
 0  1 1054572 283104 503724 5909968    0    0     0   172  516  742  1  0 97  1  0
 0  0 1054572 283136 503724 5909968    0    0     0    16  419  645  0  0 100  0  0
 0  0 1054572 283008 503724 5910064    0    0    96   152  527  760  1  0 97  2  0
 0  0 1054572 284452 503724 5910176    0    0     0    56  509  758  0  0 99  1  0
 0  0 1054572 283916 503724 5910068    0    0     0     0  306  486  0  0 100  0  0
 0  0 1054572 283200 503724 5910160    0    0    96    96  569  856  1  0 96  3  0
 0  0 1054572 282984 503724 5910164    0    0     0    76  426  663  1  0 98  1  0
 0  0 1054572 283016 503724 5910164    0    0     0     0  357  592  0  0 100  0  0
 0  1 1054572 282956 503724 5910164    0    0   176   188  637  926  1  0 96  2  0
 0  0 1054572 282572 503724 5910336    0    0     0     4  283  494  0  0 100  0  0
 0  0 1054572 282572 503728 5910336    0    0     0  1200  328  598  0  0 98  2  0
 0  0 1054572 282636 503728 5910340    0    0     0    84  509  780  1  0 98  1  0
 0  0 1054572 282748 503728 5910452    0    0     0    80  462  697  1  0 98  1  0
 0  0 1054572 282668 503728 5910492    0    0   160   140  779 1109  1  1 97  2  0
 0  0 1054572 282480 503728 5910640    0    0   144   220  718 1025  1  0 96  3  0
 0  0 1054572 282512 503728 5910640    0    0     0    72  397  650  0  0 99  1  0
 0  0 1054572 282512 503728 5910644    0    0     0   848  356  594  0  0 99  1  0
 
Hallo Udo,

sorry - das englische Posting war ein Versehen...

Momentan habe ich ausser PCID keine weiteren CPU-Flags gesetzt. "grep ' spec_ctrl ' /proc/cpuinfo" führt bei mir zu keinem Ergebnis, obwohl das Bios aus 6/2018 ist. Laut spctre-meltdown-checker ist die VM sicher was Meltdown/Spctrev1/Spectrev2 angeht. Hast Du andere Vorschläge was CPU Flags angeht?
Hi Kai,
ja - grep nach bugs und ib (" grep -i bug /proc/cpuinfo; grep -i ib /proc/cpuinfo ")
Richtig, ich habe an dem SAS-Controller etwa 40 SAS-Festplatten in zwei Shelfs angehängt. Früher habe ich Hardware-Raid des Controllers genutzt, das hat aber beim Neustart des Systems oft zu Problemen geführt (Timeouts). Seitdem nutze ich die Platten nur noch als Pass-Through. Das das hinsichtlich Fehlertoleranz nicht gut ist ist mir klar. Jede VM eine oder mehrere eigene Festplatten, ggf. per LVM verbunden um größere Laufwerke erstellen zu können. Alle Festplatten sind heile - laut SMART.
Oh, oh... In Sachen Fehlertoleranz ein disaster (wie Du ja auch angemerkt hast), und schlecht für die Performance (alle Performance-Vorteile durch raid-Level (am Besten Raid-10) verspielst Du damit).
Ist das bei dem Controller echtes pass-through, oder so'n raid-0 für jede Platte?
Wird trozt pass through der Raid-cache verwendet? (mit fio testen - wenn die Schreibperformance besser ist, als eine Platte eigentlich hergibt, dann liegt es an dem Controller Cache (oder Platten-Cache, bei sehr kleinen Datenmengen).
Ist die Firmware des SAS-Controllers aktuell? LSI hatte mal ne Version, die gar nicht gut war (Ceph-OSDs fielen damit reihenweise aus).

Deine IO-STATs zeigen allerdings kein höheres wait... ist es während der Zeit zu einer solchen Kernel-Message gekommen?
Ich habe als virtuellen SCSI-Adapter mit 'virtio-scsi', 'virtio-scsi-single' und 'LSI 53C895A (standard)' experimentiert, aber keine wesentlichen Unterschiede hinsichtlich Performance oder Stabilität erkennen können.

Das eingebundene CD-Image ist veraltet, aber das Betriebsystem ist aktuell (Debian Strech 9.5 mit neuestem Security-Kernel).

Als Notlösung denke ich darüber nach die Patches wieder zu deaktivieren, einfach weil sich die Probleme damit schon zu lange hinziehen. Aber vielleicht gibt es ja doch noch eine bessere Lösung...

Kai
Die meltdown/spectre patche fressen Performance - je nach Anwendungsgebiet wohl so zwischen 5 und 20%. es könnte sein, dass da einfach mehrere Sachen zusammen kommen. Versuch die anderen CPU-Flags auch zu aktivieren für den Gast und verwende virtio-scsi (oder virtio-scsi-single, dann kannst Du auch iothrad verwenden, wenn es Sinn macht).

Wenn Du Ram (und Plattenplatz) genug hast, würde ich auf zfs setzen (striped mirrors). Es gibt zwar Leute, die meinen, dass man mit striped zaidz1 über drei Platten schneller ist, allerdings konnte ich das bis jetzt nicht so nachvollziehen. Kann aber auch an der älteren Maschine gelegen haben, wo ich es getestet hatte.

Viele Grüße

Udo
 
Hallo nochmal,

ich habe das Problem inzwischen lösen können.
Die letzten beiden Änderungen, die vielleicht den Ausschlag gegeben
haben könnte waren:

- Dateisystemüberwachung auf dem Virtualisierungsserver erhöht
(fs.inotify.max_user_instances=256)

- Zeitgeber auf den VMs geändert (clocksource=acpi_pm, war vorher kvm_clock)


Generell sieht es auf dem Virtualisierungsserver jetzt so aus:

/etc/sysctl.conf

# 0 avoids swapping processes out of physical memory for as long as
possible.
vm.swappiness = 0
# lessen the IO blocking effect that happens when processes reach their
dirty page cache limit in memory and the kernel starts to write them out
vm.dirty_ratio=5
vm.dirty_background_ratio=1
fs.inotify.max_user_instances = 256

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="nopti nospectre_v2 noibrs noibpb l1tf=off
nospec_store_bypass_disable clocksource=acpi_pm scsi_mod.scan=sync
elevator=cfq intel_idle.max_cstate=0 processor.max_cstate=1 idle=poll
quiet"

Beste Grüße,
Kai
 

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!