Problemen met schrijfprestaties van PowerFlex
Summary: Na het uitvoeren van netwerkonderhoud zijn de schrijfprestaties van bepaalde SDS-exemplaren nu slecht.
Symptoms
Scenario
- Dit probleem doet zich voor nadat netwerkonderhoud aan Top of Rack switches (TOR's) is uitgevoerd, meestal door de switches opnieuw op te starten.
- De SDS-knooppunten gebruiken een LACP-binding voor de datanetwerken.
- Alleen de SDS-knooppunten die gebruikmaken van de switches waaraan onderhoud is uitgevoerd, worden beïnvloed.
- De schrijfprestaties kunnen oplopen tot honderden milliseconden voor een bepaalde storagepool/PD.
- De leesprestaties van dezelfde set SDS-servers zijn normaal.
- De "NET_LONG_RCV_GRP_PROCESS" in het diag_counters.txt geeft aan dat de waarden snel stijgen, terwijl de laatst verhoogde tijd laag blijft.
Voorbeeld:
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
In dit voorbeeld is de waarde in de derde kolom hoog (en neemt toe als je live kijkt). De vijfde kolom toont de laatste keer dat het is aangetroffen, wat minder dan een seconde is voor een groot deel van de SDS'en.
In een goed PowerFlex-systeem telt de derde kolom niet op en telt de vijfde kolom op, omdat de laatst aangetroffen keer in de loop van de tijd toeneemt.
Om de tellers live te bekijken, kunnen de volgende opdrachten worden uitgevoerd:
#Set de variabele voor de SDS-servers in het betreffende beschermingsdomein. Voer hier de juiste PD-naam in.
pd=<PD_NAME>
#Set de variabele voor het aantal SDS-servers in het beschermingsdomein. Voer dit uit zoals het is.
num=`scli --query_protection_domain --protection_domain_name $pd |grep Protection |awk '{print $16}'`
#login om de laatste opdracht te laten werken.
scli --login --username admin
#Watch de juiste teller met de opdracht "query_diag_counters" voor elke 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"
Verwacht in een gezond systeem dat de vijfde kolom regelmatig optelt naarmate de tijd verstrijkt en dat de derde kolom statisch is. Als de tijd van de vijfde kolom laag blijft en de derde kolom optelt, is dit een symptoom van het probleem.
Impact
Schrijfprestaties zijn slecht voor clients.
Cause
De "NET_LONG_RCV_GRP_PROCESS" die hierboven wordt bijgehouden, geeft aan dat het verzenden van TCP-gegevens naar een externe SDS langer dan 1 s in beslag nam.
Deze vertraging kan optreden als gevolg van een kleine initiële TCP-drukteperiode na netwerkonderhoud en het niet correct instellen van de parameter OOO (Out of Order) pakketten in het besturingssysteem. Hierdoor kunnen de SDS-naar-SDS-sockets niet effectief communiceren, wat leidt tot meerdere TCP-herverzendingen en een kleinere segmentgrootte. Dit zorgt voor een hogere latentie bij schrijfbewerkingen, omdat dit alleen van invloed is op de SDS-naar-SDS-sockets.
De leeslatentie blijft onaangetast omdat de SDC's (clients) communiceren met één SDS per gelezen IO-verzoek en niet afhankelijk zijn van SDS-naar-SDS TCP-communicatie.
Resolution
Voor een onmiddellijke tijdelijke oplossing start u de SDS-service opnieuw op elk knooppunt dat wordt beïnvloed. Gebruik de onderhoudsmodus bij het opnieuw starten van het SDS-proces. Een "pkill sds" is voldoende als de node eenmaal in onderhoud is.
Ga als volgt te werk om dit probleem in de toekomst te voorkomen:
- Pas de sysctl-instellingen toe die in dit openbare KB-artikel worden besproken:
Storagedataserverknooppunten bevatten mogelijk niet de juiste parameters voor systeemafstemming, wat kan leiden tot prestatieproblemen
- Als u RHEL/CentOS 7 gebruikt, werkt u de kernelversie van het besturingssysteem op de SDS-knooppunten bij naar 3.10.0-1160.66.1 of hoger
Getroffen versie
PowerFlex 3.x
Opgelost in versie
RCM versie 3.6.3.2 of hoger
, IC versie 38.363.02 of hoger