PowerFlex-ydeevnen for skrivesikkerhed for visse SDS er forringet
Oversigt: PowerFlex – Når du har udført netværksvedligeholdelse, forringes skriveydeevnen for visse SDS (Storage Data Servers).
Symptomer
Scenarie
- - Dette problem opstår efter netværksvedligeholdelse på Top of Rack-switche (TOR'er) blev udført, typisk en genstart af switchene.
- - SDS-noderne (Storage Data Server) bruger en LACP-binding (Link Aggregation Control Protocol) til datanetværkene.
- - Kun SDS-noder, der bruger de switche, hvor vedligeholdelsen blev udført, påvirkes.
- - Skriveydelsen kan være op til hundreder af millisekunder for en bestemt Storage Pool/PD.
- - Læseydelsen for det samme sæt SDS'er er normal.
- - "NET_LONG_RCV_GRP_PROCESS" i diag_counters.txt viser, at værdierne stiger hurtigt, mens den sidste gang, der er øget, forbliver lav.
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 eksempel er værdien i tredje kolonne høj (og stigende, hvis du ser live). Den femte kolonne viser sidste gang, den blev stødt på, hvilket er mindre end et sekund for en god del af SDS'erne.
I et sundt PowerFlex-system tæller den tredje kolonne ikke op, og den femte kolonne tæller op, da sidste gang, man stødte på, stiger med tiden.
For at se tællerne live kan følgende kommandoer køres:
#Set variablen for SDS erne i det berørte beskyttelsesdomæne. Indtast det korrekte PD-navn (Protection Domain) her
pd=
#Set variablen for antallet af SDS er i beskyttelsesdomænet. Kør dette, som det er.
num=`scli --query_protection_domain --protection_domain_name $pd |grep Protection |awk '{print $16}'`
#login for at lade den sidste kommando virke.
scli --login --username admin
#Watch den korrekte tæller fra kommandoen "query_diag_counters" for hvert sikkerhedsdatablad.
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 sundt system skal du forvente, at den femte kolonne tæller regelmæssigt, efterhånden som tiden går, og den tredje kolonne er statisk. Hvis tiden for femte kolonne forbliver lav, og den tredje kolonne tæller op, er dette et symptom på problemet.
Påvirkning
Skriveydelsen er dårlig for klienter.
Årsag
Den "NET_LONG_RCV_GRP_PROCESS", der spores ovenfor, angiver, at afsendelse af TCP-data til et eksternt SDS tog længere tid end 1 s at gennemføre.
Denne forsinkelse kan opstå på grund af et lille indledende TCP-overbelastningsvindue efter netværksvedligeholdelse og ikke har parameteren Out of Order (OOO) pakker indstillet korrekt i operativsystemet. Dette medfører, at SDS til SDS-stikkene ikke kan kommunikere effektivt, hvilket fører til flere TCP-retransmissioner og reduceret segmentstørrelse. Dette skaber en højere ventetid ved skrivninger, da dette kun påvirker SDS til SDS-stikkene.
Ventetiden forbliver upåvirket, da SDC'erne (Storage Data Clients) kommunikerer med et enkelt SDS pr. læst IO-anmodning og ikke er afhængige af kommunikation fra SDS til SDS TCP.
Løsning
Du kan få en øjeblikkelig løsning ved at genstarte SDS-tjenesten på hver node, der er berørt. Brug vedligeholdelsestilstand, når du genstarter SDS-processen. En "pkill sds" er tilstrækkelig, når noden er i vedligeholdelse.
Gør følgende for at forhindre, at problemet opstår i fremtiden:
- Anvend de sysctl-indstillinger, der diskuteres i denne offentlige KB-artikel:
Storagedataservernoder indeholder muligvis ikke korrekte systemindstillingsparametre, hvilket kan medføre problemer med ydeevnen
- Hvis du bruger Red Hat Enterprise Linux (RHEL) / CentOS 7, skal du opdatere OS-kerneversionen på SDS-noderne til "3.10.0-1160.66.1" eller nyere
Påvirket version
PowerFlex 3.x
Fast i version
Release Certification Matrix (RCM) version 3.6.3.2 eller nyere
Intelligent Catalog (IC) version 38.363.02 eller nyere