PowerScale OneFS 9.11 und höher: Vnodes werden nicht effizient zurückgewonnen, was dazu führt, dass Nodes OOM ausführen

Summary: Eine hohe Anzahl von Vnodes, die sich im Arbeitsspeicher ansammeln, kann dazu führen, dass ein oder mehrere Nodes in einen OOM-Zustand (Out Of Memory) geraten. Dieses Problem kann bei jedem Cluster auftreten, der Snapshots und SmartPools verwendet und auf dem OneFS 9.11 oder höher ausgeführt wird. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

Eine OOM-Bedingung kann zu Node-Fehlern und einer Nichtreaktion führen, was zu Leistungseinbußen und Nichtverfügbarkeit von Daten führt. Die Anzahl der Vnodes im Arbeitsspeicher ist höher als die erforderliche maximale Anzahl an vNodes. Aktivieren oder Deaktivieren von vfs.vnlru_reuse_freevnodes (Vnode-Recycling) hat keine Auswirkung auf das Problem.

Das Problem kann anhand von OOM-Meldungen identifiziert werden. vmlogsund ein Minidump. Beispielausgabe von Nachrichten auf einem F200-Node mit 48 GB Arbeitsspeicher:

2025-06-11T05:31:56.025986+02:00 <0.4> - /boot/kernel.amd64/kernel: OOM: v_wire_count: 11262575, v_active_count: 7 events_since_last_log 674
2025-06-11T05:31:56.025992+02:00 <0.4> - /boot/kernel.amd64/kernel: Malloc Pigs:
2025-06-11T05:31:56.025997+02:00 <0.4> - /boot/kernel.amd64/kernel: Type                   InUse   MemUse   Requests
2025-06-11T05:31:56.026004+02:00 <0.4> - /boot/kernel.amd64/kernel: iaddr_set            15701654  981354K 4078195298
2025-06-11T05:31:56.026010+02:00 <0.4> - /boot/kernel.amd64/kernel: devbuf                171845  649730K   35775475
2025-06-11T05:31:56.026016+02:00 <0.4> - /boot/kernel.amd64/kernel: isi_hash              137112  505157K  760464664
2025-06-11T05:31:56.026022+02:00 <0.4> - /boot/kernel.amd64/kernel: newblk                     4  131072K    1483813
2025-06-11T05:31:56.026027+02:00 <0.4> - /boot/kernel.amd64/kernel: inodedep                   4   65536K     531073
2025-06-11T05:31:56.026035+02:00 <0.4> - /boot/kernel.amd64/kernel: vfscache                   4   32817K          4
2025-06-11T05:31:56.026041+02:00 <0.4> - /boot/kernel.amd64/kernel: bar_owner_vec264         259   32256K     191809
2025-06-11T05:31:56.026047+02:00 <0.4> - /boot/kernel.amd64/kernel: linux                 169103   28170K  142448723
2025-06-11T05:31:56.026052+02:00 <0.4> - /boot/kernel.amd64/kernel: statistics data        13062   20453K    1189902
2025-06-11T05:31:56.026058+02:00 <0.4> - /boot/kernel.amd64/kernel: vfs_hash                   1   16384K          1
2025-06-11T05:31:56.026064+02:00 <0.4> - /boot/kernel.amd64/kernel: pagedep                    4   16384K     151925
2025-06-11T05:31:56.026069+02:00 <0.4> - /boot/kernel.amd64/kernel: sysctloid             269900   14747K     274194
2025-06-11T05:31:56.026075+02:00 <0.4> - /boot/kernel.amd64/kernel: acpica                194000   12817K    3055662
2025-06-11T05:31:56.026081+02:00 <0.4> - /boot/kernel.amd64/kernel: 8kB dinodes             2315   11909K 10694470462
2025-06-11T05:31:56.026086+02:00 <0.4> - /boot/kernel.amd64/kernel: pcb                      136    9230K     470386
2025-06-11T05:31:56.026092+02:00 <0.4> - /boot/kernel.amd64/kernel: Unshown bins account for 100723K
2025-06-11T05:31:56.026103+02:00 <0.4> - /boot/kernel.amd64/kernel: Total: 2628733K
2025-06-11T05:31:56.026109+02:00 <0.4> - /boot/kernel.amd64/kernel: UMA Zalloc Pigs:
2025-06-11T05:31:56.026114+02:00 <0.4> - /boot/kernel.amd64/kernel: NAME              SIZE      LIMIT      COUNT   MEM USED
2025-06-11T05:31:56.026120+02:00 <0.4> - /boot/kernel.amd64/kernel: IFSINODE          616,         0,  17222149,  11481500K
2025-06-11T05:31:56.026126+02:00 <0.4> - /boot/kernel.amd64/kernel: VNODE             584,         0,  17224440,   9842604K
2025-06-11T05:31:56.026132+02:00 <0.4> - /boot/kernel.amd64/kernel: mbuf_jumbo_p     4096,         0,    272268,   1089072K
2025-06-11T05:31:56.026137+02:00 <0.4> - /boot/kernel.amd64/kernel: VM OBJECT         272,         0,     49671,    839200K
2025-06-11T05:31:56.026143+02:00 <0.4> - /boot/kernel.amd64/kernel: UMA Slabs 0        80,         0,   3078132,    246336K
2025-06-11T05:31:56.026149+02:00 <0.4> - /boot/kernel.amd64/kernel: BUF TRIE          144,         0,    122678,    217204K
2025-06-11T05:31:56.026154+02:00 <0.4> - /boot/kernel.amd64/kernel: RADIX NODE        144,         0,    333231,    141808K
2025-06-11T05:31:56.026160+02:00 <0.4> - /boot/kernel.amd64/kernel: vmem btag          56,         0,    143433,    114884K
2025-06-11T05:31:56.026166+02:00 <0.4> - /boot/kernel.amd64/kernel: mbuf              256,         *,         *,     75888K
2025-06-11T05:31:56.026172+02:00 <0.4> - /boot/kernel.amd64/kernel:  mbuf             256,  19265886,    284503,          *
2025-06-11T05:31:56.026177+02:00 <0.4> - /boot/kernel.amd64/kernel:  mbuf_packet      256,         0,        64,          *
2025-06-11T05:31:56.026183+02:00 <0.4> - /boot/kernel.amd64/kernel: lki_mds_ent       160,         0,     62000,     69428K
2025-06-11T05:31:56.026189+02:00 <0.4> - /boot/kernel.amd64/kernel: md3               512,         0,    131072,     65540K
2025-06-11T05:31:56.026194+02:00 <0.4> - /boot/kernel.amd64/kernel: md0               512,         0,    131072,     65540K
2025-06-11T05:31:56.026200+02:00 <0.4> - /boot/kernel.amd64/kernel: pbuf             1024,         *,         *,     38760K
2025-06-11T05:31:56.026206+02:00 <0.4> - /boot/kernel.amd64/kernel:  pbuf            1024,       256,         0,          *
2025-06-11T05:31:56.026211+02:00 <0.4> - /boot/kernel.amd64/kernel:  vnpbuf          1024,       512,         0,          *
2025-06-11T05:31:56.026217+02:00 <0.4> - /boot/kernel.amd64/kernel:  clpbuf          1024,     15872,         0,          *
2025-06-11T05:31:56.026223+02:00 <0.4> - /boot/kernel.amd64/kernel:  mdpbuf          1024,      1638,         0,          *
2025-06-11T05:31:56.026228+02:00 <0.4> - /boot/kernel.amd64/kernel:  nfspbuf         1024,      8192,         0,          *
2025-06-11T05:31:56.026234+02:00 <0.4> - /boot/kernel.amd64/kernel:  swwbuf          1024,      4096,         0,          *
2025-06-11T05:31:56.026240+02:00 <0.4> - /boot/kernel.amd64/kernel:  swrbuf          1024,      8192,         0,          *
2025-06-11T05:31:56.026245+02:00 <0.4> - /boot/kernel.amd64/kernel: lkc_gen_ent        64,         0,     21333,     18100K
2025-06-11T05:31:56.026253+02:00 <0.4> - /boot/kernel.amd64/kernel: MAP ENTRY          96,         0,    138594,     15488K
2025-06-11T05:31:56.026259+02:00 <0.4> - /boot/kernel.amd64/kernel: Top zones:        24321352K
2025-06-11T05:31:56.026265+02:00 <0.4> - /boot/kernel.amd64/kernel: Malloc zones:      2344608K
2025-06-11T05:31:56.026270+02:00 <0.4> - /boot/kernel.amd64/kernel: Other zones:        117512K
2025-06-11T05:31:56.026276+02:00 <0.4> - /boot/kernel.amd64/kernel: UMA total:        26783472K

