PowerFlex:资源争用故障处理

요약: PowerFlex 资源争用问题和故障处理

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

증상

当 PowerFlex 进程与其他软件或硬件组件发生资源争用时,会导致 PowerFlex 进程出现异常行为。

这里的症状可能多种多样。这是症状和结果的部分列表

 

MDM 问题:

 - 当 MDM 进程卡住并失去与其他 MDM 的通信时,会发生 MDM 所有权故障转移

From exp.0:
Panic in file /emc/svc_flashbld/workspace/ScaleIO-RHEL7/src/mos/umt/mos_umt_sched_thrd.c, line 1798, function mosUmtSchedThrd_SuspendCK, PID 36721.Panic Expression ALWAYS_ASSERT Scheduler guard seems to be dead.
 
From trc.*
24/02 15:54:16.087919 0:schedThrdGuard_SampleLivnes:01463: WARNING: pThread 0x106d9360(0) in scheduler 0x7fff580c4880, running UMT 0x7f39ad00ceb8, found to be stuck.
24/02 15:54:16.088226 ad417eb8:actorLoop_IsSchedThredStuck:10932: Stuck scheduler thread identified
24/02 15:54:16.088253 ad417eb8:actor_Loop:11257: Lost quorum. ourVoters: 0 votersOwnedByOther: [0,0]
24/02 15:54:16.088299 ---Planned crash, reason: Lost quorum, going down to let another MDM become master ---

 

 - MDM 进程将在一段时间内不断断开连接和重新连接

2017-02-23 14:00:43.241 MDM_CLUSTER_LOST_CONNECTION 	WARNING  	The MDM, ID 089012db4d536880, lost connection 
2017-02-23 14:00:43.422 MDM_CLUSTER_CONNECTED     	INFO     	The MDM, ID 089012db4d536880, connected 
2017-02-23 23:05:25.852 MDM_CLUSTER_LOST_CONNECTION 	WARNING  	The MDM, ID 089012db4d536880, lost connection 
2017-02-23 23:05:26.422 MDM_CLUSTER_CONNECTED     	INFO     	The MDM, ID 089012db4d536880, connected 
2017-02-24 15:54:16.141 MDM_CLUSTER_LOST_CONNECTION 	WARNING  	The MDM, ID 089012db4d536880, lost connection 
2017-02-24 15:54:16.238 MDM_CLUSTER_CONNECTED    	INFO     	The MDM, ID 089012db4d536880, connected 

 

 

SDS 问题:

 - SDS 将在一段时间内不断断开和重新连接

2017-02-15 13:18:16.881 SDS_RECONNECTED           INFO     	 SDS: siosds2 (ID 1eb052fe00000001) reconnected
2017-02-16 03:37:37.327 SDS_DECOUPLED             ERROR    	 SDS: siosds2 (id: 1eb052fe00000001) decoupled.
2017-02-16 03:39:54.300 SDS_RECONNECTED           INFO     	 SDS: siosds2 (ID 1eb052fe00000001) reconnected
2017-02-17 04:03:41.757 SDS_DECOUPLED             ERROR    	 SDS: siosds2 (id: 1eb052fe00000001) decoupled.
2017-02-17 04:09:13.604 SDS_RECONNECTED           INFO     	 SDS: siosds2 (ID 1eb052fe00000001) reconnected

 

 - SDS 可能会在 trc 文件中显示有关与其他 SDS 节点的连接丢失的振荡错误:

14/02 19:13:24.096983 1be7eb8:contNet_OscillationNotif:01675: Con 1eb052fe00000005 - Oscillation of type 5 (RPC_LINGERED_1SEC) reported
14/02 19:13:24.196814 1be7eb8:contNet_OscillationNotif:01675: Con 1eb053000000000b - Oscillation of type 5 (RPC_LINGERED_1SEC) reported
14/02 19:13:24.296713 1be7eb8:contNet_OscillationNotif:01675: Con 1eb0530000000007 - Oscillation of type 5 (RPC_LINGERED_1SEC) reported
14/02 21:48:43.917218 afb28eb8:contNet_OscillationNotif:01675: Con 1eb052fe00000007 - Oscillation of type 1 (SOCKET_DOWN) reported
14/02 21:48:43.917296 afb28eb8:contNet_OscillationNotif:01675: Con 1eb052fe00000005 - Oscillation of type 1 (SOCKET_DOWN) reported

 

 - SDS 可能会在 trc 文件中显示死锁或卡住的线程: 

 
