Der PowerFlex Scini-Treiber (SDC) meldet Speicherzuweisungsfehler (blkIO_HandleChecksumOnIoStart)

Summary: Fehler bei der Speicherzuweisung werden vom scini-Treiber (dem SDC-Treiber) im syslog gemeldet.

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

Szenario
Auf Linux
installierter SDC Volumes, die dem SDC zugeordnet sind, werden aus einem Storage-Pool zugewiesen, der für die Verwendung von Prüfsummen konfiguriert ist.
Im System tritt Speichermangel oder Speicherfragmentierung auf.

Symptome
Im Syslog werden in der Regel Meldungen angezeigt, die den folgenden ähneln: /var/log/messages

Dec 12 15:36:09 server002 kernel: kworker/16:2H: page allocation failure: order:8, mode:0x104020 
Dec 12 15:36:09 server002 kernel: CPU: 16 PID: 11460 Comm: kworker/16:2H Tainted: P OE ------------ 3.10.0-514.21.1.el7.x86_64 #1 
Dec 12 15:36:09 server002 kernel: Hardware name: HP ProLiant DL560 Gen9/ProLiant DL560 Gen9, BIOS P85 01/04/2016 
Dec 12 15:36:09 server002 kernel: Workqueue: kblockd blk_delay_work 
Dec 12 15:36:09 server002 kernel: 0000000000104020 0000000054aac964 ffff886aecfd37c0 ffffffff81686e13 
Dec 12 15:36:09 server002 kernel: ffff886aecfd3850 ffffffff81187090 ffff88607ffda000 0000000000000010 
Dec 12 15:36:09 server002 kernel: ffffffffffffff00 0010402000000000 0022522000000000 0000000054aac964 
Dec 12 15:36:09 server002 kernel: Call Trace: 
Dec 12 15:36:09 server002 kernel: [<ffffffff81686e13>] dump_stack+0x19/0x1b 
Dec 12 15:36:09 server002 kernel: [<ffffffff81187090>] warn_alloc_failed+0x110/0x180 
Dec 12 15:36:09 server002 kernel: [<ffffffff816829a7>] __alloc_pages_slowpath+0x6b7/0x725 Dec 12 15:36:09 server002 kernel: [<ffffffff8118b645>] __alloc_pages_nodemask+0x405/0x420 Dec 12 15:36:09 server002 kernel: [<ffffffff811cf7fa>] alloc_pages_current+0xaa/0x170 
Dec 12 15:36:09 server002 kernel: [<ffffffff81185f6e>] __get_free_pages+0xe/0x50 
Dec 12 15:36:09 server002 kernel: [<ffffffff811db09e>] kmalloc_order_trace+0x2e/0xa0 
Dec 12 15:36:09 server002 kernel: [<ffffffff811dd871>] __kmalloc+0x221/0x240 
Dec 12 15:36:09 server002 kernel: [<ffffffff811de7c3>] ? kmem_cache_alloc+0x193/0x1e0 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07b697a>] blkIO_OnChecksumIoStart+0x5a/0x550 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07ed587>] ? mosMCAllocator_Alloc+0x57/0xa0 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07b3ac1>] blkIO_HandleChecksumOnIoStart+0xc1/0x220 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07b7ea8>] mapVolIO_Do_CK+0x398/0x1e80 [scini] Dec 12 15:36:09 server002 kernel: [<ffffffffa07b4306>] blkIO_Do_CK+0x266/0xa00 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07e9838>] mosMit_EntryWrapper+0x128/0x1b0 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07e9a2c>] mosMit_StartNow+0x7c/0x90 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffffa07b4ea6>] blkIO_Request+0x356/0x730 [scini] 
Dec 12 15:36:09 server002 kernel: [<ffffffff810cf27e>] ? dequeue_task_fair+0x41e/0x660 
Dec 12 15:36:09 server002 kernel: [<ffffffff812eb7e3>] __blk_run_queue+0x33/0x40 
Dec 12 15:36:09 server002 kernel: [<ffffffff812ed915>] blk_delay_work+0x25/0x60 
Dec 12 15:36:09 server002 kernel: [<ffffffff810a845b>] process_one_work+0x17b/0x470 
Dec 12 15:36:09 server002 kernel: [<ffffffff810a9296>] worker_thread+0x126/0x410 
Dec 12 15:36:09 server002 kernel: [<ffffffff810a9170>] ? rescuer_thread+0x460/0x460 
Dec 12 15:36:09 server002 kernel: [<ffffffff810b0a4f>] kthread+0xcf/0xe0 
Dec 12 15:36:09 server002 kernel: [<ffffffff810b0980>] ? kthread_create_on_node+0x140/0x140 Dec 12 15:36:09 server002 kernel: [<ffffffff81697418>] ret_from_fork+0x58/0x90 
Dec 12 15:36:09 server002 kernel: [<ffffffff810b0980>] ? kthread_create_on_node+0x140/0x140

Die Meldungen beginnen mit: page allocation failure
Die Stapelüberwachung umfasst: blkIO_HandleChecksumOnIoStart

Aufprall
Der interne ScaleIO-Prüfsummenmechanismus überprüft möglicherweise einige I/O-Vorgänge nicht.

Hinweis: Die zwischen SDC und SDS gesendeten TCP-Nachrichten enthalten unabhängig von der vom SDC hinzugefügten Prüfsumme eine Prüfsumme auf TCP-Ebene, die verwendet wird, um den Inhalt der Nachricht als Teil des TCP-Stacks zu überprüfen.

 

Cause

Wenn die Prüfsummenfunktion in einem Storage-Pool aktiviert ist, verfügen I/O-Vorgänge auf Volumes, die vom Storage-Pool zugewiesen wurden, über eine Prüfsumme, die in den Netzwerkmeldungen zwischen SDC und SDS enthalten ist.
Um diese Prüfsummenwerte zu berechnen, weist der SDC dynamisch Arbeitsspeicher zu.
Wenn auf dem Host Speichermangel oder Speicherfragmentierung vorliegt, schlägt die für den Prüfsummenvorgang erforderliche Speicherzuweisung möglicherweise fehl.

Wenn die Speicherzuweisung fehlschlägt, kann der SDC die Prüfsumme nicht berechnen und hängt sie nicht an die Netzwerkmeldung an.
Wenn der SDS eine Meldung vom SDC erhält, die keine Prüfsumme enthält, führt er den I/O-Vorgang aus, ohne den Inhalt der Nachricht auf seiner Seite zu überprüfen.

Zusammenfassend lässt sich sagen, dass die Fehler bei der Speicherzuweisung keine Auswirkungen auf die I/O-Vorgänge der Anwendungen oder die ScaleIO-Leistung haben.

 

Resolution

Stellen Sie nach Möglichkeit sicher, dass der Host über genügend freien, nicht fragmentierten Speicher verfügt.

Betroffene Versionen
Alle ScaleIO-Versionen – funktionieren wie vorgesehen

Behoben in Version
N/A

 

Article Properties
Article Number: 000161109
Article Type: Solution
Last Modified: 03 Sept 2025
Version:  7
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.