Crash - too many open files

Chris Strauch

Well-Known Member
Nov 6, 2018
38
2
48
40
Hallo zusammen,

wir haben folgendes Problem das derzeit ständig ein Proxmox in Cluster stirbt mit der Meldung "too many open files"

Wir haben das Problem schon ein wenig eingrenzen können:

Wir haben etliche inotify meldungen:
Code:
Nov 18 12:30:43 proxmoxsm37 pve-ha-lrm[853150]: got unexpected error - Unable to create new inotify object: Too many open files at /usr/share/perl5/PVE/INotify.pm line 398.
Nov 18 12:30:43 proxmoxsm37 pve-ha-lrm[853154]: got unexpected error - Unable to create new inotify object: Too many open files at /usr/share/perl5/PVE/INotify.pm line 398.
Nov 18 12:30:44 proxmoxsm37 pve-ha-lrm[853169]: got unexpected error - Unable to create new inotify object: Too many open files at /usr/share/perl5/PVE/INotify.pm line 398.
Nov 18 12:30:44 proxmoxsm37 pve-ha-lrm[853170]: got unexpected error - Unable to create new inotify object: Too many open files at /usr/share/perl5/PVE/INotify.pm line 398.

root@proxmoxsm37:/var/log# find /proc/*/fd -lname anon_inode:inotify 2> /dev/null | awk -F/ '{ print $3 }' | sort -u | wc -l
137


Weiterhin haben wir folgenden Fehler:

Code:
Nov 18 12:20:22 proxmoxsm37 pmxcfs[3144]: [libqb] error: qb_rb_open:/dev/shm/qb-3144-516854-1022-JZlEYT/qb-request-pve2: Too many open files (24)
Nov 18 12:20:22 proxmoxsm37 pmxcfs[3144]: [libqb] error: shm connection FAILED: Too many open files (24)
Nov 18 12:20:22 proxmoxsm37 pmxcfs[3144]: [libqb] error: Error in connection setup (/dev/shm/qb-3144-516854-1022-JZlEYT/qb): Too many open files (24)
Nov 18 12:20:22 proxmoxsm37 pve-ha-lrm[516854]: updating service status from manager failed: Too many open files
Nov 18 12:20:23 proxmoxsm37 pmxcfs[3144]: [libqb] error: couldn't open file /dev/shm/qb-3144-491680-1022-2jLObY/qb-request-pve2-data: Too many open files (24)
Nov 18 12:20:23 proxmoxsm37 pmxcfs[3144]: [libqb] error: couldn't create file for mmap
Nov 18 12:20:23 proxmoxsm37 pmxcfs[3144]: [libqb] error: qb_rb_open:/dev/shm/qb-3144-491680-1022-2jLObY/qb-request-pve2: Too many open files (24)
Nov 18 12:20:23 proxmoxsm37 pmxcfs[3144]: [libqb] error: shm connection FAILED: Too many open files (24)
Nov 18 12:20:23 proxmoxsm37 pmxcfs[3144]: [libqb] error: Error in connection setup (/dev/shm/qb-3144-491680-1022-2jLObY/qb): Too many open files (24)
Nov 18 12:20:23 proxmoxsm37 pmxcfs[3144]: [libqb] error: couldn't open file /dev/shm/qb-3144-491680-1022-uVL5zU/qb-request-pve2-data: Too many open files (24)

Code:
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1096   12056   86127
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1096   12056   86127
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1096   12056   86127
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1097   12067   86207
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1098   12078   86287
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1100   12100   86447
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1100   12100   86447
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1100   12100   86447
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1100   12100   86447
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1100   12100   86447
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1100   12100   86447
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1100   12100   86447
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1100   12100   86447
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1100   12100   86447
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1104   12144   86767
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1104   12144   86767
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1104   12144   86767
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1104   12144   86767
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1104   12144   86767
root@proxmoxsm37:/var/log# ls -ltra  /proc/3144/fd/*  | wc
   1112   12232   87407
root@proxmoxsm37:/var/log# ps -ef -q 3144
UID          PID    PPID  C STIME TTY          TIME CMD
root        3144       1  2 Nov17 ?        00:42:26 /usr/bin/pmxcfs


Wir haben das Limit einmal hochgesetzt und wir sehen das es immer weiter steigt. Siehe Code Block oben.



Code:
root@proxmoxsm37:/var/log# pveversion

pve-manager/7.0-11/63d82f4e (running kernel: 5.4.78-2-pve)