14/02 19:13:24.147938 9aa4eeb8:netPath_IsKaNeeded:01789: DEBUG ASSERT, Reason:Socket deadlocked. Crashing.
14/02 19:13:24.148113 9aa4eeb8:netPath_IsKaNeeded:01789: DEBUG ASSERT, Reason:Socket deadlocked. Crashing.
14/02 19:13:24.148121 9aa4eeb8:netPath_IsKaNeeded:01789: DEBUG ASSERT, Reason:Socket deadlocked. Crashing.
 
14/02 20:52:54.097765 242f0eb8:kalive_StartIntr:00346: KA aborted due to stuck sched thread
14/02 21:48:43.510602 7fa30eb8:kalive_StartIntr:00346: KA aborted due to stuck sched thread
14/02 21:48:44.776713 1b67ceb8:kalive_StartIntr:00346: KA aborted due to stuck sched thread
 
14/02 02:44:41.532007 e2239eb8:contNet_OscillationNotif:01675: Con 1eb052fd00000001 - Oscillation of type 3 (RCV_KA_DISCONNECT) reported
14/02 02:44:43.799135 0:schedThrdGuard_SampleLivnes:01463: WARNING: pThread 0x1a0de10(0) in scheduler 0x7fff01bec400, running UMT 0x7f94e221eeb8, found to be stuck.
14/02 02:44:43.799155 0:schedThrdGuard_SampleLivnes:01463: WARNING: pThread 0x1a0e050(1) in scheduler 0x7fff01bec400, running UMT 0x7f94e2227eb8, found to be stuck.
14/02 02:44:43.799257 e0e38eb8:cont_IsSchedThredStuck:01678: Stuck scheduler thread identified
14/02 02:44:43.799267 e0e38eb8:kalive_StartIntr:00346: KA aborted due to stuck sched thread
 

 

 - SDS 可能会在 trc 文件中显示“错误分叉”:

01/09 00:37:51.329020 0x7f1001c58eb0:mosDbg_BackTraceAllOsThreads:00673: Error forking.

 

 - 由于无法分配所需的内存,SDS 无法启动。
exp 日志文件中报告以下内容:

07/09 00:41:52.713502 Panic in file /data/build/workspace/ScaleIO-SLES12-2/src/mos/usr/mos_utils.c, line 235, function mos_AllocPageAlignedOrPanic, PID 25342.Panic Expression pMem != ((void *)0) .

 

 -作系统也可能在 /var/log/messages 或系统事件日志中出现一些症状:

/var/log/messages:
Feb  14 13:25:08 ScaleIO-192-168-1-2 kernel: [7461116.683555] TCP: Possible SYN flooding on port 7072. Sending cookies.
Feb  14 13:25:08 ScaleIO-192-168-1-2 kernel: [7461116.683561] TCP: Possible SYN flooding on port 7072. Sending cookies.
Feb  14 13:25:08 ScaleIO-192-168-1-2 kernel: [7461116.683566] TCP: Possible SYN flooding on port 7072. Sending cookies.
Feb  14 13:25:08 ScaleIO-192-168-1-2 kernel: [7461116.683570] TCP: Possible SYN flooding on port 7072. Sending cookies.
Feb  14 13:27:39 ScaleIO-192-168-1-2 kernel: [7461266.566145] sched: RT throttling activated

 

“端口 7072 上的 SYN 泛洪”消息意味着网络数据包正在发送到此主机上的 SDS,而 SDS 无法接受该端口上的数据包。默认情况下,SDS 使用端口 7072。
“RT throttling activated”(RT 限制已激活)是一条消息,表明作系统调度程序已识别出一些实时线程占用 CPU 并使其他线程饥饿。作系统这样做是为了尝试限制这些实时任务,并防止作系统挂起或崩溃。  

 
 
SDC 问题:

当 SDS 频繁断开连接或无法足够快地响应 SDC 并且仍在尝试为其拥有的 IO 块提供服务时,SDC 也可能会遇到 IO 错误。

 

影响

上述症状可能导致DATA_DEGRADED、DATA_FAILED事件以及CLUSTER_DEGRADED。

원인

如果上述所有症状均匹配,则很可能是 CPU 或内存资源不足问题。查找正在运行的第三方应用程序或进程,这些应用程序或进程可能会使 MDM 或 SDS 进程的 CPU 和内存不足。

在虚拟环境中,有几次 CPU 性能较差。这是由在同一资源池下定义的 SVM 引起的。