Die Zahl der folgenden Einträge liegt bei über 17 Millionen:

NAME              SIZE      LIMIT      COUNT   MEM USE
IFSINODE          616,         0,  17222149,  11481500
VNODE             584,         0,  17224440,   9842604

Die maximale Anzahl der Vnodes beträgt 2.900.000 und befindet sich in vmlogs > kern.maxvnodes.

Die Anzahl der Vnodes kann auf dem Cluster überprüft und für die maximale Anzahl von Vnodes mit den folgenden Angaben referenziert werden: sysctlaus:

# isi_for_array -s "sysctl vfs.numvnodes"
# isi_for_array -s "sysctl kern.maxvnodes"

Cause

Das Problem wird derzeit untersucht.

Resolution

Eine dauerhafte Lösung befindet sich in OneFS 9.11.0.2 und 9.12.0.0 und höheren OneFS-Versionen.

Problemumgehung:
Der aktuelle Workaround besteht darin, den Arbeitsspeichercache auf allen Nodes jede Stunde zu leeren. Die folgende Beispielschleife kann in einer Bildschirmsitzung auf einem beliebigen Node verwendet werden:

# while true; do date; isi_for_array -s 'sysctl vfs.numvnodes; isi_flush '; sleep 3600; done

 

Hinweis: Das Skript kann jederzeit während der Wartezeit von 3600 Sekunden (1 Stunde) abgebrochen werden, außer wenn das isi_flush Der Befehl wird ausgeführt. Beenden Sie nicht die isi_flush Prozesses, da dies zu einer vorübergehenden Serviceunterbrechung führen kann.

 

