PowerFlex: Probleemoplossing voor resourceconflicten
요약: Problemen met PowerFlex-resourceconflicten en probleemoplossing
증상
Abnormaal gedrag van de PowerFlex-processen is het gevolg wanneer PowerFlex-processen in conflict komen met andere software- of hardwarecomponenten.
De symptomen hier kunnen talrijk en gevarieerd zijn. Dit is een gedeeltelijke lijst van de symptomen en resultaten
MDM-problemen:
- MDM-eigendomsfailover treedt op als MDM-processen vastlopen en de communicatie met de andere MDM's verliezen
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 ---
- Het MDM-proces wordt gedurende enige tijd voortdurend losgekoppeld en opnieuw verbonden
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-problemen:
- SDS zal gedurende enige tijd constant worden losgekoppeld en opnieuw aangesloten
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 kan oscillerende fouten vertonen in trc-bestanden met betrekking tot verbindingsverlies met andere SDS-knooppunten:
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 kan vastgelopen of vastgelopen threads weergeven in trc-bestanden:
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 kan "error forking" weergeven in trc-bestanden:
01/09 00:37:51.329020 0x7f1001c58eb0:mosDbg_BackTraceAllOsThreads:00673: Error forking.
- De SDS kan niet worden gestart omdat het vereiste geheugen niet is toegewezen.
Het volgende wordt gerapporteerd in exp-logbestanden:
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) .
- Het besturingssysteem kan ook enkele symptomen vertonen in /var/log/messages of systeemgebeurtenislogboeken:
/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
De "SYN flooding on port 7072"-berichten betekenen dat netwerkdatapakketten worden verzonden naar de SDS op deze host en dat de SDS de pakketten op die poort niet kan accepteren. De SDS gebruikt standaard poort 7072.
De "RT throttling activated" is een bericht dat de planner van het besturingssysteem een aantal real-time threads heeft geïdentificeerd die de CPU in beslag nemen en andere threads uithongeren. Het besturingssysteem doet dit in een poging om die realtime taken te beperken en te voorkomen dat het besturingssysteem vastloopt of crasht.
De SDC kan ook IO-fouten oplopen wanneer de SDS-exemplaren vaak de verbinding verbreken of niet snel genoeg op de SDC kunnen reageren en nog steeds proberen de IO-blokken die zij bezitten te onderhouden.
Impact
De bovenstaande symptomen kunnen leiden tot DATA_DEGRADED, DATA_FAILED gebeurtenissen en CLUSTER_DEGRADED.
원인
Als alle bovenstaande symptomen overeenkomen, is er hoogstwaarschijnlijk sprake van een probleem met gebrek aan CPU of geheugenbronnen. Zoek naar applicaties of processen van derden die mogelijk de CPU en het geheugen van de MDM- of SDS-processen opschorten.
In een virtuele omgeving presteerde de CPU een paar keer slecht. Dit wordt veroorzaakt doordat de SVM's zijn gedefinieerd onder dezelfde resourcegroep.
In dergelijke gevallen moeten we adviseren om de SVM's niet onder een resourcepool te plaatsen, maar om hun specifieke resources te hebben zoals gedefinieerd in de SVM.
해결
Zorg ervoor dat de PowerFlex-componenten (MDM, SDS, SDC) zijn afgestemd op de prestatie-instellingen. Raadpleeg de handleidingen "Fine-Tuning" en "Troubleshooting" voor prestaties die u hier kunt vinden.
Configuratiebeoordeling:
- Controleer eerst of de SVM CPU- en RAM-instellingen overeenkomen met de best practice:
- SVM CPU-instellingen: (Kan on-the-fly worden ingesteld)
- Cores per socket: alles in één socket, dus "Sockets" heeft een waarde van "1". (Het totale aantal cores wordt bepaald door de behoeften van de SDS die wordt gehost: All-flash, FG, DASCache, Cloudlink, 3.5, enz. hebben allemaal invloed op (verhogen) de CPU-vereiste.)
- Reservering: Selecteer de "Maximum"-waarde in de vervolgkeuzelijst
- Aandelen: Hoog
- Dit zou er als volgt uit moeten zien:
- SVM CPU-instellingen: (Kan on-the-fly worden ingesteld)

b. SVM RAM-instellingen: (Kan on-the-fly worden ingesteld)
- Vink "Reserveer alle gastherinneringen (alles vergrendeld)" aan
- Aandelen: Hoog
- Dit zou er als volgt uit moeten zien:

c. In-guest SVM OS overcommit settings: (Opnieuw opstarten vereist)
-
- Voer sysctl -a|grep overcommit uit om te controleren of de overcommit-instellingen correct zijn:
# sysctl -a|grep overcommit vm.overcommit_memory = 2 vm.overcommit_ratio = 100 -
Als de bovenstaande waarden niet zijn ingesteld, zal een deel van het SVM-geheugen onbruikbaar zijn voor het SDS-proces. Corrigeer dit door /etc/sysctl.conf te bewerken en de bovenstaande waarden te bewerken/toe te voegen
- Plaats de SDS in de onderhoudsmodus en start de SVM opnieuw op om de instellingen toe te passen
- Bevestig door "cat /etc/sysctl.conf|grep overcommit" uit te voeren na het opnieuw opstarten
- Onderhoudsmodus afsluiten
- Voer sysctl -a|grep overcommit uit om te controleren of de overcommit-instellingen correct zijn:
- U vindt deze als volgt in logboeken:
- SVM config (vmsupport):
-
Het .vmx-bestand van een correct geconfigureerde SVM bevat het volgende:
-
- SVM config (vmsupport):
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"
- Onjuiste (verouderde) SVMconfigs hebben het volgende:
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)
-
Correct geconfigureerd geheugen overcommit:
De bestandsserver/sysctl.txt bevat:
vm.overcommit_memory = 2
vm.overcommit_ratio = 100
-
PowerFlex gebruikt een aanzienlijke hoeveelheid RAM voor elke service om in het geheugen en op hoge snelheid te draaien. Daarom biedt het geen ondersteuning voor het gebruik van swap om een van de PowerFlex-services te offloaden.
De standaardinstelling die wordt verwacht voor alleen de Storage en SVM's in een HCI-oplossing is een overcommitment-geheugen van 2. Op deze manier zal de kernel het geheugen niet overbelasten, en zonder dat er instellingen op geen swap worden gebruikt, zorgt dit ervoor dat geen enkele commit_as waarde groter is dan het totale vrije/beschikbare geheugen.
De ratio van 100 zorgt ervoor dat er ook geen swap wordt gebruikt, voor meer controle om swap te blokkeren.
-
Incorrectly configured memory overcommit:
De bestandsserver/sysctl.txt bevat:
vm.overcommit_memory = 0 (value not 2)
vm.overcommit_ratio = 50 (value less than 95)
Andere mogelijke tijdelijke oplossingen:
- Stop de applicaties die de CPU/geheugenbronnen verhongeren of neem contact op met de applicatieleverancier voor updates om het resourceverbruik te verminderen.
- Gebruik trending tools voor CPU/Geheugen (top/sar/cron-taken/etc.) om erachter te komen welke applicatie de resources in beslag neemt. Intervallen van 1 seconde worden aanbevolen om de granulariteit te verkrijgen die nodig is om te laten zien wanneer het probleem zich voordoet en wie verantwoordelijk is
- Upgrade de CPU en/of het geheugen van de host om deze meer bronnen te geven
- Ontwerp opnieuw naar een installatie met twee lagen in plaats van een geconvergeerd systeem (als SDS/SDC zich op dezelfde host bevinden)