在这种情况下,我们应建议不要将 SVM 置于资源池中,而是按照 SVM 中的定义使用其专用资源。

해결

确保已针对性能设置调整 PowerFlex 组件(MDM、SDS、SDC)。请参阅此处提供的性能“微调”和“故障处理”指南。

 

配置审查:

  1. 首先,确认 SVM CPU 和 RAM 设置是否符合最佳实践: 
    1. SVM CPU 设置:(可即时设置)
      1. 每个插槽的核心数:全部在一个插槽中,因此“插槽”的值为“1”。(核心总数由其托管的 SDS 的需求决定:全闪存、FG、DASCache、Cloudlink、3.5 等都会影响(增加)CPU 要求。)
      2. 保留:在下拉列表中选择“最大值”值
      3. 股票:高
      4. 这应该如下所示: 

SVM CPU 设置

 

b. SVM RAM 设置:(可即时设置)

  1. 选中“保留所有客户机内存(全部锁定)”
  2. 股票:高
  3. 这应该如下所示:

SVM RAM 设置

 

 

c. 来宾 SVM作系统内存过量使用设置:(需要重新启动)

    1. 运行 sysctl -a|grep 过量提交以确认过量使用设置正确无误:
      # sysctl -a|grep overcommit
      vm.overcommit_memory = 2
      vm.overcommit_ratio = 100
    2. 如果未设置上述值,则某些 SVM 内存将无法供 SDS 进程使用。通过编辑 /etc/sysctl.conf 并编辑/添加上述值来更正此设置

    3. 将 SDS 置于维护模式,然后重新启动 SVM 以应用设置
    4. 重新启动后通过运行“cat /etc/sysctl.conf|grep overcommit”进行确认
    5. 退出维护模式
  1. 要在日志中查找这些内容,请执行以下作:
    1. SVM 配置 (vmsupport):
      1. 正确配置的 SVM 的 .vmx 文件将包含以下内容:

sched.cpu.units = "mhz"
sched.cpu.affinity = "all"
sched.cpu.min = "25930"     (nonzero value that's equal to core speed * the # of cores allocated)
sched.cpu.shares = "high"
sched.mem.min = "24576"     (nonzero value that's a full allocation of configured memory)
sched.mem.minSize = "24576" (nonzero value that's a full allocation of configured memory)
sched.mem.shares = "high"
cpuid.coresPerSocket = "10" (value equal to total # of cores allocated, so they're all in one socket)
sched.mem.pin = "TRUE"

 

  1. 不正确(过时)SVM 配置将具有以下内容:
sched.cpu.min = "0"
sched.cpu.shares = "normal"
sched.mem.pin = "FALSE"
sched.mem.shares = "normal"
cpuid.coresPerSocket = "4" (value less than total # of cores allocated, usually 1/2 or 1/4)
 
来宾内作系统配置 (getinfo):
  1. 正确配置的内存过量使用:

    文件服务器/sysctl.txt包含:

vm.overcommit_memory = 2
vm.overcommit_ratio = 100

 

  1. PowerFlex 使用大量 RAM,以在内存中高速运行每项服务。这就是为什么它不支持使用交换来分载任何 PowerFlex 服务。

    HCI 解决方案中仅存储和 SVM 预期的默认设置为过量使用内存 2。这样,内核就不会超额订阅内存,并且在不使用任何交换的设置的情况下,确保没有commit_as值大于总可用/可用内存。

    100 的比率可确保同时不使用交换,以便对使用的数据块交换进行更多控制。

  2. 错误配置的内存过量使用:
    文件服务器/sysctl.txt包含:

vm.overcommit_memory = 0  (value not 2)
vm.overcommit_ratio = 50  (value less than 95)

 

其他可能的解决方法:

  1. 停止导致 CPU/内存资源不足的应用程序,或与应用程序供应商联系以获取更新,以缓解资源占用问题。 
  2. 使用 CPU/内存趋势分析工具(top/sar/cron 作业/等)找出正在占用资源的应用程序。建议间隔 1 秒以获得必要的粒度,以显示问题发生的时间以及责任人
  3. 升级主机 CPU 和/或内存,为其提供更多资源
  4. 重新构建为双层设置,而不是融合系统(如果 SDS/SDC 在同一主机上)

추가 정보

문서 속성
문서 번호: 000167765
문서 유형: Solution
마지막 수정 시간: 24 11월 2025
버전:  5
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.