PowerScale OneFS: Prestatieproblemen oplossen
Summary: Los problemen met trage PowerScale OneFS-prestaties op met onze uitgebreide gids over netwerkconfiguratie, verwerkingsbelastingen en bewaking met InsightIQ voor verbeterde clusterefficiëntie. ...
Symptoms
Clientcomputers werken traag. Specifieke taken, met name de taken die op het cluster worden uitgevoerd, mislukken of duren langer dan verwacht.
Cause
Prestatieproblemen zijn meestal te wijten aan netwerkverkeer, problemen met de netwerkconfiguratie, workload van client- of clusterverwerking of een combinatie daarvan. In dit artikel worden verschillende effectieve manieren beschreven om prestatieproblemen op te lossen.
Resolution
Problemen oplossen met InsightIQ
Inhoudsopgave:
- Isilon InsightIQ gebruiken
- Problemen oplossen zonder InsightIQ
- Netwerkdoorvoer
- Verdeling van clientverbindingen
- SmartConnect
- Clusterdoorvoer
- Clusterverwerking
- Bewerkingen in de wachtrij
- CPU
Isilon InsightIQ gebruiken
Het gebruik van Isilon InsightIQ is de beste manier om prestaties te bewaken en prestatieproblemen op te lossen.
Met het virtuele Isilon InsightIQ-apparaat kunt u de activiteit van het Isilon-cluster bewaken en analyseren via flexibele, aanpasbare grafiekweergaven in de InsightIQ webapplicatie. Deze grafieken bevatten gedetailleerde informatie over clusterhardware, software en bewerkingen van het bestandssysteem en het protocol. InsightIQ zet data om in visuele informatie die eventuele prestatie-uitschieters benadrukt, waardoor een snelle diagnose van knelpunten mogelijk is of workflows worden geoptimaliseerd.
Raadpleeg de gebruikershandleiding van InsightIQ voor meer informatie over het gebruik van InsightIQ.
Problemen oplossen zonder InsightIQ
Als u InsightIQ niet gebruikt, kunt u verschillende opdrachten uitvoeren om prestatieproblemen te onderzoeken. Los prestatieproblemen eerst op door de netwerk- en clusterdoorvoer te onderzoeken, vervolgens door de clusterverwerking te onderzoeken en ten slotte door de CPU-snelheden van afzonderlijke knooppunten te onderzoeken.
Netwerkdoorvoer
Gebruik een netwerktesttool, zoals Iperf Voor het bepalen van de doorvoermogelijkheden van het cluster en de clientcomputers in uw netwerk.
Gebruik Iperf, voert u de volgende opdrachten uit op het cluster en de client. Deze opdrachten definiëren een venstergrootte die groot genoeg is om te laten zien of de netwerkverbinding een mogelijke oorzaak is van latentieproblemen.
- Cluster:
iperf -s -w 262144
- Client:
iperf -c <cluster IP> -w 262144
Verdeling van clientverbindingen
Controleer hoeveel NFS- en SMB-clients met het cluster zijn verbonden om er zeker van te zijn dat ze niet de voorkeur geven aan één knooppunt.
- Open een SSH-verbinding op een willekeurig knooppunt in het cluster en meld u aan met het "root"-account.
- Voer de volgende opdracht uit om NFS-clients te controleren:
isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfs
De uitvoer toont het aantal clients dat per knooppunt is verbonden en hoeveel van deze clients op elk knooppunt actief zijn. - Voer de volgende opdracht uit om SMB-clients te controleren:
isi statistics query - nodes=all --stats=node.clientstats.connected.smb, node.clientstats.active.smb1,node.clientstats.active.smb2
De uitvoer toont het aantal clients dat per knooppunt is verbonden en hoeveel van deze clients op elk knooppunt actief zijn.
SmartConnect
Controleer of het knooppunt waarop SmartConnect draait niet wordt belast met netwerkverkeer.
- Open een SSH-verbinding op een willekeurig knooppunt in het cluster en meld u aan met het "root"-account.
- Voer de volgende opdracht uit:
isi_for_array -sq 'ifconfig|grep em -A3'
De uitvoer geeft een lijst weer van alle IP-adressen die aan de externe interface zijn gekoppeld. - Controleer op knooppunten die een extra IP-adres hebben dan de rest.
- Controleer de status van de knooppunten die u in stap 3 hebt opgemerkt door de volgende opdracht uit te voeren:
isi status
Controleer de doorvoerkolom van de uitvoer om de belasting van de knooppunten te bepalen die in stap 3 is opgemerkt.
Clusterdoorvoer
Beoordeel de clusterdoorvoer door schrijf- en leestests uit te voeren die de hoeveelheid tijd meten die nodig is om uit een bestand te lezen en ernaar te schrijven. Voer ten minste één schrijftest en één leestest uit, als volgt.
Schrijf test.
- Open een SSH-verbinding op een willekeurig knooppunt in het cluster en meld u aan met het "root"-account.
- Verander in de
/ifsDirectory:cd /ifs
- Gebruik vanuit de opdrachtregelinterface (CLI) op het cluster of vanaf een UNIX- of Linux-clientcomputer het pictogram
ddopdracht om een nieuw bestand naar het cluster te schrijven. Voer de volgende opdracht uit:dd if=/dev/zero of=1GBfile bs=1024k count=1024
Met deze opdracht wordt een voorbeeldbestand van 1 GB gemaakt en wordt de benodigde tijd weergegeven om het naar de schijf te schrijven. - Extrapoleer op basis van de uitvoer van deze opdracht hoeveel MB per seconde er naar schijf kan worden geschreven in single-stream workflows.
- Als u een MAC-client hebt en verdere analyse wilt uitvoeren,
- Start Activiteitenweergave.
- Voer de volgende opdracht uit, waarbij
pathToFileis het bestandspad van het doelbestand:cat /dev/zero > /pathToFile
Deze opdracht helpt bij het meten van de doorvoer van schrijfbewerkingen op het Isilon-cluster. (Hoewel het mogelijk is om deddcommando van een MAC-client, kunnen de resultaten inconsistent zijn.) - Controleer de resultaten van de opdracht op het tabblad Netwerk van de Activiteitenmonitor.
Lees de test.
Zorg er bij het meten van de doorvoer van leesbewerkingen voor dat u geen leestests uitvoert op het bestand dat u tijdens de schrijftest hebt gemaakt. Omdat dat bestand in de cache is opgeslagen, zijn de resultaten van uw leestests onnauwkeurig. Test in plaats daarvan een leesbewerking van een bestand dat niet in de cache is opgeslagen. Zoek een bestand op het cluster dat groter is dan 1 GB en raadpleeg dat bestand in de leestest.
- Open een SSH-verbinding op een willekeurig knooppunt in het cluster en meld u aan met het "root"-account.
- Gebruik vanuit de CLI op het cluster of vanaf een UNIX- of Linux-clientcomputer het pictogram
ddopdracht om een bestand op het cluster te lezen. Voer de volgende opdracht uit waar:pathToFileis het bestandspad van het doelbestand:dd if=/pathToLargeFile of=/dev/null bs=1024k
Met deze opdracht wordt het doelbestand gelezen en wordt de tijd weergegeven die nodig was om het bestand te lezen. - Als u een MAC-client hebt en verdere analyse wilt uitvoeren,
- Start Activiteitenweergave.
- Voer de volgende opdracht uit waar:
pathToFileis het bestandspad van het doelbestand:time cp /pathToLargeFile > /dev/null
Deze opdracht helpt bij het meten van de doorvoer van leesbewerkingen op het Isilon-cluster. (Hoewel het mogelijk is om deddcommando van een MAC-client, kunnen de resultaten inconsistent zijn.) - Controleer de resultaten van de opdracht op het tabblad Netwerk van de Activiteitenmonitor.
Clusterverwerking
Restripe-taken.
Voordat u I/O-bewerkingen (I/O) van het cluster onderzoekt:
- Bepaal welke taken op het cluster worden uitgevoerd. Als restripe-taken zoals Auto-Balance, Collect of Multi-Scan worden uitgevoerd, overweeg dan waarom deze taken worden uitgevoerd en of ze moeten worden voortgezet.
- Houd rekening met het type data dat wordt gebruikt. Als clientcomputers met grote videobestanden of virtuele machines (VM's) werken, is voor de restripe-taak een hogere hoeveelheid schijf-IOPS vereist dan normaal.
- Overweeg een restripe-taak tijdelijk te onderbreken. Dit kan de prestaties verbeteren en kan op korte termijn een haalbare oplossing zijn voor een prestatieprobleem.
Schijf-I/O
Door schijf-I/O te onderzoeken, kunt u bepalen of bepaalde schijven te veel worden gebruikt.
Per cluster
- Open een SSH-verbinding op een willekeurig knooppunt in het cluster en meld u aan met het "root"-account.
- Voer de volgende opdracht uit om de I/O van schijf te controleren:
isi statistics pstat
- Deel in de uitvoer van deze opdracht de schijf-IOP's door het totale aantal schijven in het cluster. Bijvoorbeeld, voor een cluster met 8 knooppunten met Isilon IQ 12000x knooppunten, die 12 schijven per knooppunt hosten, deelt u de schijf-IOPS door 96.
Voor knooppunten uit de X-serie en de NL-serie kunt u schijf-IOPS van 70 of minder verwachten voor 100% willekeurige workflows, of schijf-IOPS van 140 of minder voor 100% sequentiële workflows. Omdat knooppunten uit de NL-serie minder RAM en lagere CPU-snelheden hebben dan knooppunten uit de X-serie, kunnen knooppunten uit de X-serie hogere schijf-IOPS verwerken.
Per knooppunt en per schijf
- Open een SSH-verbinding op een willekeurig knooppunt in het cluster en meld u aan met het "root"-account.
- Voer de volgende opdracht uit om de schijf-IOP's per knooppunt te controleren, wat kan helpen bij het detecteren van schijven die te veel worden gebruikt:
isi statistics query --nodes=all --stats=node.disk.xfers.rate.sum --top
- Voer de volgende opdracht uit om te bepalen hoe u per schijf query's op statistieken kunt uitvoeren:
isi statistics describe --stats=all | grep disk
Bewerkingen in de wachtrij
Een andere manier om te bepalen of schijven te veel worden gebruikt, is door te bepalen hoeveel bewerkingen er voor elke schijf in het cluster in de wachtrij staan. Voor een enkele SMB-workflow kan een wachtrij van 4 een probleem aangeven, terwijl voor NFS-naamruimtebewerkingen met een hoge gelijktijdigheid de wachtrij groter is.
- Open een SSH-verbinding op een willekeurig knooppunt in het cluster en meld u aan met het "root"-account.
- Voer de volgende opdracht uit om te bepalen hoeveel bewerkingen voor elke schijf in het cluster in de wachtrij staan:
isi_for_array -s sysctl hw.iosched | grep total_inqueue
- Bepaal de latentie die wordt veroorzaakt door de wachtrijbewerkingen:
sysctl -aN hw.iosched|grep bios_inqueue|xargs sysctl -D
CPU
CPU-problemen zijn vaak terug te voeren op de bewerkingen die clients op het cluster uitvoeren. Met behulp van de isi statistics kunt u de bewerkingen bepalen die worden uitgevoerd op het cluster, gecatalogiseerd op netwerkprotocol of clientcomputer.
- Open een SSH-verbinding op een willekeurig knooppunt in het cluster en meld u aan met het "root"-account.
- Voer de volgende opdracht uit om te bepalen welke bewerkingen in het netwerk worden uitgevoerd en om te beoordelen welke van deze bewerkingen de meeste tijd in beslag nemen:
isi statistics protocol --orderby=TimeAvg --top
Deze opdrachtuitvoer geeft gedetailleerde statistieken voor alle netwerkprotocollen, ingedeeld op basis van hoe lang het duurt voordat het cluster op clients reageert. Hoewel de resultaten van deze opdracht mogelijk niet aangeven welke bewerking het langzaamst is, kan het u wel in de goede richting wijzen. - Voer de volgende opdracht uit voor meer informatie over CPU-verwerking, zoals de CPU's van welke knooppunten het meest worden gebruikt:
isi statistics system --top
- Voer de volgende opdracht uit om de vier processen op elk knooppunt te verkrijgen die de meeste CPU-resources verbruiken:
isi_for_array -sq 'top -d1|grep PID -A4'
Additional Information
Hier zijn aanbevolen bronnen met betrekking tot dit onderwerp die mogelijk interessant zijn: