Problemer med PowerFlex-skriveytelse
Summary: Etter å ha utført nettverksvedlikehold, er skriveytelsen til visse SDS-er nå dårlig.
Symptoms
Scenario
- Dette problemet oppstår etter at nettverksvedlikehold på Top of Rack-svitsjer (TOR) ble utført, vanligvis en omstart av svitsjene.
- SDS-nodene bruker en LACP-binding for datanettverkene.
- Bare SDS-nodene som bruker bryterne der vedlikehold ble utført, påvirkes.
- Skriveytelsen kan være opptil hundrevis av millisekunder for et bestemt lagringsbasseng / PD.
- Leseytelsen til det samme settet med SDS-er er normal.
- "NET_LONG_RCV_GRP_PROCESS" i diag_counters.txt viser at verdiene klatrer raskt, mens siste gang økt holder seg lave.
Eksempel:
Comp :: Counter :: Value :: ExtData :: Last Counted(Ms) NET :: NET_LONG_RCV_GRP_PROCESS :: 3756453 :: 0xffffffff :: 3120 NET :: NET_LONG_RCV_GRP_PROCESS :: 3825395 :: 0xffffffff :: 960 NET :: NET_LONG_RCV_GRP_PROCESS :: 3705906 :: 0xffffffff :: 1320 NET :: NET_LONG_RCV_GRP_PROCESS :: 4094919 :: 0xffffffff :: 1230 NET :: NET_LONG_RCV_GRP_PROCESS :: 3954725 :: 0xffffffff :: 1390 NET :: NET_LONG_RCV_GRP_PROCESS :: 3594178 :: 0xffffffff :: 420 NET :: NET_LONG_RCV_GRP_PROCESS :: 3702403 :: 0xffffffff :: 680 NET :: NET_LONG_RCV_GRP_PROCESS :: 3830299 :: 0xffffffff :: 510 NET :: NET_LONG_RCV_GRP_PROCESS :: 3491713 :: 0xffffffff :: 330 NET :: NET_LONG_RCV_GRP_PROCESS :: 4155343 :: 0xffffffff :: 690
I dette eksemplet er verdien i den tredje kolonnen høy (og økende hvis du ser på direkte). Den femte kolonnen viser forrige gang den ble påtruffet, som er mindre enn et sekund for en god del av SDS-ene.
I et sunt PowerFlex-system teller ikke den tredje kolonnen opp, og den femte kolonnen teller opp, ettersom forrige gang du oppstod, øker over tid.
Hvis du vil se tellerne live, kan følgende kommandoer kjøres:
#Set variabelen for SDS-ene i det berørte beskyttelsesdomenet. Skriv inn riktig PD-navn her.
pd=<PD_NAME>
#Set variabelen for antall SDS-er i beskyttelsesdomenet. Kjør dette som det er.
num=`scli --query_protection_domain --protection_domain_name $pd |grep Protection |awk '{print $16}'`
#login for å la den siste kommandoen fungere.
scli --login --username admin
#Watch riktig teller fra "query_diag_counters"-kommandoen for hvert SDS.
watch -d -n 1 "for x in \$(scli --query_all_sds | grep -A $num $pd | grep ID | awk '{print \$5}'); do echo \$x; scli --query_diag_counters | grep -A30 \$x | grep -Em1 '\$x|NET_LONG_RCV_GRP_PROCESS'; done"
I et sunt system forventer du at den femte kolonnen teller opp regelmessig etter hvert som tiden går og den tredje kolonnen er statisk. Hvis tiden i den femte kolonnen forblir lav og den tredje kolonnen teller opp, er dette et symptom på problemet.
Innvirkning
Skriveytelsen er dårlig for klienter.
Cause
"NET_LONG_RCV_GRP_PROCESS" som spores ovenfor, indikerer at sending av TCP-data til et eksternt SDS tok mer enn 1 sekund å fullføre.
Denne forsinkelsen kan oppstå på grunn av en liten innledende TCP-overbelastningsvindu etter nettverksvedlikehold og at OOO-pakkeparameteren (ute av drift) ikke er riktig angitt i operativsystemet. Dette fører til at SDS til SDS-kontaktene ikke kan kommunisere effektivt, noe som fører til flere TCP-overføringer og redusert segmentstørrelse. Dette skaper høyere ventetid ved skriving, da dette bare påvirker SDS til SDS-kontaktene.
Leseventetiden påvirkes ikke ettersom SDC-ene (klientene) kommuniserer med én enkelt SDS per lest I/O-forespørsel, og ikke er avhengig av SDS til SDS TCP-kommunikasjon.
Resolution
For en umiddelbar løsning må du starte SDS-tjenesten på nytt på hver node som er berørt. Bruk vedlikeholdsmodus når du starter SDS-prosessen på nytt. En "pkill sds" er tilstrekkelig når noden er i vedlikehold.
Gjør følgende for å forhindre at problemet oppstår i fremtiden:
- Bruk sysctl-innstillingene som omtales i denne offentlige KB-artikkelen:
Det kan hende at servernoder for lagringsdata ikke inneholder riktige parametere for justering av systemet, noe som kan føre til ytelsesproblemer
- Hvis du bruker RHEL/CentOS 7, må du oppdatere OS-kjerneversjonen på SDS-nodene til "3.10.0-1160.66.1" eller nyere
Påvirket versjon
PowerFlex 3.x
Løst i versjon
RCM versjon 3.6.3.2 eller nyere
IC-versjon 38.363.02 eller nyere