Ich sehe das es ein Update vom corosync noch gibt, das werden wir am Wochenende mal einspielen.

Aber vlt kommt euch das verhalten ja bekannt vor und es hat wer einen Tipp.

Die Anzahl der pmxcfs auf den anderen beiden nodes sind bei ca. 35.




Lieben Gruß
Chris
 
Was für ein Monitoring nutzt du?
Ich kenne solche Fehler wenn Monitoringsysteme, entweder den Abfrageintervall zu kurz haben, oder Verbindungen nicht wieder schließen.
 
Könntest du CheckMK mal pausieren? Tritt es dann immer noch auf?
 
Ich werde mal ein monitoring implementieren was mir die Verbindungen vom CheckMK zu den Cluster wegschreibt, würde ja dann sehen wenn die Anzahl der Verbindungen steigt. - Danke!
 
you can also bump the inotify limits (via sysctl)
 
Nachdem wir uns lsof mal weggeschrieben haben regelmäßig, ist uns aufgefallen das der :

pve-ha-lrm ca. 994 mal spawned.

Jeder von diesen hat:

Code:
3230993 pve-ha-lrm      TOTAL   256
3231039 pve-ha-lrm      TOTAL   257
3231095 pve-ha-lrm      TOTAL   251
3231217 pve-ha-lrm      TOTAL   249
3234524 pve-ha-lrm      TOTAL   256
3234914 pve-ha-lrm      TOTAL   257

Open Files.

So wie ich das sehe, sollte der Dienst aber nur einmal laufen oder ?
 
der LRM startet worker (mittels fork, eigentlich max. max_workers viele), also mehr als ein prozess ist prinzipiell schon okay. tun sie denn noch was? haben sie alle denselben parent prozess?
 
Das kann ich leider nicht sagen, wir hatten nicht den Tree weggeschrieben sondern nur die einzelnen Prozesse.
Was halt aufgefallen ist, das vor einem crash die Open Files von ca. 500k auf ca. 700k drastisch angestiegen sind und er dann in den reboot ging, bei der suche der Ursache warum, ist uns der Prozess aufgefallen der diese knapp 1000 mal spawned mit je 250 file Handlings.
 
falls es nochmal auftritt waere es spannend den lrm log vom zeitraum vor bis inkl. anfang der "too many open files" meldungen zu sichern - vielleicht laesst sich daraus eruieren wo das problem liegt.
 
journalctl -u pve-ha-lrm -u pve-ha-crm sollte schon einiges beinhalten
 
Hi Fabian,

nachdem wir die filehandlings pro Prozess verzehnfacht haben ist ein Server heute wieder gestorben.

Anbei mal das Log, jedoch scheint da nicht so viel drin zu stehen.

Gruß
Chris
 

Attachments

  • pve_ha_lrm_log_26_to_30_nov.log
    890.1 KB · Views: 5
okay das ist in der tat etwas wenig.. im zeitraum davor irgendwas auffaelliges? nachdem das problem ja scheinbar regelmaessig auftritt waere der naechste schritt wohl mal eine version mit mehr debug output zu installieren falls das fuer euch machbar ist..
 
eine frage haett ich noch - rufen eure check_mk skripte ha-manager kommandos (oder die entsprechenden API endpoints) auf? wenn das problem das naechste mal auftritt waere vor neustart/killen der prozesse eventuell auch ein "ps faxl > processlist" und posten der (eventuell um VM details zensierten) datei 'processlist' spannend..
 
Wir haben keine custom Skripte für den checkmk laufen die irgendwelche Ha-manager Kommandos triggern.
Sehe in der Übersicht das per Default der checkmk nur abfragt ob es dem cluster perse gut geht. Also den pve-cluster state. Möglich das dies ein Api Kommando ist. Werde das ps mal im 5 Minuten Takt weg schreiben bis nochmal einer stirbt.
 
  • Like
Reactions: fabian
Hoi Fabian,

letzte Woche ist es wieder passiert auf einem der Nodes im Cluster.
Anbei mal die ps Liste. Hier sieht man auf jedenfall gut das es sehr sehr viele pve-ha-lrm Prozesse gibt.

Gruß
Chris
 

Attachments

  • ps.txt
    632.2 KB · Views: 5
danke! schaut in der tat sehr merkwuerdig aus - der naechste schritt wird wohl sein an ein paar passenden stellen mehr debug output hinzuzufuegen um der ursache auf den grund zu gehen..
 

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!