Um das Löschen des Cache-Speichers weiter zu automatisieren und zuverlässiger zu gestalten, wird ein cron Der Job kann geplant werden. Im folgenden Beispiel wird der Cache jede Stunde 7 Minuten nach geleert:

Bearbeiten /etc/mcp/override/crontab mit einem beliebigen Texteditor und geben Sie Folgendes ein:

7 * * * * root pgrep isi_flush || /usr/bin/isi_flush

Weitere Informationen zum Bearbeiten von crontab finden Sie im Artikel Isilon Wie man crontab bearbeitet

SmartLock-Compliancemodus
Für SmartLock-Cluster im Compliancemodus: sudo sollte vor hinzugefügt werden isi_for_array und isi_flushaus:

# while true; do date; sudo isi_for_array -s 'sysctl vfs.numvnodes; sudo isi_flush '; sleep 3600; done

Bei Verwendung von cron Arbeit compadmin Bearbeiten der Datei /etc/mcp/override/crontabdas crontab CLI-Tool mit -e sollte auf jedem Node verwendet werden, um die erforderliche Zeile wie unten beschrieben hinzuzufügen. Die Zeile enthält nicht die Spalte "wer", die root in /etc/mcp/override/crontab, weil es sich um eine cron Auftrag von compadmin nur.

Redigieren cron Job mit:

# crontab -e

Im Editor:
Presse i , um in den Einfügemodus zu wechseln.
Fügen Sie unter der Zeile ein :

7 * * * *  pgrep isi_flush || sudo /usr/bin/isi_flush

Drücken Sie Esc.
Presse :wq! , um Änderungen zu speichern.

Affected Products

Isilon, PowerScale, Isilon Gen6.5, Isilon Gen6, PowerScale OneFS
Article Properties
Article Number: 000342005
Article Type: Solution
Last Modified: 19 Nov 2025
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.