PowerScale OneFS 9.11 и более поздние версии: Виртуальные узлы не освобождаются эффективно, что приводит к тому, что узлы работают в режиме OOM

Riepilogo: Большое количество виртуальных узлов, накапливающихся в памяти, может привести к тому, что один или несколько узлов перейдут в состояние нехватки памяти (OOM). Эта проблема может возникнуть в любом кластере, использующем моментальные снимки и SmartPools под управлением OneFS 9.11 или более поздней версии. ...

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Sintomi

Состояние ожидания OOM может привести к критическим ошибкам узла и отказу реагирования, что приведет к снижению производительности и событиям недоступности данных. Количество виртуальных узлов в памяти превышает требуемое максимальное количество виртуальных узлов. Включение и отключение vfs.vnlru_reuse_freevnodes (переработка виртуального узла) не влияет на проблему.

Проблему можно определить по сообщениям OOM, vmlogsи минидамп. Пример выходных данных сообщений на узле F200 с 48 Гбайт памяти:

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

Следующее количество записей превышает 17 миллионов:

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

Где максимальное количество vnodes составляет 2 900 000, которое можно найти в vmlogs > kern.maxvnodes.

Количество виртуальных узлов в кластере можно проверить и использовать для определения максимального количества виртуальных узлов следующим образом: sysctl.

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

Causa

Проблема изучается.

Risoluzione

Постоянное разрешение установлено в OneFS 9.11.0.2 и 9.12.0.1 и более поздних версиях OneFS.

Решение:
Текущее временное решение заключается в ежечасной очистке кэша памяти на всех узлах. Приведенный ниже пример цикла можно использовать в сеансе screen на любом узле:

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

 

Примечание. Сценарий можно отменить в любой момент в течение 3600 секунд (1 час) ожидания, за исключением случаев, когда isi_flush Выполняется команда. Не убивайте isi_flush процесса, так как это может привести к временному перебою в работе сервиса.

 

Для дальнейшей автоматизации и повышения надежности очистки кэш-памяти cron Задание можно запланировать. В приведенном ниже примере кэш будет очищаться через 7 минут после каждого часа:

Редактировать /etc/mcp/override/crontab с помощью любого текстового редактора и введите следующее:

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

Подробнее о том, как редактировать crontab можно найти в статье Isilon Как редактировать crontab

Режим
комплаенса SmartLockДля SmartLock кластеры в режиме комплаенса, sudo должен быть добавлен перед isi_for_array и isi_flush.

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

Если используется cron Работу compadmin Невозможно изменить файл /etc/mcp/override/crontabTeh crontab CLI с -e должен использоваться на каждом узле, чтобы добавить требуемую строку, как показано ниже. Строка не содержит столбца "who", который был корнем в /etc/mcp/override/crontab, потому что это cron Автор задания compadmin Только.

Редактировать cron Задание с использованием:

# crontab -e

В редакторе:
Нажмите i , чтобы переключиться в режим вставки.
Вставьте под строкой:

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

Нажмите клавишу Esc
Нажмите :wq! , чтобы сохранить изменения.

Prodotti interessati

Isilon, PowerScale, Isilon Gen6.5, Isilon Gen6, PowerScale OneFS
Proprietà dell'articolo
Numero articolo: 000342005
Tipo di articolo: Solution
Ultima modifica: 18 dic 2025
Versione:  7
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.