클러스터에 새 SDS를 추가한 후 PowerFlex SDC에 IO 오류가 발생함
Summary: PowerFlex 클러스터에 새 SDS를 추가하고 데이터를 새 SDS로 재조정한 후 일부 SDC에서 I/O 오류가 표시됨
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
- SDS가 클러스터에 추가되었습니다(MDM 이벤트에서).
2022-03-07 18:28:07.080 MDM_CLI_CONF_COMMAND_RECEIVED INFO Command add_sds received, User: 'admin'. [4576114] protection_domain with ID a876543f00000000, fault_set N/A, New SDS name: sds12, Hostnames: 172.1.0.12, Port: 7072 2022-03-07 18:28:07.324 CLI_COMMAND_SUCCEEDED INFO Command add_sds succeeded. [4576114] ID: 7d120650000002f
- SDC 로그에는 새 SDS에 연결하려고 시도하는 커널 스택 추적이 표시됩니다. SDC가 새 SDS에 연결을 시도할 때 다음과 같은 내용이 여러 번 표시될 수 있습니다.
022-03-07T18:29:02.880040-05:00 sdc32 kernel: net_sched: page allocation failure: order:4, mode:0x104020 2022-03-07T18:29:02.880170-05:00 sdc32 kernel: CPU: 16 PID: 5662 Comm: net_sched Kdump: loaded Tainted: P OE ------------ 3.10.0-1062.el7.x86_64 #1 2022-03-07T18:29:02.880242-05:00 sdc32 kernel: Hardware name: Dell Inc. PowerEdge R740xd/5XXXXX, BIOS 2.4.8 11/26/2019 2022-03-07T18:29:02.880355-05:00 sdc32 kernel: Call Trace: 2022-03-07T18:29:02.880453-05:00 sdc32 kernel: [<ffffffffbb179262>] dump_stack+0x19/0x1b 2022-03-07T18:29:02.880553-05:00 sdc32 kernel: [<ffffffffbabc23d0>] warn_alloc_failed+0x110/0x180 2022-03-07T18:29:02.880623-05:00 sdc32 kernel: [<ffffffffbb1747fc>] __alloc_pages_slowpath+0x6b6/0x724 2022-03-07T18:29:02.880709-05:00 sdc32 kernel: [<ffffffffc09c021e>] ? netAddress_ToStrCopy+0x2de/0x520 [scini] 2022-03-07T18:29:02.880787-05:00 sdc32 kernel: [<ffffffffbabc6b84>] __alloc_pages_nodemask+0x404/0x420 2022-03-07T18:29:02.880851-05:00 sdc32 kernel: [<ffffffffbac14c68>] alloc_pages_current+0x98/0x110 2022-03-07T18:29:02.880922-05:00 sdc32 kernel: [<ffffffffbabc117e>] __get_free_pages+0xe/0x40 2022-03-07T18:29:02.880995-05:00 sdc32 kernel: [<ffffffffbac2052e>] kmalloc_order_trace+0x2e/0xa0 2022-03-07T18:29:02.881053-05:00 sdc32 kernel: [<ffffffffbac24571>] __kmalloc+0x211/0x230 2022-03-07T18:29:02.881110-05:00 sdc32 kernel: [<ffffffffc0988274>] mapClass_AllocAndInitObj+0x44/0x140 [scini] 2022-03-07T18:29:02.881167-05:00 sdc32 kernel: [<ffffffffc098959e>] mapClass_UpdateAll+0x40e/0x9b0 [scini] 2022-03-07T18:29:02.881229-05:00 sdc32 kernel: [<ffffffffc09c9994>] ? mosMitSchedThrd_CurThrdOurs+0x64/0x90 [scini] 2022-03-07T18:29:02.881298-05:00 sdc32 kernel: [<ffffffffc099aa07>] mapMdm_HandleObjUpdate_CK+0x327/0x730 [scini] 2022-03-07T18:29:02.881360-05:00 sdc32 kernel: [<ffffffffc099c070>] ? mapMdm_SendUpdateReq_CK+0xf0/0xed0 [scini] 2022-03-07T18:29:02.881419-05:00 sdc32 kernel: [<ffffffffc099c4b0>] mapMdm_SendUpdateReq_CK+0x530/0xed0 [scini] 2022-03-07T18:29:02.881480-05:00 sdc32 kernel: [<ffffffffc09a704f>] ? netSock_DoIO+0xef/0x7d0 [scini] 2022-03-07T18:29:02.881543-05:00 sdc32 kernel: [<ffffffffc09aaf47>] ? netChanThrottler_TryToWakeupWaiterOfCond+0x27/0x100 [scini] 2022-03-07T18:29:02.881606-05:00 sdc32 kernel: [<ffffffffc09ab118>] ? netChanThrottler_TryToWakeupWaiter+0x58/0x80 [scini] 2022-03-07T18:29:02.881660-05:00 sdc32 kernel: [<ffffffffc095cc80>] ? netChan_SendReq_CK+0x90/0xa70 [scini] 2022-03-07T18:29:02.881716-05:00 sdc32 kernel: [<ffffffffc095cdd0>] netChan_SendReq_CK+0x1e0/0xa70 [scini] 2022-03-07T18:29:02.881775-05:00 sdc32 kernel: [<ffffffffc09699c5>] netCon_SendReq_CK+0x175/0x590 [scini] 2022-03-07T18:29:02.881835-05:00 sdc32 kernel: [<ffffffffc0963cf7>] ? netRPC_SendDone_CK+0x47/0xab0 [scini] 2022-03-07T18:29:02.881890-05:00 sdc32 kernel: [<ffffffffc0963dd3>] netRPC_SendDone_CK+0x123/0xab0 [scini] 2022-03-07T18:29:02.881959-05:00 sdc32 kernel: [<ffffffffc09c9c24>] mosMit_RunWithTLS+0x54/0x60 [scini] 2022-03-07T18:29:02.882017-05:00 sdc32 kernel: [<ffffffffc09cbb92>] mosMitSchedThrd_ThrdEntry+0x1a2/0x500 [scini] 2022-03-07T18:29:02.882071-05:00 sdc32 kernel: [<ffffffffc09c82f0>] ? mosTicks_DestroyEnvSpecific+0x10/0x10 [scini] 2022-03-07T18:29:02.882126-05:00 sdc32 kernel: [<ffffffffc09c8310>] mosOsThrd_Entry+0x20/0x50 [scini] 2022-03-07T18:29:02.882185-05:00 sdc32 kernel: [<ffffffffbaac50d1>] kthread+0xd1/0xe0 2022-03-07T18:29:02.882240-05:00 sdc32 kernel: [<ffffffffbaac5000>] ? insert_kthread_work+0x40/0x40 2022-03-07T18:29:02.882294-05:00 sdc32 kernel: [<ffffffffbb18bd37>] ret_from_fork_nospec_begin+0x21/0x21 2022-03-07T18:29:02.882351-05:00 sdc32 kernel: [<ffffffffbaac5000>] ? insert_kthread_work+0x40/0x40 2022-03-07T18:29:02.891431-05:00 sdc32 kernel: ScaleIO mapClass_AllocAndInitObj:1301 :Error: Failed to allocate memory 38480.Cannot process MDM response
- 그러면 SDC 로그에 I/O 오류가 표시됩니다.
2022-03-07T18:49:03.652009-05:00 sdc32 kernel: ScaleIO mapMultiHead_UpdateInPlace:561 :Warning: Invalid primaryTgtIdx 47 at 2. Multi-head ID dd990042. 2022-03-07T18:49:03.652130-05:00 sdc32 kernel: ScaleIO mapClass_UpdateAll:614 :Error: Object ffff948c7f350000 (class multi_head) failed to update in place.status NO_RESOURCES (67) 2022-03-07T18:49:04.662144-05:00 sdc32 kernel: ScaleIO mapVolIO_ReportIOErrorIfNeeded:491 :[67641433832] IO-ERROR Type READ. comb: 6ecc80210154. offsetInComb 14536800. SizeInLB 256. SDS_ID 7dd0d24700000033. Comb Gen 21c1. Head Gen 222c. StartLB 5fb1ac860. 2022-03-07T18:49:04.662268-05:00 sdc32 kernel: blk_update_request: I/O error, dev scinic, sector 25687672672
영향
일부 SDC의 I/O 오류
Cause
SDC가 실행되는 호스트 OS에 64KB 범위의 연속 메모리 청크가 없습니다. "페이지 할당 실패: 순서: 4" 메시지는 사용할 수 없는 64KB 청크임을 알려줍니다. SDC가 새 소켓을 생성하고 새로 추가된 SDS에 연결하기 위해 OS에 메모리 할당을 요청하고 있지만 오류가 발생했습니다. SDC가 새 SDS에 연결할 수 없고 데이터가 새 SDS로 재조정되는 경우 SDC 호스트의 IO 오류가 발생합니다.
Resolution
새 SDS를 즉각적인 유지 보수 모드로 전환하여 IO 오류를 즉시 중지할 수 있습니다. SDC는 나머지 SDS에서 데이터를 가져올 수 있습니다. SDC 메모리 문제가 해결되면 SDS의 유지 보수를 중단합니다.
여기서 해야 할 일이 몇 가지 있으며, 모두 실행 계획에서 고려해야 합니다.
- 이 문제를 해결하기 위해 확실한 방법이 필요한 경우 SDC 호스트를 재부팅하면 문제가 해결됩니다. OS를 다시 초기화하면 이전에 있던 메모리 조각화가 사라집니다.
-
재부팅이 불가능한 경우 다음 명령을 사용합니다. 조각난 메모리를 최대한 회수하고 압축하려고 합니다. 이는 작동이 보장되지 않으며 메모리 조각을 회수/압축하는 몇 초 동안 현재 응용 프로그램에 지장을 줄 수 있습니다.
sync; echo 1 > /proc/sys/vm/drop_caches; echo 1 > /proc/sys/vm/compact_memory
"cat /proc/buddyinfo"로 메모리 사용량을 확인하여 위의 명령이 도움이 되었는지 확인하십시오. 위의 명령을 실행하기 전과 후에 사용하여 0 이상으로 상승하는지 확인합니다. "노드 0, 보통 영역" 행의 네 번째 열은 사용 가능한 64KB 연속 메모리 청크입니다. 이 경우 위의 명령을 실행하여 회수/압축하기 전에 표시됩니다.sdc32:~ # cat /proc/buddyinfo Node 0, zone DMA 1 0 0 1 2 1 1 0 1 1 2 Node 0, zone DMA32 9 5 7 5 9 6 8 6 7 5 295 Node 0, zone Normal 909921 1263646 202478 0<=== 0 0 0 0 0 0 0 Node 1, zone Normal 39085 0 0 0 0 0 0 0 0 0 0
- "sysctl -a"를 사용하여 커널에서 메모리 오버커밋 설정을 확인합니다. 커널이 기본값을 사용하는 경우:
vm.overcommit_memory = 0
vm.overcommit_ratio = 50
재부팅 후 OS에서 더 많은 메모리를 사용하고 나중에 이 문제를 방지하려면 이러한 매개 변수를 다음과 같이 변경하는 방법에 대해 OS 공급업체에 문의하는 것이 좋습니다.
vm.overcommit_memory = 2
vm.overcommit_ratio = 98
- 이것이 OS 메모리 조각화의 정기적인 패턴이 되는 경우 Linux 커널을 업그레이드해야 할 수 있습니다
영향을 받는 버전
모든 PowerFlex SDC는 OS 메모리 조각화 문제의 영향을 받을 수 있습니다.
Affected Products
PowerFlex SoftwareArticle Properties
Article Number: 000197199
Article Type: Solution
Last Modified: 09 Jun 2025
Version: 2
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.