PowerScale OneFS: Troubleshooting bei Leistungsproblemen
Zusammenfassung: Beheben Sie die langsame Leistung von PowerScale OneFS mit einem umfassenden Leitfaden zu Netzwerkkonfiguration, Verarbeitungslasten und Überwachung mit InsightIQ, um die Clustereffizienz zu verbessern. ...
Symptome
Clientcomputer werden langsam ausgeführt. Bestimmte Jobs, insbesondere solche, die auf dem Cluster ausgeführt werden, schlagen entweder fehl oder dauern länger als erwartet.
Ursache
Performanceprobleme sind in der Regel auf Netzwerkdatenverkehr, Netzwerkkonfigurationsprobleme, Client- oder Clusterverarbeitungslast oder eine Kombination dieser Faktoren zurückzuführen. In diesem Artikel werden verschiedene effektive Möglichkeiten zur Behebung von Leistungsproblemen beschrieben.
Lösung
Troubleshooting mit InsightIQ
Inhaltsverzeichnis:
- Verwenden von Isilon InsightIQ
- Troubleshooting ohne InsightIQ
- Netzwerkdurchsatz
- Verteilung von Clientverbindungen
- Clusterdurchsatz
- Clusterverarbeitung
- Vorgänge in der Warteschlange
- CPU
Verwenden von Isilon InsightIQ
Die Verwendung von Isilon InsightIQ ist die beste Möglichkeit, die Performance zu überwachen und Performanceprobleme zu beheben.
Mit der virtuellen Isilon InsightIQ-Appliance können Sie die Isilon-Clusteraktivität über flexible, anpassbare Diagrammansichten in der webbasierten InsightIQ-Anwendung überwachen und analysieren. Diese Diagramme bieten detaillierte Informationen über Hardware, Software sowie Dateisystem- und Protokollvorgänge des Clusters. InsightIQ wandelt Daten in visuelle Informationen um, die alle Leistungsausreißer hervorheben und so eine schnelle Diagnose von Engpässen oder die Optimierung von Workflows ermöglichen.
Weitere Informationen zur Verwendung von InsightIQ finden Sie im PowerScale InsightIQ – Info Hub.
Troubleshooting ohne InsightIQ
Wenn Sie InsightIQ nicht verwenden, können Sie verschiedene Befehle ausführen, um Performanceprobleme zu untersuchen. Das Troubleshooting für Performanceprobleme beginnt damit, den Netzwerk- und Clusterdurchsatz zu untersuchen, dann die Clusterverarbeitung und schließlich die CPU-Raten einzelner Nodes.
Netzwerkdurchsatz
Verwenden Sie ein Netzwerktesttool, z. B Iperf oder Iperf3 , um die Durchsatzfunktionen der Cluster- und Clientcomputer in Ihrem Netzwerk zu bestimmen.
Mit Iperfführen Sie die folgenden Befehle auf dem Cluster und Client aus. Diese Befehle definieren eine Fenstergröße, die groß genug ist, um zu erkennen, ob die Netzwerkverbindung eine mögliche Ursache für Latenzprobleme ist.
- Cluster:
iperf -s -w 262144 - Client:
iperf -c <cluster IP> -w 262144
Die Verwendung von Iperf3führen Sie die folgenden Befehle auf dem Cluster und Client aus. Diese Befehle definieren eine Fenstergröße, die groß genug ist, um zu erkennen, ob die Netzwerkverbindung eine mögliche Ursache für Latenzprobleme ist.
- Cluster:
iperf3 -s -w 262144 Client:iperf3 -c <cluster IP> -w 262144
Verteilung von Clientverbindungen
Überprüfen Sie, wie viele NFS-Clients (Network File System) und SMB-Clients (Server Message Block) mit dem Cluster verbunden sind, um sicherzustellen, dass sie keinen Node bevorzugen.
- Öffnen Sie eine SSH-Verbindung auf einem beliebigen Node im Cluster und melden Sie sich mit dem
rootKonto. - Führen Sie
isi statistics query current list --nodes=all --keys=node.clientstats.connected.nfs,node.clientstats.active.nfs -dBefehl zum Überprüfen von NFS-Clients.
Die Ausgabe zeigt die Anzahl der verbundenen Clients pro Node an und wie viele dieser Clients auf jedem Node aktiv sind. - Führen Sie
isi statistics query current list --keys=node.clientstats.connected.smb,node.clientstats.active.smb1,node.clientstats.active.smb2 -n all -dBefehl zum Überprüfen von SMB-Clients.
Die Ausgabe zeigt die Anzahl der verbundenen Clients pro Node an und wie viele dieser Clients auf jedem Node aktiv sind.
Clusterdurchsatz
Bewerten Sie den Clusterdurchsatz, indem Sie Schreib- und Lesetests durchführen, die die Zeit messen, die zum Lesen und Schreiben in eine Datei benötigt wird. Führen Sie mindestens einen Schreibtest und einen Lesetest wie folgt durch.
Schreiben Sie einen Test.
- Öffnen Sie eine SSH-Verbindungauf einem beliebigen Node im Cluster und melden Sie sich mit dem
rootKonto. - Wechseln Sie zum
/ifsVerzeichnis:cd /ifs - Verwenden Sie über die Befehlszeilenschnittstelle (CLI) auf dem Cluster oder auf einem UNIX- oder Linux-Clientcomputer den Befehl
ddzum Schreiben einer neuen Datei in das Cluster.
Führen Sie den folgenden Befehl aus:dd if=/dev/zero of=1GBfile bs=1024k count=1024
Mit diesem Befehl wird eine 1-GB-Beispieldatei erstellt und die Zeit gemeldet, die für das Schreiben auf die Festplatte benötigt wurde. - Extrapolieren Sie aus der Ausgabe dieses Befehls, wie viele MB pro Sekunde in Single-Stream-Workflows auf die Festplatte geschrieben werden können.
- Wenn Sie einen MAC-Client haben und weitere Analysen durchführen möchten,
- Starten Sie die Aktivitätsüberwachung.
- Führen Sie
cat /dev/zero > /pathToFileBefehl, wobeipathToFileDer Dateipfad der Zieldatei.
Mit diesem Befehl können Sie den Durchsatz von Schreibvorgängen auf dem Isilon-Cluster messen. (Obwohl es möglich ist, den BefehlddBefehl von einem MAC-Client aus, können die Ergebnisse inkonsistent sein.) - Überwachen Sie die Ergebnisse des Befehls auf der Registerkarte Netzwerk des Activity Monitor.
Lesen Sie den Test.
Stellen Sie beim Messen des Durchsatzes von Lesevorgängen sicher, dass Sie keine Lesetests für die Datei durchführen, die Sie während des Schreibtests erstellt haben. Da diese Datei zwischengespeichert wurde, wären die Ergebnisse Ihrer Lesetests ungenau. Testen Sie stattdessen den Lesevorgang mit einer Datei, die nicht zwischengespeichert wurde. Suchen Sie eine Datei auf dem Cluster, die größer als 1 GB ist, und verwenden Sie diese Datei im Lesetest.
- Öffnen Sie eine SSH-Verbindung auf einem beliebigen Node im Cluster und melden Sie sich mit dem
rootKonto. - Verwenden Sie über die CLI auf dem Cluster oder auf einem UNIX- oder Linux-Clientcomputer den Befehl
ddzum Lesen einer Datei auf dem Cluster.
Führen Sieden Befehldd if=/pathToLargeFile of=/dev/null bs=1024kBefehl, bei dempathToFileDer Dateipfad der Zieldatei.
Dieser Befehl liest die Zieldatei und meldet die Zeit, die zum Lesen der Datei benötigt wurde. - Wenn Sie einen MAC-Client haben und weitere Analysen durchführen möchten,
- Starten Sie die Aktivitätsüberwachung.
- Führen Sie
time cp /pathToLargeFile > /dev/nullBefehl, bei dempathToFileDer Dateipfad der Zieldatei.
Mit diesem Befehl können Sie den Durchsatz von Lesevorgängen auf dem Isilon-Cluster messen. (Obwohl es möglich ist, den BefehlddBefehl von einem MAC-Client aus, können die Ergebnisse inkonsistent sein.) - Überwachen Sie die Ergebnisse des Befehls auf der Registerkarte Netzwerk des Activity Monitor.
Clusterverarbeitung
Restriping-Jobs.
Vor der Untersuchung der I/O-Vorgänge (Input/Output) (IOPS) des Clusters:
- Bestimmen Sie, welche Jobs auf dem Cluster ausgeführt werden. Wenn Restriping-Jobs wie Auto-Balance, Collect oder MultiScan ausgeführt werden, überlegen Sie, warum diese Jobs ausgeführt werden und ob sie weiterhin ausgeführt werden sollten.
- Berücksichtigen Sie den Typ der verbrauchten Daten. Wenn Clientcomputer mit großen Videodateien oder virtuellen Maschinen (VMs) arbeiten, erfordert der Restriping-Job eine höhere Menge an Festplatten-IOPS als normal.
- Erwägen Sie das vorübergehende Anhalten eines Restriping-Jobs. Dies kann die Performance verbessern und kann eine kurzfristige Lösung für ein Performanceproblem sein.
Festplatten-I/O
Durch die Untersuchung der Festplatten-I/O kann festgestellt werden, ob bestimmte Festplatten überbeansprucht werden.
Nach Cluster
- Öffnen Sie eine SSH-Verbindung auf einem beliebigen Node im Cluster und melden Sie sich mit dem „root“-Konto an.
- Führen Sie
isi statistics pstatBefehl zur Ermittlung der Festplatten-I/O. Teilen Sie die Festplatten-IOPS in der Ausgabe dieses Befehls durch die Gesamtzahl der Festplatten im Cluster. Beispiel: Bei einem Cluster mit 8 Nodes und Isilon IQ 12000x-Nodes, das 12 Laufwerke pro Node hostet, teilen Sie die Festplatten-IOPS durch 96.
Bei Nodes der X-Serie und Nodes der NL-Serie sollten Festplatten-IOPS von 70 oder weniger für 100 % zufällige Workflows oder Festplatten-IOPS von 140 oder weniger für 100 % sequenzielle Workflows erwartet werden. Da Nodes der NL-Serie weniger RAM und niedrigere CPU-Geschwindigkeiten als Nodes der X-Serie haben, können Nodes der X-Serie höhere Festplatten-IOPS verarbeiten.
Nach Node und nach Festplatte
- Öffnen Sie eine SSH-Verbindung auf einem beliebigen Node im Cluster und melden Sie sich mit dem „root“-Konto an.
- Führen Sieden Befehl
isi statistics query current --nodes=all --stats=node.disk.xfers.rate.sum --format=topBefehl zur Ermittlung der Festplatten-IOPS nach Node, was bei der Ermittlung von überbeanspruchten Festplatten helfen kann. - Führen Sie
isi_stats_tool -a get_key_info|grep node.disk.xferBefehl, um zu bestimmen, wie Statistiken pro Festplatte abgefragt werden sollen.
Vorgänge in der Warteschlange
Eine weitere Möglichkeit, festzustellen, ob Festplatten überbeansprucht werden, besteht darin, zu bestimmen, wie viele Vorgänge für jede Festplatte im Cluster in die Warteschlange gestellt werden. Bei einem SMB-basierten Single-Stream-Workflow kann eine Warteschlange von vier auf ein Problem hinweisen, während bei NFS-Namespace-Vorgängen mit hoher Parallelität die Warteschlange größer ist.
- Öffnen Sie eine SSH-Verbindung auf einem beliebigen Node im Cluster und melden Sie sich mit dem
rootKonto. - Führen Sieden Befehl
isi statistics drive list --nodes=all --sort=queued -dBefehl, um zu bestimmen, wie viele Vorgänge für jede Festplatte im Cluster in die Warteschlange eingereiht werden. - Bestimmen Sie, wie lange sich der Vorgang in der Warteschlange befand:
isi statistics drive list --nodes=all --sort=queued -d
CPU
CPU-Probleme lassen sich häufig auf die Vorgänge zurückführen, die Clients auf dem Cluster ausführen. Mithilfe des Befehls isi statistics können Sie die auf dem Cluster ausgeführten Vorgänge bestimmen, katalogisiert nach Netzwerkprotokoll oder Clientcomputer.
- Öffnen Sie eine SSH-Verbindung auf einem beliebigen Node im Cluster und melden Sie sich mit dem
rootKonto. - Führen Sie
isi statistics protocol list --long --totalby Op,proto -d --sort TimeAvg --format top, um zu bestimmen, welche Vorgänge im Netzwerk durchgeführt werden, und zu bewerten, welche dieser Vorgänge die meiste Zeit in Anspruch nehmen.
Diese Befehlsausgabe enthält detaillierte Statistiken für alle Netzwerkprotokolle, organisiert nach der Zeit, die der Cluster benötigt, um auf Clients zu reagieren. Obwohl die Ergebnisse dieses Befehls möglicherweise nicht erkennen, welcher Vorgang am langsamsten ist, kann er Sie in die richtige Richtung weisen. - Führen Sie
isi statistics system --nodes all --format top, um weitere Informationen über die CPU-Verarbeitung zu erhalten, z. B. welche Node-CPUs am häufigsten verwendet werden. - Führen Sie
isi_for_array -sX 'top -u -n |grep PID -A4', um die vier Prozesse auf jedem Node abzurufen, die die meisten CPU-Ressourcen verbrauchen.
Weitere Informationen
Hier sind empfohlene Ressourcen zu diesem Thema, die möglicherweise von Interesse sind: